|
|
@@ -113,6 +113,9 @@ this.frameTree = this.frameTree || (() => {
|
|
|
function initResponse(message) {
|
|
|
const windowData = sessions.get(message.sessionId);
|
|
|
if (windowData) {
|
|
|
+ if (message.requestedFrameId) {
|
|
|
+ windowData.requestedFrameId = message.requestedFrameId;
|
|
|
+ }
|
|
|
message.framesData.forEach(messageFrameData => {
|
|
|
let frameData = windowData.frames.find(frameData => messageFrameData.windowId == frameData.windowId);
|
|
|
if (!frameData) {
|
|
|
@@ -137,13 +140,19 @@ this.frameTree = this.frameTree || (() => {
|
|
|
if (!remainingFrames) {
|
|
|
windowData.frames = windowData.frames.sort((frame1, frame2) => frame2.windowId.split(WINDOW_ID_SEPARATOR).length - frame1.windowId.split(WINDOW_ID_SEPARATOR).length);
|
|
|
if (windowData.resolve) {
|
|
|
+ if (windowData.requestedFrameId) {
|
|
|
+ windowData.frames.forEach(frameData => {
|
|
|
+ if (frameData.windowId == windowData.requestedFrameId) {
|
|
|
+ frameData.requestedFrame = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
windowData.resolve(windowData.frames);
|
|
|
- sessions.delete(message.sessionId);
|
|
|
}
|
|
|
+ sessions.delete(message.sessionId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
function processFrames(frameElements, options, parentWindowId, sessionId) {
|
|
|
processFramesAsync(frameElements, options, parentWindowId, sessionId);
|
|
|
if (frameElements.length) {
|
|
|
@@ -187,7 +196,7 @@ this.frameTree = this.frameTree || (() => {
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- sendInitResponse({ framesData, sessionId });
|
|
|
+ sendInitResponse({ framesData, sessionId, requestedFrameId: this.frameTree.requestedFrameId && parentWindowId });
|
|
|
}
|
|
|
|
|
|
function cleanupFrames(frameElements, options, parentWindowId, sessionId) {
|