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

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

Issue 1238103002: [DevTools] Do not report edited resources via Page.getResourceContent. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed comment Created 5 years, 5 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: 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));
},
/**

Powered by Google App Engine
This is Rietveld 408576698