diff options
Diffstat (limited to 'Source/WebCore/inspector/front-end/ResourceTreeModel.js')
-rw-r--r-- | Source/WebCore/inspector/front-end/ResourceTreeModel.js | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/Source/WebCore/inspector/front-end/ResourceTreeModel.js b/Source/WebCore/inspector/front-end/ResourceTreeModel.js index 7c7b86d..b114b94 100644 --- a/Source/WebCore/inspector/front-end/ResourceTreeModel.js +++ b/Source/WebCore/inspector/front-end/ResourceTreeModel.js @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Google Inc. All rights reserved. + * Copyright (C) 2011 Google Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -31,25 +31,18 @@ WebInspector.ResourceTreeModel = function() { - this._resourcesByURL = {}; - this._resourcesByFrameId = {}; - this._subframes = {}; - InspectorBackend.registerDomainDispatcher("Resources", this); - InspectorBackend.cachedResources(this._processCachedResources.bind(this)); -} - -WebInspector.ResourceTreeModel.createResource = function(identifier, url, loader, stackTrace) -{ - var resource = new WebInspector.Resource(identifier, url); - resource.loader = loader; - if (loader) - resource.documentURL = loader.url; - resource.stackTrace = stackTrace; - - return resource; + this.reloadCachedResources(); } WebInspector.ResourceTreeModel.prototype = { + reloadCachedResources: function() + { + this._resourcesByURL = {}; + this._resourcesByFrameId = {}; + this._subframes = {}; + InspectorBackend.cachedResources(this._processCachedResources.bind(this)); + }, + addOrUpdateFrame: function(frame) { var tmpResource = new WebInspector.Resource(null, frame.url); @@ -175,7 +168,7 @@ WebInspector.ResourceTreeModel.prototype = { preservedResourcesForFrame.push(resource); continue; } - this._unbindResourceURL(resource); + this.unbindResourceURL(resource); } delete this._resourcesByFrameId[frameId]; @@ -201,7 +194,7 @@ WebInspector.ResourceTreeModel.prototype = { return false; }, - _unbindResourceURL: function(resource) + unbindResourceURL: function(resource) { var resourceForURL = this._resourcesByURL[resource.url]; if (!resourceForURL) @@ -226,13 +219,12 @@ WebInspector.ResourceTreeModel.prototype = { _addFramesRecursively: function(framePayload) { - var frameResource = WebInspector.ResourceTreeModel.createResource(null, framePayload.resource.url, framePayload.resource.loader); + var frameResource = this.createResource(null, framePayload.resource.url, framePayload.resource.loader); WebInspector.NetworkManager.updateResourceWithRequest(frameResource, framePayload.resource.request); WebInspector.NetworkManager.updateResourceWithResponse(frameResource, framePayload.resource.response); frameResource.type = WebInspector.Resource.Type["Document"]; frameResource.finished = true; - this.bindResourceURL(frameResource); this.addOrUpdateFrame(framePayload); this.addResourceToFrame(framePayload.id, frameResource); @@ -244,12 +236,24 @@ WebInspector.ResourceTreeModel.prototype = { for (var i = 0; i < framePayload.subresources.length; ++i) { var cachedResource = framePayload.subresources[i]; - var resource = WebInspector.ResourceTreeModel.createResource(null, cachedResource.url, cachedResource.loader); + var resource = this.createResource(null, cachedResource.url, cachedResource.loader); WebInspector.NetworkManager.updateResourceWithCachedResource(resource, cachedResource); resource.finished = true; - this.bindResourceURL(resource); this.addResourceToFrame(framePayload.id, resource); } return frameResource; + }, + + createResource: function(identifier, url, loader, stackTrace) + { + var resource = new WebInspector.Resource(identifier, url); + resource.loader = loader; + if (loader) { + resource.documentURL = loader.url; + this.bindResourceURL(resource); + } + resource.stackTrace = stackTrace; + + return resource; } } |