| 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()
|
|
|