Skip to content

Commit 5564ef9

Browse files
committed
Prepare 1.0.3 release
1 parent e6a13a1 commit 5564ef9

4 files changed

Lines changed: 14 additions & 11 deletions

File tree

CHANGELOG

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
iframe-worker-1.0.3 (2023-02-08)
2+
3+
* Improved implementation by extending EventTarget
4+
* Removed more code unnecessary for shimming
5+
16
iframe-worker-1.0.2 (2022-12-27)
27

38
* Reduced size of shim to 765b through code golfing

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
# iframe-worker
1616

17-
A tiny [WebWorker] shim for `file://` in `732b` – no dependencies.
17+
A tiny [WebWorker] shim for `file://` in `690b` – no dependencies.
1818

1919
---
2020

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "iframe-worker",
33
"version": "1.0.2",
4-
"description": "A tiny WebWorker shim for file:// in 732b",
4+
"description": "A tiny WebWorker shim for file:// in 690b",
55
"keywords": [
66
"webworker",
77
"polyfill",

src/worker/index.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class IFrameWorker extends EventTarget implements Worker {
6464

6565
/* Create iframe to host the worker script */
6666
const iframe = document.createElement("iframe")
67-
iframe.width = iframe.height = iframe.frameBorder = "0"
67+
iframe.hidden = true
6868
document.body.appendChild(this.iframe = iframe)
6969

7070
/* Initialize runtime and worker script */
@@ -82,15 +82,15 @@ export class IFrameWorker extends EventTarget implements Worker {
8282
"}))" +
8383
"})" +
8484
"</script>" +
85-
`<script src="${url}?${+Date.now()}"></script>` +
85+
`<script src=${url}?${+Date.now()}></script>` +
8686
"</body>" +
8787
"</html>"
8888
)
8989
this.w.document.close()
9090

9191
/* Register internal listeners and track iframe state */
92-
window.onmessage = this.m
93-
window.onerror = this.e as OnErrorEventHandler
92+
onmessage = this.m
93+
onerror = this.e as OnErrorEventHandler
9494
this.r = new Promise((resolve, reject) => {
9595
this.w.onload = resolve
9696
this.w.onerror = reject
@@ -102,9 +102,7 @@ export class IFrameWorker extends EventTarget implements Worker {
102102
*/
103103
public terminate(): void {
104104
document.body.removeChild(this.iframe)
105-
106-
/* Unregister internal listeners */
107-
window.onmessage = window.onerror = null
105+
onmessage = onerror = null
108106
}
109107

110108
/**
@@ -141,7 +139,7 @@ export class IFrameWorker extends EventTarget implements Worker {
141139
*/
142140
protected m = (ev: MessageEvent): void => {
143141
if (ev.source === this.w) {
144-
ev.stopImmediatePropagation()
142+
// ev.stopImmediatePropagation() // doesn't seem necessary
145143
this.dispatchEvent(new MessageEvent("message", { data: ev.data }))
146144
if (this.onmessage)
147145
this.onmessage(ev)
@@ -163,7 +161,7 @@ export class IFrameWorker extends EventTarget implements Worker {
163161
error?: Error
164162
): void => {
165163
/* istanbul ignore else: will terminate jasmine */
166-
if (filename === this.url.toString()) {
164+
if (filename === `${this.url}`) {
167165
const ev = new ErrorEvent("error", {
168166
message, filename, lineno, colno, error
169167
})

0 commit comments

Comments
 (0)