Chromium Code Reviews| Index: Source/devtools/front_end/bindings/NetworkProject.js |
| diff --git a/Source/devtools/front_end/bindings/NetworkProject.js b/Source/devtools/front_end/bindings/NetworkProject.js |
| index 33364e77c63400490bb9d0ee2f4217dac6eea841..09f14624f8a558916cc95a56ec6391acb51f9bc7 100644 |
| --- a/Source/devtools/front_end/bindings/NetworkProject.js |
| +++ b/Source/devtools/front_end/bindings/NetworkProject.js |
| @@ -156,7 +156,6 @@ WebInspector.NetworkProject = function(target, workspace, networkMapping) |
| this._processedURLs = {}; |
| target[WebInspector.NetworkProject._networkProjectSymbol] = this; |
| - target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this); |
| target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this); |
| var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| @@ -169,6 +168,11 @@ WebInspector.NetworkProject = function(target, workspace, networkMapping) |
| cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetAdded, this._styleSheetAdded, this); |
| cssModel.addEventListener(WebInspector.CSSStyleModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this); |
| } |
| + |
| + if (debuggerModel && !debuggerModel.debuggerEnabled()) |
|
pfeldman
2015/07/24 16:50:51
Alright, so what you are doing here is you start l
|
| + debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.DebuggerWasEnabled, this._debuggerEnabled, this); |
| + else |
| + this._debuggerEnabled(); |
| } |
| WebInspector.NetworkProject._networkProjectSymbol = Symbol("networkProject"); |
| @@ -274,6 +278,15 @@ WebInspector.NetworkProject.prototype = { |
| projectDelegate.removeFile(path); |
| }, |
| + _debuggerEnabled: function() |
| + { |
| + var debuggerModel = WebInspector.DebuggerModel.fromTarget(this.target()); |
| + if (debuggerModel) |
| + debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.DebuggerWasEnabled, this._debuggerEnabled, this); |
| + this._populate(); |
| + this.target().resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this); |
| + }, |
| + |
| _populate: function() |
| { |
| /** |
| @@ -393,6 +406,7 @@ WebInspector.NetworkProject.prototype = { |
| target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this); |
| var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| if (debuggerModel) { |
| + debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.DebuggerWasEnabled, this._debuggerEnabled, this); |
| debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.ParsedScriptSource, this._parsedScriptSource, this); |
| debuggerModel.removeEventListener(WebInspector.DebuggerModel.Events.FailedToParseScriptSource, this._parsedScriptSource, this); |
| } |
| @@ -451,46 +465,48 @@ WebInspector.NetworkProject.FallbackResource.prototype = { |
| requestContent: function(callback) |
| { |
| /** |
| + * @param {!WebInspector.Target} target |
| + * @param {string} url |
| + * @return {!Array.<!WebInspector.Script>} |
| + */ |
| + function findScripts(target, url) |
| + { |
| + var debuggerModel = WebInspector.DebuggerModel.fromTarget(target); |
| + return debuggerModel ? debuggerModel.scriptsForSourceURL(url) : []; |
| + } |
| + |
| + /** |
| + * @param {?string} content |
| * @this {WebInspector.NetworkProject.FallbackResource} |
| */ |
| - function loadFallbackContent() |
| + function loadFallbackContent(content) |
| { |
| - var debuggerModel = WebInspector.DebuggerModel.fromTarget(this._resource.target()); |
| - if (!debuggerModel) { |
| - callback(null); |
| + if (content) { |
| + callback(content); |
|
sergeyv
2015/07/20 08:40:58
Looks like you are going to have a stale content f
sergeyv
2015/07/20 08:45:55
Sorry, I mixed up brackets. That's not correct
|
| return; |
| } |
| - var scripts = debuggerModel.scriptsForSourceURL(this._resource.url); |
| - if (!scripts.length) { |
| + |
| + if (this._resource.resourceType() !== WebInspector.resourceTypes.Document) { |
| callback(null); |
| return; |
| } |
| - var contentProvider; |
| - var type = this._resource.resourceType(); |
| - if (type === WebInspector.resourceTypes.Document) |
| - contentProvider = new WebInspector.ConcatenatedScriptsContentProvider(scripts); |
| - else if (type === WebInspector.resourceTypes.Script) |
| - contentProvider = scripts[0]; |
| - |
| - console.assert(contentProvider, "Resource content request failed. " + this._resource.url); |
| - |
| - contentProvider.requestContent(callback); |
| + var scripts = findScripts(this._resource.target(), this._resource.url); |
| + if (scripts.length) |
| + new WebInspector.ConcatenatedScriptsContentProvider(scripts).requestContent(callback); |
| + else |
| + callback(null); |
| } |
| - /** |
| - * @param {?string} content |
| - * @this {WebInspector.NetworkProject.FallbackResource} |
| - */ |
| - function requestContentLoaded(content) |
| - { |
| - if (content) |
| - callback(content) |
| - else |
| - loadFallbackContent.call(this); |
| + if (this._resource.resourceType() === WebInspector.resourceTypes.Script) { |
| + var scripts = findScripts(this._resource.target(), this._resource.url); |
| + if (scripts.length) { |
| + scripts[0].requestContent(callback); |
| + return; |
| + } |
| } |
| - this._resource.requestContent(requestContentLoaded.bind(this)); |
| + this._resource.requestContent(loadFallbackContent.bind(this)); |
| }, |
| /** |