Chromium Code Reviews| 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(); |
| }, |