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

Unified Diff: third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js

Issue 2122353002: [DevTools] Make resource tree model optional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 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: third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js
diff --git a/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js b/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js
index 3b3b82d32d6a6c602051b142808fe8ec7ff42af2..45c8edc6e3fc1616e6f80f0ce5218b635044ce27 100644
--- a/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js
+++ b/third_party/WebKit/Source/devtools/front_end/resources/ResourcesPanel.js
@@ -128,13 +128,17 @@ WebInspector.ResourcesPanel.prototype = {
this._databaseModel = WebInspector.DatabaseModel.fromTarget(target);
this._domStorageModel = WebInspector.DOMStorageModel.fromTarget(target);
- if (target.resourceTreeModel.cachedResourcesLoaded())
- this._initialize();
-
- target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._initialize, this);
- target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.WillLoadCachedResources, this._resetWithFrames, this);
this._databaseModel.addEventListener(WebInspector.DatabaseModel.Events.DatabaseAdded, this._databaseAdded, this);
this._databaseModel.addEventListener(WebInspector.DatabaseModel.Events.DatabasesRemoved, this._resetWebSQL, this);
+
+ var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target);
dgozman 2016/07/14 16:29:28 I think ResourcesPanel should not work without Res
eostroukhov-old 2016/07/20 23:46:15 Done.
+ if (!resourceTreeModel)
+ return;
+ if (resourceTreeModel.cachedResourcesLoaded())
+ this._initialize();
+
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._initialize, this);
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.WillLoadCachedResources, this._resetWithFrames, this);
},
/**
@@ -147,8 +151,11 @@ WebInspector.ResourcesPanel.prototype = {
return;
delete this._target;
- target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._initialize, this);
- target.resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.WillLoadCachedResources, this._resetWithFrames, this);
+ var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(target);
+ if (resourceTreeModel) {
+ resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._initialize, this);
+ resourceTreeModel.removeEventListener(WebInspector.ResourceTreeModel.EventTypes.WillLoadCachedResources, this._resetWithFrames, this);
+ }
this._databaseModel.removeEventListener(WebInspector.DatabaseModel.Events.DatabaseAdded, this._databaseAdded, this);
this._databaseModel.removeEventListener(WebInspector.DatabaseModel.Events.DatabasesRemoved, this._resetWebSQL, this);
@@ -280,10 +287,16 @@ WebInspector.ResourcesPanel.prototype = {
_populateResourceTree: function()
{
this._treeElementForFrameId = {};
- this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameAdded, this._frameAdded, this);
- this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
- this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, this._frameDetached, this);
- this._target.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
+
+ var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._target);
+
+ if (!resourceTreeModel)
+ return;
+
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameAdded, this._frameAdded, this);
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, this._frameDetached, this);
+ resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
/**
* @param {!WebInspector.ResourceTreeFrame} frame
@@ -299,7 +312,7 @@ WebInspector.ResourcesPanel.prototype = {
for (var i = 0; i < resources.length; ++i)
this._resourceAdded({data:resources[i]});
}
- populateFrame.call(this, this._target.resourceTreeModel.mainFrame);
+ populateFrame.call(this, resourceTreeModel.mainFrame);
},
_frameAdded: function(event)
@@ -2135,7 +2148,10 @@ WebInspector.ApplicationCacheFrameTreeElement.prototype = {
_refreshTitles: function()
{
- var frame = this._storagePanel._target.resourceTreeModel.frameForId(this._frameId);
+ var resourceTreeModel = WebInspector.ResourceTreeModel.fromTarget(this._storagePanel._target);
+ if (!resourceTreeModel)
+ return;
+ var frame = resourceTreeModel.frameForId(this._frameId);
this.title = frame.displayName();
},

Powered by Google App Engine
This is Rietveld 408576698