Summary: | ResourceLoadScheduler::scheduleSubresourceLoad() should use ResourceRequest priority | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | David Kilzer (:ddkilzer) <ddkilzer> | ||||
Component: | Page Loading | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | NEW --- | ||||||
Severity: | Normal | CC: | ap, fishd, koivisto, psolanki | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.6 | ||||||
Bug Depends on: | 53192 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
David Kilzer (:ddkilzer)
2011-01-27 08:32:54 PST
Created attachment 80334 [details]
Experimental patch
NOTE: When this patch is applied to a Snow Leopard system (which doesn't use HTTP pipelining), a single test fails:
LayoutTests/http/tests/xmlhttprequest/logout.html
Running the layout test in Safari 5.0.3 (with a recent WebKit but without the patch applied), these URLs are loaded and the test PASSES:
127.0.0.1 - - [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/logout.html HTTP/1.1" 200 2083
127.0.0.1 - - [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/resources/logout/resource.php?login HTTP/1.1" 401 23
127.0.0.1 - user [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/resources/logout/resource.php?login HTTP/1.1" 200 27
127.0.0.1 - user [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 200 27
127.0.0.1 - logout [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 401 23
127.0.0.1 - logout [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 401 23
127.0.0.1 - user [24/Jan/2011:15:45:46 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 200 27
127.0.0.1 - - [24/Jan/2011:15:45:46 -0800] "GET /favicon.ico HTTP/1.1" 200 1150
After applying the patch and running Safari 5.0.3 with the new WebKit, these URLs are loaded and the test FAILS:
127.0.0.1 - - [24/Jan/2011:15:45:50 -0800] "GET /xmlhttprequest/logout.html HTTP/1.1" 200 2083
127.0.0.1 - - [24/Jan/2011:15:45:50 -0800] "GET /xmlhttprequest/resources/logout/resource.php?login HTTP/1.1" 401 23
127.0.0.1 - user [24/Jan/2011:15:45:51 -0800] "GET /xmlhttprequest/resources/logout/resource.php?login HTTP/1.1" 200 27
127.0.0.1 - user [24/Jan/2011:15:45:51 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 200 27
127.0.0.1 - user [24/Jan/2011:15:45:51 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 200 27
127.0.0.1 - user [24/Jan/2011:15:45:51 -0800] "GET /xmlhttprequest/resources/logout/resource.php?isAuthenticated HTTP/1.1" 200 27
127.0.0.1 - - [24/Jan/2011:15:45:51 -0800] "GET /favicon.ico HTTP/1.1" 200 1150
There seems to be a dependency on the separate priority passed through ResourceLoadScheduler::scheduleSubresourceLoad().
It's not necessarily obvious if ResourceLoader priorities are conceptually the same as HTTP priorities. Perhaps these should stay separate, and use separate enums. |