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); |
}, |
/** |