I am slowly splitting the 'network request' vs 'resource item' aspects in the Resource.js. From now on, resource is only bound with URL upon addition into the resource tree.
Created attachment 80045 [details] [PATCH] Proposed change
Comment on attachment 80045 [details] [PATCH] Proposed change View in context: https://bugs.webkit.org/attachment.cgi?id=80045&action=review > Source/WebCore/inspector/front-end/NetworkManager.js:-305 > - this._resourceTreeModel.unbindResourceURL(originalResource); Shouldn't we clean up _inflightResourceByURL entry for the original URL here? There doesn't seem to be another chance. > Source/WebCore/inspector/front-end/NetworkManager.js:330 > + delete this._inflightResourcesByURL[resource.identifier]; you need to use resource.url, not identifier here. > Source/WebCore/inspector/front-end/ScriptsPanel.js:276 > + var resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL); So, is this guaranteed to be called before resource is finished? Otherwise, there wouldn't be in inflight resources.
(In reply to comment #2) > (From update of attachment 80045 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=80045&action=review > > > Source/WebCore/inspector/front-end/NetworkManager.js:-305 > > - this._resourceTreeModel.unbindResourceURL(originalResource); > > Shouldn't we clean up _inflightResourceByURL entry for the original URL here? There doesn't seem to be another chance. > Now that bind is encapsulated in ResourceTreeModel, we only perform it upon resource addition to the tree. Which happens upon didReceiveResponse, i.e. does not happen for intermediate redirects. > > Source/WebCore/inspector/front-end/NetworkManager.js:330 > > + delete this._inflightResourcesByURL[resource.identifier]; > > you need to use resource.url, not identifier here. > Thanks, fixed. > > Source/WebCore/inspector/front-end/ScriptsPanel.js:276 > > + var resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL); > > So, is this guaranteed to be called before resource is finished? Otherwise, there wouldn't be in inflight resources. Yes, it is.
Created attachment 80049 [details] Patch
Committed r76587: <http://trac.webkit.org/changeset/76587>