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..f3e6266f258c816a6e0ab6cfebeac57fa721fae5 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()) |
| + 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,16 +465,28 @@ 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); |
| return; |
| } |
| - var scripts = debuggerModel.scriptsForSourceURL(this._resource.url); |
| + |
| + var scripts = findScripts(this._resource.target(), this._resource.url); |
| if (!scripts.length) { |
| callback(null); |
| return; |
| @@ -482,15 +508,33 @@ WebInspector.NetworkProject.FallbackResource.prototype = { |
| * @param {?string} content |
| * @this {WebInspector.NetworkProject.FallbackResource} |
| */ |
| - function requestContentLoaded(content) |
| + function loadResourceContent(content) |
| + { |
| + if (content) { |
| + callback(content); |
| + return; |
| + } |
| + this._resource.requestContent(loadFallbackContent.bind(this)); |
| + } |
| + |
| + /** |
| + * @this {WebInspector.NetworkProject.FallbackResource} |
| + */ |
| + function loadScriptContent() |
| { |
| - if (content) |
| - callback(content) |
| + if (this._resource.resourceType() !== WebInspector.resourceTypes.Script) { |
| + loadResourceContent.call(this, null); |
| + return; |
| + } |
| + |
| + var scripts = findScripts(this._resource.target(), this._resource.url); |
| + if (scripts.length) |
| + scripts[0].requestContent(loadResourceContent.bind(this)); |
|
yurys
2015/07/16 16:30:35
Why not scripts[0].requestContent(callback); ? Can
dgozman
2015/07/17 14:39:16
Fixed.
|
| else |
| - loadFallbackContent.call(this); |
| + loadResourceContent.call(this, null); |
| } |
| - this._resource.requestContent(requestContentLoaded.bind(this)); |
| + loadScriptContent.call(this); |
| }, |
| /** |