Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(729)

Unified Diff: third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js

Issue 2610963005: [DevTools] Pass the frame payload (Closed)
Patch Set: [DevTools] Pass the frame payload Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js
index eae9251e9005566caaf2e9310077938664f63d03..a3b46a70180efa0c098170084171bd024034c2e7 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js
@@ -129,30 +129,10 @@ SDK.ResourceTreeModel = class extends SDK.SDKModel {
*/
_addFrame(frame, aboutToNavigate) {
this._frames.set(frame.id, frame);
- if (frame.isMainFrame()) {
+ if (frame.isMainFrame())
this.mainFrame = frame;
- this._securityOriginManager.setMainSecurityOrigin(frame.url);
- }
this.dispatchEventToListeners(SDK.ResourceTreeModel.Events.FrameAdded, frame);
- if (!aboutToNavigate)
- this._securityOriginManager.addSecurityOrigin(frame.securityOrigin);
- }
-
- /**
- * @param {!SDK.ResourceTreeFrame} mainFrame
- */
- _handleMainFrameDetached(mainFrame) {
- /**
- * @param {!SDK.ResourceTreeFrame} frame
- * @this {SDK.ResourceTreeModel}
- */
- function removeOriginForFrame(frame) {
- for (var i = 0; i < frame.childFrames.length; ++i)
- removeOriginForFrame.call(this, frame.childFrames[i]);
- if (!frame.isMainFrame())
- this._securityOriginManager.removeSecurityOrigin(frame.securityOrigin);
- }
- removeOriginForFrame.call(this, mainFrame);
+ this._updateSecurityOrigins();
}
/**
@@ -170,7 +150,6 @@ SDK.ResourceTreeModel = class extends SDK.SDKModel {
var parentFrame = parentFrameId ? (this._frames.get(parentFrameId) || null) : null;
var frame = new SDK.ResourceTreeFrame(this, parentFrame, frameId);
if (frame.isMainFrame() && this.mainFrame) {
- this._handleMainFrameDetached(this.mainFrame);
// Navigation to the new backend process.
this._frameDetached(this.mainFrame.id);
}
@@ -194,19 +173,14 @@ SDK.ResourceTreeModel = class extends SDK.SDKModel {
}
this.dispatchEventToListeners(SDK.ResourceTreeModel.Events.FrameWillNavigate, frame);
-
- this._securityOriginManager.removeSecurityOrigin(frame.securityOrigin);
frame._navigate(framePayload);
- var addedOrigin = frame.securityOrigin;
-
this.dispatchEventToListeners(SDK.ResourceTreeModel.Events.FrameNavigated, frame);
+
if (frame.isMainFrame()) {
this.dispatchEventToListeners(SDK.ResourceTreeModel.Events.MainFrameNavigated, frame);
if (Common.moduleSetting('preserveConsoleLog').get())
Common.console.log(Common.UIString('Navigated to %s', frame.url));
}
- if (addedOrigin)
- this._securityOriginManager.addSecurityOrigin(addedOrigin);
// Fill frame with retained resources (the ones loaded using new loader).
var resources = frame.resources();
@@ -215,6 +189,7 @@ SDK.ResourceTreeModel = class extends SDK.SDKModel {
if (frame.isMainFrame())
this.target().setInspectedURL(frame.url);
+ this._updateSecurityOrigins();
}
/**
@@ -229,11 +204,11 @@ SDK.ResourceTreeModel = class extends SDK.SDKModel {
if (!frame)
return;
- this._securityOriginManager.removeSecurityOrigin(frame.securityOrigin);
if (frame.parentFrame)
frame.parentFrame._removeChildFrame(frame);
else
frame._remove();
+ this._updateSecurityOrigins();
}
/**
@@ -451,6 +426,21 @@ SDK.ResourceTreeModel = class extends SDK.SDKModel {
return SDK.ExecutionContext.comparator(a, b);
}
+
+ _updateSecurityOrigins() {
+ var securityOrigins = new Set();
+ var mainSecurityOrigin = null;
+ for (var frame of this._frames.values()) {
+ var origin = frame.securityOrigin;
+ if (!origin)
+ continue;
+ securityOrigins.add(origin);
+ if (frame.isMainFrame())
+ mainSecurityOrigin = origin;
+ }
+ this._securityOriginManager.updateSecurityOrigins(securityOrigins);
+ this._securityOriginManager.setMainSecurityOrigin(mainSecurityOrigin || '');
+ }
};
/** @enum {symbol} */

Powered by Google App Engine
This is Rietveld 408576698