|
@@ -29,10 +29,9 @@ this.frameTree = this.frameTree || (() => {
|
|
|
const TIMEOUT_INIT_REQUEST_MESSAGE = 500;
|
|
const TIMEOUT_INIT_REQUEST_MESSAGE = 500;
|
|
|
const TOP_WINDOW = isTopWindow(window);
|
|
const TOP_WINDOW = isTopWindow(window);
|
|
|
|
|
|
|
|
- let sessions, windowId;
|
|
|
|
|
|
|
+ let sessions = new Map(), windowId;
|
|
|
|
|
|
|
|
if (TOP_WINDOW) {
|
|
if (TOP_WINDOW) {
|
|
|
- sessions = new Map();
|
|
|
|
|
windowId = "0";
|
|
windowId = "0";
|
|
|
}
|
|
}
|
|
|
addEventListener("message", event => {
|
|
addEventListener("message", event => {
|
|
@@ -88,7 +87,7 @@ this.frameTree = this.frameTree || (() => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function initResponse(message) {
|
|
function initResponse(message) {
|
|
|
- const windowData = top.sessions.get(message.sessionId);
|
|
|
|
|
|
|
+ const windowData = sessions.get(message.sessionId);
|
|
|
if (windowData) {
|
|
if (windowData) {
|
|
|
message.framesData.forEach(messageFrameData => {
|
|
message.framesData.forEach(messageFrameData => {
|
|
|
let frameData = windowData.frames.find(frameData => messageFrameData.windowId == frameData.windowId);
|
|
let frameData = windowData.frames.find(frameData => messageFrameData.windowId == frameData.windowId);
|
|
@@ -106,7 +105,7 @@ this.frameTree = this.frameTree || (() => {
|
|
|
});
|
|
});
|
|
|
const remainingFrames = windowData.frames.filter(frameData => !frameData.processed).length;
|
|
const remainingFrames = windowData.frames.filter(frameData => !frameData.processed).length;
|
|
|
if (!remainingFrames) {
|
|
if (!remainingFrames) {
|
|
|
- top.sessions.delete(message.sessionId);
|
|
|
|
|
|
|
+ sessions.delete(message.sessionId);
|
|
|
windowData.resolve(windowData.frames.sort((frame1, frame2) => frame2.windowId.split(".").length - frame1.windowId.split(".").length));
|
|
windowData.resolve(windowData.frames.sort((frame1, frame2) => frame2.windowId.split(".").length - frame1.windowId.split(".").length));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|