RESOLVED INVALID 77278
Web Inspector: revalidated cached scripts have misleading receive/parse times in Timeline
https://bugs.webkit.org/show_bug.cgi?id=77278
Summary Web Inspector: revalidated cached scripts have misleading receive/parse times...
Brian Burg
Reported 2012-01-28 10:02:30 PST
Created attachment 124439 [details] ga.js is reported as parsed, executed before it is received Revalidated (304) cached scripts will be parsed and executed before they show as being received in the Timeline panel. This does not affect normal resource loads. After some investigation, the problem seems to be that cached resource clients are being notified of revalidation before ResourceLoader clients are being notified of the response being received. The latter can trigger parsing and execution if the cache client happens to be the document parser. I'm unsure how to fix this, since there seem to be a lot of subtle invariants in the resource loading code. I've attached a screenshot demonstrating the incorrect timeline pill ordering, as well as a useful stack trace which seems to show the start of problems.
Attachments
ga.js is reported as parsed, executed before it is received (112.67 KB, image/png)
2012-01-28 10:02 PST, Brian Burg
no flags
Useful stack trace screenshot (410.32 KB, image/png)
2012-01-28 10:06 PST, Brian Burg
no flags
Brian Burg
Comment 1 2012-01-28 10:06:47 PST
Created attachment 124440 [details] Useful stack trace screenshot Note that memoryCache()->revalidationSucceeded(...) eventually leads to HTMLDocumentParser::notifyFinished(), causing parsing to occur on for the pending script that blocks parsing. But, InspectorInstrumentation::willReceiveResourceResponse() is eventually called by ResourceLoader::didReceiveResponse.
Brian Burg
Comment 2 2014-12-12 14:36:34 PST
Closing as invalid, as this bug pertains to the old inspector UI and/or its tests. Please file a new bug (https://www.webkit.org/new-inspector-bug) if the bug/feature/issue is still relevant to WebKit trunk.
Note You need to log in before you can comment on or make changes to this bug.