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

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

Powered by Google App Engine
This is Rietveld 408576698