|
|
Chromium Code Reviews|
Created:
4 years, 8 months ago by Nate Chapin Modified:
4 years, 8 months ago CC:
chromium-reviews, darin-cc_chromium.org, jam Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionEnable setting deferral state on ResourceDispatcher at request start
In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9,
blink's ResourceLoader stopped handling load deferrals,
instead leaving it to WebURLLoaderImpl. However,
WebURLLoaderImpl can't quite do everything it needs to, as
ResourceDispatcher also needs to note that the load is
deferred, and it can't do that until a PendingRequest has
been created. Give ResourceDispatcher a way to immediately
mark a load a deferred on start.
BUG=601706
Committed: https://crrev.com/c5a3e99a81bee5f325b81be3d21f5daf1854b572
Cr-Commit-Position: refs/heads/master@{#388910}
Patch Set 1 #Patch Set 2 : #Patch Set 3 : +test #
Messages
Total messages: 33 (14 generated)
Description was changed from ========== RequestInfo::defer_start BUG= ========== to ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 ==========
Description was changed from ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 ========== to ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 ==========
japhet@chromium.org changed reviewers: + dcheng@chromium.org
dcheng, is this something you're comfortable reviewing? See bug for context + test case. There appear to be two ways to fix this: Patch set 1, which is more complicated but easy to test, and Patch set 2, which is clean and simple and would require making a function or two on ResourceDispatcher protected instead of private in order to unittest. Thoughts?
I prefer PS2 and exposing things to tests (we could just friend the test too, and then we wouldn't have to change anything, right?) yhirano@ should probably review this though.
japhet@chromium.org changed reviewers: + yhirano@chromium.org
yhirano: PTAL
On 2016/04/15 20:11:56, Nate Chapin wrote: > yhirano: PTAL Can you cc me in the crbug issue?
Incidentally, I noticed the test case in the bug tripped a ton of asserts in Blink: https://codereview.chromium.org/1898653002 Do you think it'd make sense to turn any of these into RELEASE_ASSERT?
With PS2 we could make ResourceDispatcher::SetDefersLoading a virtual function for testing.
The CQ bit was checked by japhet@chromium.org to run a CQ dry run
On 2016/04/18 05:50:37, yhirano wrote: > With PS2 we could make ResourceDispatcher::SetDefersLoading a virtual function > for testing. Nice, I had missed that there were already some virtual-for-testing methods on ResourceDispatcher. Test added.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1881023004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1881023004/40001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm
The CQ bit was checked by japhet@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1881023004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1881023004/40001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
japhet@chromium.org changed reviewers: + jochen@chromium.org
jochen, would you mind content/OWNERS reviewing this?
lgtm
The CQ bit was checked by japhet@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1881023004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1881023004/40001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by japhet@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1881023004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1881023004/40001
Message was sent while issue was closed.
Description was changed from ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 ========== to ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 ========== to ========== Enable setting deferral state on ResourceDispatcher at request start In https://chromium.googlesource.com/chromium/src/+/f92a1f3b9, blink's ResourceLoader stopped handling load deferrals, instead leaving it to WebURLLoaderImpl. However, WebURLLoaderImpl can't quite do everything it needs to, as ResourceDispatcher also needs to note that the load is deferred, and it can't do that until a PendingRequest has been created. Give ResourceDispatcher a way to immediately mark a load a deferred on start. BUG=601706 Committed: https://crrev.com/c5a3e99a81bee5f325b81be3d21f5daf1854b572 Cr-Commit-Position: refs/heads/master@{#388910} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/c5a3e99a81bee5f325b81be3d21f5daf1854b572 Cr-Commit-Position: refs/heads/master@{#388910} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
