@onekeyfe/cross-inpage-provider-core 0.0.12 → 0.0.13
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/JsBridgeIframe.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { IJsBridgeConfig, IJsBridgeMessagePayload, IPostMessageEventData, IOptio
|
|
|
2
2
|
import { JsBridgeBase } from './JsBridgeBase';
|
|
3
3
|
export declare type ISetupPostMessageListenerOptions = IOptionsWithDebugLogger & {
|
|
4
4
|
bridge?: JsBridgeIframe;
|
|
5
|
+
origin?: string;
|
|
5
6
|
};
|
|
6
7
|
export declare type IPostMessageEventDataIframe = IPostMessageEventData & {
|
|
7
8
|
frameName: string;
|
|
@@ -11,8 +12,10 @@ export declare type IJsBridgeIframeConfig = IJsBridgeConfig & {
|
|
|
11
12
|
selfFrameName: string;
|
|
12
13
|
remoteFrameName: string;
|
|
13
14
|
channel: string;
|
|
15
|
+
targetOrigin?: string;
|
|
14
16
|
};
|
|
15
17
|
declare class JsBridgeIframe extends JsBridgeBase {
|
|
18
|
+
targetOrigin: string;
|
|
16
19
|
constructor(config: IJsBridgeIframeConfig);
|
|
17
20
|
bridgeConfig: IJsBridgeIframeConfig;
|
|
18
21
|
sendAsString: boolean;
|
package/dist/JsBridgeIframe.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
3
3
|
import { JsBridgeBase } from './JsBridgeBase';
|
|
4
|
-
import { fakeDebugLogger } from './index';
|
|
5
4
|
let postMessageListenerAdded = false;
|
|
6
5
|
function setupPostMessageListener(options = {}) {
|
|
7
|
-
const debugLogger = options.debugLogger || fakeDebugLogger;
|
|
8
6
|
if (postMessageListenerAdded) {
|
|
9
7
|
return;
|
|
10
8
|
}
|
|
@@ -13,8 +11,8 @@ function setupPostMessageListener(options = {}) {
|
|
|
13
11
|
window.addEventListener('message', (event) => {
|
|
14
12
|
var _a, _b, _c;
|
|
15
13
|
// TODO source whitelist
|
|
16
|
-
if (event.
|
|
17
|
-
|
|
14
|
+
if (event.origin !== options.origin) {
|
|
15
|
+
return;
|
|
18
16
|
}
|
|
19
17
|
const eventData = event.data;
|
|
20
18
|
const config = (_a = options.bridge) === null || _a === void 0 ? void 0 : _a.bridgeConfig;
|
|
@@ -31,14 +29,17 @@ function setupPostMessageListener(options = {}) {
|
|
|
31
29
|
}
|
|
32
30
|
class JsBridgeIframe extends JsBridgeBase {
|
|
33
31
|
constructor(config) {
|
|
32
|
+
var _a;
|
|
34
33
|
super(config);
|
|
35
34
|
this.sendAsString = false;
|
|
36
35
|
this.isInjected = true;
|
|
37
36
|
this.bridgeConfig = config;
|
|
37
|
+
this.targetOrigin = (_a = config.targetOrigin) !== null && _a !== void 0 ? _a : window.location.origin;
|
|
38
38
|
// receive message
|
|
39
39
|
setupPostMessageListener({
|
|
40
40
|
debugLogger: this.debugLogger,
|
|
41
41
|
bridge: this,
|
|
42
|
+
origin: this.targetOrigin,
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
// send message
|
|
@@ -49,7 +50,7 @@ class JsBridgeIframe extends JsBridgeBase {
|
|
|
49
50
|
payload: payloadObj,
|
|
50
51
|
direction: '',
|
|
51
52
|
};
|
|
52
|
-
this.bridgeConfig.remoteFrame.postMessage(eventData);
|
|
53
|
+
this.bridgeConfig.remoteFrame.postMessage(eventData, this.targetOrigin);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
export { JsBridgeIframe };
|
|
@@ -4,10 +4,8 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.JsBridgeIframe = void 0;
|
|
6
6
|
const JsBridgeBase_1 = require("./JsBridgeBase");
|
|
7
|
-
const index_1 = require("./index");
|
|
8
7
|
let postMessageListenerAdded = false;
|
|
9
8
|
function setupPostMessageListener(options = {}) {
|
|
10
|
-
const debugLogger = options.debugLogger || index_1.fakeDebugLogger;
|
|
11
9
|
if (postMessageListenerAdded) {
|
|
12
10
|
return;
|
|
13
11
|
}
|
|
@@ -16,8 +14,8 @@ function setupPostMessageListener(options = {}) {
|
|
|
16
14
|
window.addEventListener('message', (event) => {
|
|
17
15
|
var _a, _b, _c;
|
|
18
16
|
// TODO source whitelist
|
|
19
|
-
if (event.
|
|
20
|
-
|
|
17
|
+
if (event.origin !== options.origin) {
|
|
18
|
+
return;
|
|
21
19
|
}
|
|
22
20
|
const eventData = event.data;
|
|
23
21
|
const config = (_a = options.bridge) === null || _a === void 0 ? void 0 : _a.bridgeConfig;
|
|
@@ -34,14 +32,17 @@ function setupPostMessageListener(options = {}) {
|
|
|
34
32
|
}
|
|
35
33
|
class JsBridgeIframe extends JsBridgeBase_1.JsBridgeBase {
|
|
36
34
|
constructor(config) {
|
|
35
|
+
var _a;
|
|
37
36
|
super(config);
|
|
38
37
|
this.sendAsString = false;
|
|
39
38
|
this.isInjected = true;
|
|
40
39
|
this.bridgeConfig = config;
|
|
40
|
+
this.targetOrigin = (_a = config.targetOrigin) !== null && _a !== void 0 ? _a : window.location.origin;
|
|
41
41
|
// receive message
|
|
42
42
|
setupPostMessageListener({
|
|
43
43
|
debugLogger: this.debugLogger,
|
|
44
44
|
bridge: this,
|
|
45
|
+
origin: this.targetOrigin,
|
|
45
46
|
});
|
|
46
47
|
}
|
|
47
48
|
// send message
|
|
@@ -52,7 +53,7 @@ class JsBridgeIframe extends JsBridgeBase_1.JsBridgeBase {
|
|
|
52
53
|
payload: payloadObj,
|
|
53
54
|
direction: '',
|
|
54
55
|
};
|
|
55
|
-
this.bridgeConfig.remoteFrame.postMessage(eventData);
|
|
56
|
+
this.bridgeConfig.remoteFrame.postMessage(eventData, this.targetOrigin);
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
exports.JsBridgeIframe = JsBridgeIframe;
|
package/dist/cjs/loggers.js
CHANGED
|
@@ -63,7 +63,7 @@ class FakeDebugLogger extends CrossEventEmitter_1.CrossEventEmitter {
|
|
|
63
63
|
(_a = this[name]) === null || _a === void 0 ? void 0 : _a.call(this, ...args);
|
|
64
64
|
});
|
|
65
65
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
66
|
-
return (_b = (_a = this._externalLogger) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.call(_a, name
|
|
66
|
+
return (_b = (_a = this._externalLogger) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.call(_a, `${name} >>> `, ...args);
|
|
67
67
|
};
|
|
68
68
|
this.initExternalLogInstances();
|
|
69
69
|
}
|
package/dist/cjs/versionInfo.js
CHANGED
package/dist/loggers.js
CHANGED
|
@@ -55,7 +55,7 @@ class FakeDebugLogger extends CrossEventEmitter {
|
|
|
55
55
|
(_a = this[name]) === null || _a === void 0 ? void 0 : _a.call(this, ...args);
|
|
56
56
|
});
|
|
57
57
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
58
|
-
return (_b = (_a = this._externalLogger) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.call(_a, name
|
|
58
|
+
return (_b = (_a = this._externalLogger) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.call(_a, `${name} >>> `, ...args);
|
|
59
59
|
};
|
|
60
60
|
this.initExternalLogInstances();
|
|
61
61
|
}
|
package/dist/versionInfo.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/cross-inpage-provider-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"cross-inpage-provider"
|
|
6
6
|
],
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"build-version-info": "node ./scripts/buildVersionInfo.js"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@onekeyfe/cross-inpage-provider-errors": "^0.0.
|
|
33
|
-
"@onekeyfe/cross-inpage-provider-events": "^0.0.
|
|
34
|
-
"@onekeyfe/cross-inpage-provider-types": "^0.0.
|
|
32
|
+
"@onekeyfe/cross-inpage-provider-errors": "^0.0.13",
|
|
33
|
+
"@onekeyfe/cross-inpage-provider-events": "^0.0.13",
|
|
34
|
+
"@onekeyfe/cross-inpage-provider-types": "^0.0.13",
|
|
35
35
|
"events": "^3.3.0",
|
|
36
36
|
"lodash": "^4.17.21",
|
|
37
37
|
"ms": "^2.1.3"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "2dfe2910cf3a333649382f1124c44f7c53c90ecd"
|
|
40
40
|
}
|