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

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

Issue 2833583003: DevTools: proper management of ResourceTreeModel in NetworkProject (Closed)
Patch Set: address comments Created 3 years, 7 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: third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js b/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
index a42cc1107c16896982d8c5d4558dd8802e9b44bd..4c288b061890f851cb9fb31f0ed52449e5611ea2 100644
--- a/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
+++ b/third_party/WebKit/Source/devtools/front_end/bindings/NetworkProject.js
@@ -82,8 +82,6 @@ Bindings.NetworkProject = class {
resourceTreeModel.addEventListener(SDK.ResourceTreeModel.Events.ResourceAdded, this._resourceAdded, this),
resourceTreeModel.addEventListener(
SDK.ResourceTreeModel.Events.FrameWillNavigate, this._frameWillNavigate, this),
- resourceTreeModel.addEventListener(
- SDK.ResourceTreeModel.Events.MainFrameNavigated, this._mainFrameNavigated, this),
resourceTreeModel.addEventListener(SDK.ResourceTreeModel.Events.FrameDetached, this._frameDetached, this));
}
@@ -108,8 +106,6 @@ Bindings.NetworkProject = class {
cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetAdded, this._styleSheetAdded, this),
cssModel.addEventListener(SDK.CSSModel.Events.StyleSheetRemoved, this._styleSheetRemoved, this));
}
- this._eventListeners.push(target.targetManager().addEventListener(
- SDK.TargetManager.Events.SuspendStateChanged, this._suspendStateChanged, this));
}
/**
@@ -232,26 +228,6 @@ Bindings.NetworkProject = class {
project.removeFile(url);
}
- _populate() {
- /**
- * @param {!SDK.ResourceTreeFrame} frame
- * @this {Bindings.NetworkProject}
- */
- function populateFrame(frame) {
- for (var i = 0; i < frame.childFrames.length; ++i)
- populateFrame.call(this, frame.childFrames[i]);
-
- var resources = frame.resources();
- for (var i = 0; i < resources.length; ++i)
- this._addResource(resources[i]);
- }
-
- var resourceTreeModel = this._resourceTreeModel;
- var mainFrame = resourceTreeModel && resourceTreeModel.mainFrame;
- if (mainFrame)
- populateFrame.call(this, mainFrame);
- }
-
/**
* @param {!Workspace.UISourceCode} uiSourceCode
* @param {!Common.ContentProvider} contentProvider
@@ -371,26 +347,29 @@ Bindings.NetworkProject = class {
/**
* @param {!SDK.Resource} resource
*/
- _addResource(resource) {
+ _acceptsResource(resource) {
var resourceType = resource.resourceType();
// Only load selected resource types from resources.
if (resourceType !== Common.resourceTypes.Image && resourceType !== Common.resourceTypes.Font &&
resourceType !== Common.resourceTypes.Document && resourceType !== Common.resourceTypes.Manifest)
- return;
+ return false;
// Ignore non-images and non-fonts.
if (resourceType === Common.resourceTypes.Image && resource.mimeType && !resource.mimeType.startsWith('image'))
- return;
+ return false;
if (resourceType === Common.resourceTypes.Font && resource.mimeType && !resource.mimeType.includes('font'))
- return;
+ return false;
if ((resourceType === Common.resourceTypes.Image || resourceType === Common.resourceTypes.Font) &&
resource.contentURL().startsWith('data:'))
- return;
+ return false;
+ return true;
+ }
- // Never load document twice.
- var projectId = Bindings.NetworkProject.projectId(this._target, resource.frameId, false);
- var project = this._workspaceProjects.get(projectId);
- if (project && project.uiSourceCodeForURL(resource.url))
+ /**
+ * @param {!SDK.Resource} resource
+ */
+ _addResource(resource) {
+ if (!this._acceptsResource(resource))
return;
var uiSourceCode = this._createFile(resource, resource.frameId, false);
@@ -402,12 +381,14 @@ Bindings.NetworkProject = class {
* @param {!SDK.ResourceTreeFrame} frame
*/
_removeFrameResources(frame) {
- var project = this._workspaceProject(frame.id, false);
- for (var resource of frame.resources())
- project.removeUISourceCode(resource.url);
- project = this._workspaceProject(frame.id, true);
- for (var resource of frame.resources())
- project.removeUISourceCode(resource.url);
+ var regularProject = this._workspaceProject(frame.id, false);
+ var contentScriptsProject = this._workspaceProject(frame.id, true);
+ for (var resource of frame.resources()) {
+ if (!this._acceptsResource(resource))
+ continue;
+ regularProject.removeFile(resource.url);
+ contentScriptsProject.removeFile(resource.url);
+ }
}
/**
@@ -427,20 +408,6 @@ Bindings.NetworkProject = class {
}
/**
- * @param {!Common.Event} event
- */
- _mainFrameNavigated(event) {
- this._reset();
- }
-
- _suspendStateChanged() {
- if (this._target.targetManager().allTargetsSuspended())
- this._reset();
- else
- this._populate();
- }
-
- /**
* @param {!Common.ContentProvider} contentProvider
* @param {string} frameId
* @param {boolean} isContentScript

Powered by Google App Engine
This is Rietveld 408576698