Skip to content

Commit 33c5321

Browse files
authored
Handle multiple bridge instances within navigator interface (#1848)
* Handle multiple bridge instances within navigator interface * Remove unnecessary if statement
1 parent 8e41549 commit 33c5321

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

injected/src/features/navigator-interface.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import { DDGPromise } from '../utils';
22
import ContentFeature from '../content-feature';
33
import { createPageWorldBridge } from './message-bridge/create-page-world-bridge.js';
44

5+
const store = {};
6+
57
export default class NavigatorInterface extends ContentFeature {
68
load(args) {
79
if (this.matchConditionalFeatureSetting('privilegedDomains').length) {
@@ -35,7 +37,13 @@ export default class NavigatorInterface extends ContentFeature {
3537
* @throws {Error}
3638
*/
3739
createMessageBridge(featureName) {
38-
return createPageWorldBridge(featureName, args.messageSecret);
40+
const existingBridge = store[featureName];
41+
if (existingBridge) return existingBridge;
42+
43+
const bridge = createPageWorldBridge(featureName, args.messageSecret);
44+
45+
store[featureName] = bridge;
46+
return bridge;
3947
},
4048
},
4149
enumerable: true,

0 commit comments

Comments
 (0)