@meshconnect/uwc-bridge-parent 1.4.1 → 1.4.2-snapshot.938f764
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BridgeParent.d.ts.map +1 -1
- package/dist/BridgeParent.js +41 -5
- package/dist/BridgeParent.js.map +1 -1
- package/dist/BridgeParent.test.js +79 -3
- package/dist/BridgeParent.test.js.map +1 -1
- package/package.json +1 -1
- package/src/BridgeParent.test.ts +108 -3
- package/src/BridgeParent.ts +51 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"AAOA,OAAO,EAAc,WAAW,EAAwB,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;
|
|
1
|
+
{"version":3,"file":"BridgeParent.d.ts","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
|
package/dist/BridgeParent.js
CHANGED
|
@@ -5,6 +5,24 @@ import { Connection, Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
|
5
5
|
import { StandardWalletAdapter } from '@solana/wallet-standard-wallet-adapter-base';
|
|
6
6
|
import { BaseWalletAdapter } from './BaseWalletAdapter';
|
|
7
7
|
import { signSolanaBytes } from './signSolanaBytes';
|
|
8
|
+
// Only run the wrapped listener for messages from the mesh iframe's window.
|
|
9
|
+
// comlink validates event.origin but never event.source, so this closes the
|
|
10
|
+
// same-origin sibling-frame gap. Real bridge traffic always carries
|
|
11
|
+
// source === the iframe's contentWindow.
|
|
12
|
+
function wrapWithSourceGuard(listener, expectedSource) {
|
|
13
|
+
return (event) => {
|
|
14
|
+
if (event.source !== expectedSource) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (typeof listener === 'function') {
|
|
18
|
+
// Preserve native dispatch semantics (this === currentTarget).
|
|
19
|
+
listener.call(event.currentTarget, event);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
listener.handleEvent(event);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
8
26
|
export class BridgeParent {
|
|
9
27
|
iframe;
|
|
10
28
|
parentAPI = null;
|
|
@@ -73,6 +91,9 @@ export class BridgeParent {
|
|
|
73
91
|
return;
|
|
74
92
|
}
|
|
75
93
|
this.endpoint = endpoint;
|
|
94
|
+
// Captured now because destroy() nulls this.iframe; the source guard closes
|
|
95
|
+
// over this reference.
|
|
96
|
+
const expectedSource = this.iframe.contentWindow;
|
|
76
97
|
// Comlink's expose() registers a 'message' listener on the endpoint that it
|
|
77
98
|
// only removes on a child RELEASE — it returns no teardown handle. Capture it
|
|
78
99
|
// so destroy() can detach it. Otherwise a closed session leaves a stale
|
|
@@ -80,17 +101,32 @@ export class BridgeParent {
|
|
|
80
101
|
// answers the child's discovery reads first (listeners fire in registration
|
|
81
102
|
// order) with empty arrays — making injected wallets (e.g. TronLink) look
|
|
82
103
|
// absent and forcing a QR fallback.
|
|
104
|
+
// We register a source-guarded wrapper in comlink's place, so both sides
|
|
105
|
+
// must be translated: store the wrapper for destroy(), and map comlink's
|
|
106
|
+
// original listener → wrapper so comlink's own RELEASE teardown
|
|
107
|
+
// (removeEventListener('message', original)) still detaches the wrapper.
|
|
108
|
+
// Without the remove translation a RELEASE would leave a zombie listener.
|
|
109
|
+
const guardedByOriginal = new WeakMap();
|
|
83
110
|
const originalAddEventListener = endpoint.addEventListener.bind(endpoint);
|
|
111
|
+
const originalRemoveEventListener = endpoint.removeEventListener.bind(endpoint);
|
|
84
112
|
endpoint.addEventListener = (type, listener, options) => {
|
|
85
113
|
if (type === 'message') {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
114
|
+
const guardedListener = wrapWithSourceGuard(listener, expectedSource);
|
|
115
|
+
guardedByOriginal.set(listener, guardedListener);
|
|
116
|
+
this.exposeListeners.push({ listener: guardedListener, options });
|
|
117
|
+
originalAddEventListener(type, guardedListener, options);
|
|
118
|
+
return;
|
|
90
119
|
}
|
|
91
120
|
originalAddEventListener(type, listener, options);
|
|
92
121
|
};
|
|
93
|
-
|
|
122
|
+
endpoint.removeEventListener = (type, listener, options) => {
|
|
123
|
+
const target = type === 'message'
|
|
124
|
+
? (guardedByOriginal.get(listener) ?? listener)
|
|
125
|
+
: listener;
|
|
126
|
+
originalRemoveEventListener(type, target, options);
|
|
127
|
+
};
|
|
128
|
+
// Restrict inbound RPC to the mesh iframe origin (comlink defaults to ["*"]).
|
|
129
|
+
Comlink.expose(this.parentAPI, endpoint, [iframeOrigin]);
|
|
94
130
|
// Populate EIP-6963 results in the background. The child polls the
|
|
95
131
|
// ready flag; it will see them on the next read after we flip it.
|
|
96
132
|
eip6963Promise.then(eip6963Wallets => {
|
package/dist/BridgeParent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeParent.js","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BridgeParent.js","sourceRoot":"","sources":["../src/BridgeParent.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,51 @@ describe('BridgeParent', () => {
|
|
|
95
95
|
expect(Comlink.expose).not.toHaveBeenCalled();
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
|
+
describe('inbound origin/source hardening', () => {
|
|
99
|
+
it('restricts comlink expose() to the iframe origin (not the "*" default)', async () => {
|
|
100
|
+
const Comlink = await import('comlink');
|
|
101
|
+
const { BridgeParent } = await import('./BridgeParent');
|
|
102
|
+
new BridgeParent(mockIframe);
|
|
103
|
+
await vi.advanceTimersByTimeAsync(200);
|
|
104
|
+
// mockIframe.src is https://child.example.com/page → origin only.
|
|
105
|
+
expect(Comlink.expose).toHaveBeenCalledWith(expect.anything(), expect.anything(), ['https://child.example.com']);
|
|
106
|
+
});
|
|
107
|
+
it('drops a message whose source is not the iframe window', async () => {
|
|
108
|
+
const Comlink = await import('comlink');
|
|
109
|
+
const { BridgeParent } = await import('./BridgeParent');
|
|
110
|
+
// Mirror how real comlink registers its endpoint listener.
|
|
111
|
+
const exposedListener = vi.fn();
|
|
112
|
+
vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
|
|
113
|
+
const ep = endpoint;
|
|
114
|
+
ep.addEventListener('message', exposedListener);
|
|
115
|
+
});
|
|
116
|
+
new BridgeParent(mockIframe);
|
|
117
|
+
await vi.advanceTimersByTimeAsync(200);
|
|
118
|
+
// A foreign window (different reference than mockIframe.contentWindow).
|
|
119
|
+
const foreignWindow = {};
|
|
120
|
+
const evt = new MessageEvent('message', { data: { id: 1 } });
|
|
121
|
+
Object.defineProperty(evt, 'source', { value: foreignWindow });
|
|
122
|
+
window.dispatchEvent(evt);
|
|
123
|
+
expect(exposedListener).not.toHaveBeenCalled();
|
|
124
|
+
});
|
|
125
|
+
it('delivers a message that comes from the iframe window', async () => {
|
|
126
|
+
const Comlink = await import('comlink');
|
|
127
|
+
const { BridgeParent } = await import('./BridgeParent');
|
|
128
|
+
const exposedListener = vi.fn();
|
|
129
|
+
vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
|
|
130
|
+
const ep = endpoint;
|
|
131
|
+
ep.addEventListener('message', exposedListener);
|
|
132
|
+
});
|
|
133
|
+
new BridgeParent(mockIframe);
|
|
134
|
+
await vi.advanceTimersByTimeAsync(200);
|
|
135
|
+
const evt = new MessageEvent('message', { data: { id: 1 } });
|
|
136
|
+
Object.defineProperty(evt, 'source', {
|
|
137
|
+
value: mockIframe.contentWindow
|
|
138
|
+
});
|
|
139
|
+
window.dispatchEvent(evt);
|
|
140
|
+
expect(exposedListener).toHaveBeenCalledTimes(1);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
98
143
|
describe('destroy', () => {
|
|
99
144
|
it('detaches from window the listener expose() registered (no zombie across sessions)', async () => {
|
|
100
145
|
const Comlink = await import('comlink');
|
|
@@ -110,14 +155,45 @@ describe('BridgeParent', () => {
|
|
|
110
155
|
});
|
|
111
156
|
const bridge = new BridgeParent(mockIframe);
|
|
112
157
|
await vi.advanceTimersByTimeAsync(200);
|
|
113
|
-
// Live before teardown: a window 'message' reaches the
|
|
114
|
-
|
|
158
|
+
// Live before teardown: a window 'message' from the iframe reaches the
|
|
159
|
+
// listener (source must match — the guard drops anything else).
|
|
160
|
+
const liveEvt = new MessageEvent('message', { data: { id: 1 } });
|
|
161
|
+
Object.defineProperty(liveEvt, 'source', {
|
|
162
|
+
value: mockIframe.contentWindow
|
|
163
|
+
});
|
|
164
|
+
window.dispatchEvent(liveEvt);
|
|
115
165
|
expect(exposedListener).toHaveBeenCalledTimes(1);
|
|
116
166
|
bridge.destroy();
|
|
117
167
|
// Gone after teardown: the zombie no longer answers.
|
|
118
|
-
|
|
168
|
+
const deadEvt = new MessageEvent('message', { data: { id: 2 } });
|
|
169
|
+
Object.defineProperty(deadEvt, 'source', {
|
|
170
|
+
value: mockIframe.contentWindow
|
|
171
|
+
});
|
|
172
|
+
window.dispatchEvent(deadEvt);
|
|
119
173
|
expect(exposedListener).toHaveBeenCalledTimes(1);
|
|
120
174
|
});
|
|
175
|
+
it('detaches the guarded wrapper when comlink removes its ORIGINAL listener (RELEASE teardown)', async () => {
|
|
176
|
+
const Comlink = await import('comlink');
|
|
177
|
+
const { BridgeParent } = await import('./BridgeParent');
|
|
178
|
+
// We register a source-guarded wrapper, not comlink's own callback. On a
|
|
179
|
+
// child RELEASE comlink calls removeEventListener('message', <original>),
|
|
180
|
+
// so removeEventListener must translate the original back to the wrapper —
|
|
181
|
+
// otherwise the wrapper stays attached as a zombie.
|
|
182
|
+
const exposedListener = vi.fn();
|
|
183
|
+
let ep;
|
|
184
|
+
vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
|
|
185
|
+
ep = endpoint;
|
|
186
|
+
ep.addEventListener('message', exposedListener);
|
|
187
|
+
});
|
|
188
|
+
new BridgeParent(mockIframe);
|
|
189
|
+
await vi.advanceTimersByTimeAsync(200);
|
|
190
|
+
// comlink's RELEASE removal uses its ORIGINAL callback reference.
|
|
191
|
+
ep.removeEventListener('message', exposedListener);
|
|
192
|
+
const evt = new MessageEvent('message', { data: { id: 1 } });
|
|
193
|
+
Object.defineProperty(evt, 'source', { value: mockIframe.contentWindow });
|
|
194
|
+
window.dispatchEvent(evt);
|
|
195
|
+
expect(exposedListener).not.toHaveBeenCalled();
|
|
196
|
+
});
|
|
121
197
|
it('resets readiness flags so a stale read cannot report ready', async () => {
|
|
122
198
|
const Comlink = await import('comlink');
|
|
123
199
|
const { BridgeParent } = await import('./BridgeParent');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeParent.test.js","sourceRoot":"","sources":["../src/BridgeParent.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BridgeParent.test.js","sourceRoot":"","sources":["../src/BridgeParent.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/BridgeParent.test.ts
CHANGED
|
@@ -131,6 +131,72 @@ describe('BridgeParent', () => {
|
|
|
131
131
|
})
|
|
132
132
|
})
|
|
133
133
|
|
|
134
|
+
describe('inbound origin/source hardening', () => {
|
|
135
|
+
it('restricts comlink expose() to the iframe origin (not the "*" default)', async () => {
|
|
136
|
+
const Comlink = await import('comlink')
|
|
137
|
+
const { BridgeParent } = await import('./BridgeParent')
|
|
138
|
+
|
|
139
|
+
new BridgeParent(mockIframe)
|
|
140
|
+
await vi.advanceTimersByTimeAsync(200)
|
|
141
|
+
|
|
142
|
+
// mockIframe.src is https://child.example.com/page → origin only.
|
|
143
|
+
expect(Comlink.expose).toHaveBeenCalledWith(
|
|
144
|
+
expect.anything(),
|
|
145
|
+
expect.anything(),
|
|
146
|
+
['https://child.example.com']
|
|
147
|
+
)
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
it('drops a message whose source is not the iframe window', async () => {
|
|
151
|
+
const Comlink = await import('comlink')
|
|
152
|
+
const { BridgeParent } = await import('./BridgeParent')
|
|
153
|
+
|
|
154
|
+
// Mirror how real comlink registers its endpoint listener.
|
|
155
|
+
const exposedListener = vi.fn()
|
|
156
|
+
vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
|
|
157
|
+
const ep = endpoint as {
|
|
158
|
+
addEventListener: (type: string, listener: unknown) => void
|
|
159
|
+
}
|
|
160
|
+
ep.addEventListener('message', exposedListener)
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
new BridgeParent(mockIframe)
|
|
164
|
+
await vi.advanceTimersByTimeAsync(200)
|
|
165
|
+
|
|
166
|
+
// A foreign window (different reference than mockIframe.contentWindow).
|
|
167
|
+
const foreignWindow = {} as Window
|
|
168
|
+
const evt = new MessageEvent('message', { data: { id: 1 } })
|
|
169
|
+
Object.defineProperty(evt, 'source', { value: foreignWindow })
|
|
170
|
+
window.dispatchEvent(evt)
|
|
171
|
+
|
|
172
|
+
expect(exposedListener).not.toHaveBeenCalled()
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
it('delivers a message that comes from the iframe window', async () => {
|
|
176
|
+
const Comlink = await import('comlink')
|
|
177
|
+
const { BridgeParent } = await import('./BridgeParent')
|
|
178
|
+
|
|
179
|
+
const exposedListener = vi.fn()
|
|
180
|
+
vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
|
|
181
|
+
const ep = endpoint as {
|
|
182
|
+
addEventListener: (type: string, listener: unknown) => void
|
|
183
|
+
}
|
|
184
|
+
ep.addEventListener('message', exposedListener)
|
|
185
|
+
})
|
|
186
|
+
|
|
187
|
+
new BridgeParent(mockIframe)
|
|
188
|
+
await vi.advanceTimersByTimeAsync(200)
|
|
189
|
+
|
|
190
|
+
const evt = new MessageEvent('message', { data: { id: 1 } })
|
|
191
|
+
Object.defineProperty(evt, 'source', {
|
|
192
|
+
value: mockIframe.contentWindow
|
|
193
|
+
})
|
|
194
|
+
window.dispatchEvent(evt)
|
|
195
|
+
|
|
196
|
+
expect(exposedListener).toHaveBeenCalledTimes(1)
|
|
197
|
+
})
|
|
198
|
+
})
|
|
199
|
+
|
|
134
200
|
describe('destroy', () => {
|
|
135
201
|
it('detaches from window the listener expose() registered (no zombie across sessions)', async () => {
|
|
136
202
|
const Comlink = await import('comlink')
|
|
@@ -151,17 +217,56 @@ describe('BridgeParent', () => {
|
|
|
151
217
|
const bridge = new BridgeParent(mockIframe)
|
|
152
218
|
await vi.advanceTimersByTimeAsync(200)
|
|
153
219
|
|
|
154
|
-
// Live before teardown: a window 'message' reaches the
|
|
155
|
-
|
|
220
|
+
// Live before teardown: a window 'message' from the iframe reaches the
|
|
221
|
+
// listener (source must match — the guard drops anything else).
|
|
222
|
+
const liveEvt = new MessageEvent('message', { data: { id: 1 } })
|
|
223
|
+
Object.defineProperty(liveEvt, 'source', {
|
|
224
|
+
value: mockIframe.contentWindow
|
|
225
|
+
})
|
|
226
|
+
window.dispatchEvent(liveEvt)
|
|
156
227
|
expect(exposedListener).toHaveBeenCalledTimes(1)
|
|
157
228
|
|
|
158
229
|
bridge.destroy()
|
|
159
230
|
|
|
160
231
|
// Gone after teardown: the zombie no longer answers.
|
|
161
|
-
|
|
232
|
+
const deadEvt = new MessageEvent('message', { data: { id: 2 } })
|
|
233
|
+
Object.defineProperty(deadEvt, 'source', {
|
|
234
|
+
value: mockIframe.contentWindow
|
|
235
|
+
})
|
|
236
|
+
window.dispatchEvent(deadEvt)
|
|
162
237
|
expect(exposedListener).toHaveBeenCalledTimes(1)
|
|
163
238
|
})
|
|
164
239
|
|
|
240
|
+
it('detaches the guarded wrapper when comlink removes its ORIGINAL listener (RELEASE teardown)', async () => {
|
|
241
|
+
const Comlink = await import('comlink')
|
|
242
|
+
const { BridgeParent } = await import('./BridgeParent')
|
|
243
|
+
|
|
244
|
+
// We register a source-guarded wrapper, not comlink's own callback. On a
|
|
245
|
+
// child RELEASE comlink calls removeEventListener('message', <original>),
|
|
246
|
+
// so removeEventListener must translate the original back to the wrapper —
|
|
247
|
+
// otherwise the wrapper stays attached as a zombie.
|
|
248
|
+
const exposedListener = vi.fn()
|
|
249
|
+
let ep!: {
|
|
250
|
+
addEventListener: (type: string, listener: unknown) => void
|
|
251
|
+
removeEventListener: (type: string, listener: unknown) => void
|
|
252
|
+
}
|
|
253
|
+
vi.mocked(Comlink.expose).mockImplementationOnce((_api, endpoint) => {
|
|
254
|
+
ep = endpoint as typeof ep
|
|
255
|
+
ep.addEventListener('message', exposedListener)
|
|
256
|
+
})
|
|
257
|
+
|
|
258
|
+
new BridgeParent(mockIframe)
|
|
259
|
+
await vi.advanceTimersByTimeAsync(200)
|
|
260
|
+
|
|
261
|
+
// comlink's RELEASE removal uses its ORIGINAL callback reference.
|
|
262
|
+
ep.removeEventListener('message', exposedListener)
|
|
263
|
+
|
|
264
|
+
const evt = new MessageEvent('message', { data: { id: 1 } })
|
|
265
|
+
Object.defineProperty(evt, 'source', { value: mockIframe.contentWindow })
|
|
266
|
+
window.dispatchEvent(evt)
|
|
267
|
+
expect(exposedListener).not.toHaveBeenCalled()
|
|
268
|
+
})
|
|
269
|
+
|
|
165
270
|
it('resets readiness flags so a stale read cannot report ready', async () => {
|
|
166
271
|
const Comlink = await import('comlink')
|
|
167
272
|
const { BridgeParent } = await import('./BridgeParent')
|
package/src/BridgeParent.ts
CHANGED
|
@@ -19,6 +19,27 @@ type EndpointMessageListener = Parameters<
|
|
|
19
19
|
Comlink.Endpoint['addEventListener']
|
|
20
20
|
>[1]
|
|
21
21
|
|
|
22
|
+
// Only run the wrapped listener for messages from the mesh iframe's window.
|
|
23
|
+
// comlink validates event.origin but never event.source, so this closes the
|
|
24
|
+
// same-origin sibling-frame gap. Real bridge traffic always carries
|
|
25
|
+
// source === the iframe's contentWindow.
|
|
26
|
+
function wrapWithSourceGuard(
|
|
27
|
+
listener: EndpointMessageListener,
|
|
28
|
+
expectedSource: Window | null
|
|
29
|
+
): EndpointMessageListener {
|
|
30
|
+
return (event: Event): void => {
|
|
31
|
+
if ((event as MessageEvent).source !== expectedSource) {
|
|
32
|
+
return
|
|
33
|
+
}
|
|
34
|
+
if (typeof listener === 'function') {
|
|
35
|
+
// Preserve native dispatch semantics (this === currentTarget).
|
|
36
|
+
listener.call(event.currentTarget, event)
|
|
37
|
+
} else {
|
|
38
|
+
listener.handleEvent(event)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
22
43
|
export interface EthereumProvider {
|
|
23
44
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
45
|
request: (args: { method: string; params?: unknown[] }) => Promise<any>
|
|
@@ -206,6 +227,10 @@ export class BridgeParent {
|
|
|
206
227
|
}
|
|
207
228
|
this.endpoint = endpoint
|
|
208
229
|
|
|
230
|
+
// Captured now because destroy() nulls this.iframe; the source guard closes
|
|
231
|
+
// over this reference.
|
|
232
|
+
const expectedSource = this.iframe.contentWindow
|
|
233
|
+
|
|
209
234
|
// Comlink's expose() registers a 'message' listener on the endpoint that it
|
|
210
235
|
// only removes on a child RELEASE — it returns no teardown handle. Capture it
|
|
211
236
|
// so destroy() can detach it. Otherwise a closed session leaves a stale
|
|
@@ -213,22 +238,43 @@ export class BridgeParent {
|
|
|
213
238
|
// answers the child's discovery reads first (listeners fire in registration
|
|
214
239
|
// order) with empty arrays — making injected wallets (e.g. TronLink) look
|
|
215
240
|
// absent and forcing a QR fallback.
|
|
241
|
+
// We register a source-guarded wrapper in comlink's place, so both sides
|
|
242
|
+
// must be translated: store the wrapper for destroy(), and map comlink's
|
|
243
|
+
// original listener → wrapper so comlink's own RELEASE teardown
|
|
244
|
+
// (removeEventListener('message', original)) still detaches the wrapper.
|
|
245
|
+
// Without the remove translation a RELEASE would leave a zombie listener.
|
|
246
|
+
const guardedByOriginal = new WeakMap<object, EndpointMessageListener>()
|
|
216
247
|
const originalAddEventListener = endpoint.addEventListener.bind(endpoint)
|
|
248
|
+
const originalRemoveEventListener =
|
|
249
|
+
endpoint.removeEventListener.bind(endpoint)
|
|
217
250
|
endpoint.addEventListener = (
|
|
218
251
|
type: string,
|
|
219
252
|
listener: EndpointMessageListener,
|
|
220
253
|
options?: EndpointAddEventListenerOptions
|
|
221
254
|
): void => {
|
|
222
255
|
if (type === 'message') {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
256
|
+
const guardedListener = wrapWithSourceGuard(listener, expectedSource)
|
|
257
|
+
guardedByOriginal.set(listener as object, guardedListener)
|
|
258
|
+
this.exposeListeners.push({ listener: guardedListener, options })
|
|
259
|
+
originalAddEventListener(type, guardedListener, options)
|
|
260
|
+
return
|
|
227
261
|
}
|
|
228
262
|
originalAddEventListener(type, listener, options)
|
|
229
263
|
}
|
|
264
|
+
endpoint.removeEventListener = (
|
|
265
|
+
type: string,
|
|
266
|
+
listener: EndpointMessageListener,
|
|
267
|
+
options?: EndpointAddEventListenerOptions
|
|
268
|
+
): void => {
|
|
269
|
+
const target =
|
|
270
|
+
type === 'message'
|
|
271
|
+
? (guardedByOriginal.get(listener as object) ?? listener)
|
|
272
|
+
: listener
|
|
273
|
+
originalRemoveEventListener(type, target, options)
|
|
274
|
+
}
|
|
230
275
|
|
|
231
|
-
|
|
276
|
+
// Restrict inbound RPC to the mesh iframe origin (comlink defaults to ["*"]).
|
|
277
|
+
Comlink.expose(this.parentAPI, endpoint, [iframeOrigin])
|
|
232
278
|
|
|
233
279
|
// Populate EIP-6963 results in the background. The child polls the
|
|
234
280
|
// ready flag; it will see them on the next read after we flip it.
|