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

Unified Diff: third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js

Issue 2122353002: [DevTools] Make resource tree model optional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments Created 4 years, 4 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/bindings/NetworkProject.js
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js b/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
index 6adf7e31a578bbc5d979d662f98fe60959fbdd9b..2df03dfa8f970779587913fa4ba04403cbe8c9ab 100644
--- a/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
+++ b/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
@@ -49,7 +49,7 @@ WebInspector.NetworkProjectManager.prototype = {
*/
targetAdded: function(target)
{
- new WebInspector.NetworkProject(target, this._workspace, this._networkMapping);
+ new WebInspector.NetworkProject(target, this._workspace, this._networkMapping, WebInspector.ResourceTreeModel.fromTarget(target));
},
/**
@@ -68,31 +68,41 @@ WebInspector.NetworkProjectManager.prototype = {
* @param {!WebInspector.Target} target
* @param {!WebInspector.Workspace} workspace
* @param {!WebInspector.NetworkMapping} networkMapping
+ * @param {?WebInspector.ResourceTreeModel} resourceTreeModel
*/
-WebInspector.NetworkProject = function(target, workspace, networkMapping)
+WebInspector.NetworkProject = function(target, workspace, networkMapping, resourceTreeModel)
{
WebInspector.SDKObject.call(this, target);
this._workspace = workspace;
this._networkMapping = networkMapping;
/** @type {!Map<string, !WebInspector.ContentProviderBasedProject>} */
this._workspaceProjects = new Map();
+ this._resourceTreeModel = resourceTreeModel;
target[WebInspector.NetworkProject._networkProjectSymbol] = this;
- target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
- target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameWillNavigate, this._frameWillNavigate, this);
- target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this);
+ this._eventListeners = [];
+
+ if (resourceTreeModel) {
+ this._eventListeners.push(
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this),
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameWillNavigate, this._frameWillNavigate, this),
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this))
+ }
var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
if (debuggerModel) {
- debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedScriptSource, this._parsedScriptSource, this);
- debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.FailedToParseScriptSource, this._parsedScriptSource, this);
+ this._eventListeners.push(
+ debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.ParsedScriptSource, this._parsedScriptSource, this),
+ debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.FailedToParseScriptSource, this._parsedScriptSource, this));
}
var cssModel = WebInspector.CSSModel.fromTarget(target);
if (cssModel) {
- cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
- cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
+ this._eventListeners.push(
+ cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this),
+ cssModel.addEventListener(WebInspector.CSSModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this));
}
- target.targetManager().addEventListener(WebInspector.TargetManager.Events.SuspendStateChanged, this._suspendStateChanged, this);
+ this._eventListeners.push(
+ target.targetManager().addEventListener(WebInspector.TargetManager.Events.SuspendStateChanged, this._suspendStateChanged, this));
}
WebInspector.NetworkProject._networkProjectSymbol = Symbol("networkProject");
@@ -166,40 +176,6 @@ WebInspector.NetworkProject.uiSourceCodeMimeType = function(uiSourceCode)
return mimeType || uiSourceCode.contentType().canonicalMimeType();
}
-/**
- * @param {!WebInspector.UISourceCode} uiSourceCode
- * @return {?WebInspector.ResourceTreeFrame}
- */
-WebInspector.NetworkProject.uiSourceCodeFrame = function(uiSourceCode)
-{
- var target = uiSourceCode[WebInspector.NetworkProject._targetSymbol];
- if (!target)
- return null;
-
- var frameId;
-
- var script = uiSourceCode[WebInspector.NetworkProject._scriptSymbol];
- if (script) {
- var executionContext = script.executionContext();
- if (executionContext)
- frameId = executionContext.frameId;
- }
-
- if (!frameId) {
- var header = uiSourceCode[WebInspector.NetworkProject._styleSheetSymbol];
- if (header)
- frameId = header.frameId;
- }
-
- if (!frameId) {
- var resource = uiSourceCode[WebInspector.NetworkProject._resourceSymbol];
- if (resource)
- frameId = resource.frameId;
- }
-
- return frameId ? target.resourceTreeModel.frameForId(frameId) : null;
-}
-
WebInspector.NetworkProject.prototype = {
/**
* @param {?WebInspector.ResourceTreeFrame} frame
@@ -264,7 +240,8 @@ WebInspector.NetworkProject.prototype = {
this._addResource(resources[i]);
}
- var mainFrame = this.target().resourceTreeModel.mainFrame;
+ var resourceTreeModel = this._resourceTreeModel;
+ var mainFrame = resourceTreeModel && resourceTreeModel.mainFrame;
if (mainFrame)
populateFrame.call(this, mainFrame);
},
@@ -422,20 +399,9 @@ WebInspector.NetworkProject.prototype = {
_dispose: function()
{
this._reset();
- var target = this.target();
- target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
- target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this);
- var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
- if (debuggerModel) {
- debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.ParsedScriptSource, this._parsedScriptSource, this);
- debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.FailedToParseScriptSource, this._parsedScriptSource, this);
- }
- var cssModel = WebInspector.CSSModel.fromTarget(target);
- if (cssModel) {
- cssModel.removeEventListener(WebInspector.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this);
- cssModel.removeEventListener(WebInspector.CSSModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this);
- }
- delete target[WebInspector.NetworkProject._networkProjectSymbol];
+ WebInspector.EventTarget.removeEventListeners(this._eventListeners);
+ this._eventListeners = [];
+ delete this.target()[WebInspector.NetworkProject._networkProjectSymbol];
},
_reset: function()

Powered by Google App Engine
This is Rietveld 408576698