Fetch keepalive should decrement refcount at right time |
||
Issue descriptionCurrently a pending fetch keepalive will permanently unfreeze the scheduler task queues because DecrementKeepAliveRefCount is called lazily in KeepAliveHandleFactory (long) after the pending fetch keepalives have finished. It is called when the factory context itself is getting torn down when the frame is going away. Instead DecrementKeepAliveRefCount should be called when there are no pending fetch keep-alives for the renderer (and Increment.. should be called yet again, when there is one). This will ensure that the Blink Scheduler can properly use this signal when freezing task queues.
,
Apr 23 2018
https://chromium-review.googlesource.com/c/chromium/src/+/1023628 is the proposed fix. panicker@, please review it.
,
Apr 25 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1b10f97dad188f10260f939606bcac0a838ddec commit c1b10f97dad188f10260f939606bcac0a838ddec Author: Yutaka Hirano <yhirano@chromium.org> Date: Wed Apr 25 07:33:57 2018 Decrement RenderProcessHost's keep alive refcount eagerly Having a non-zero keep alive refcount prevents the task queue throttling even when the page is in background. This CL avoids that with calling RenderProcessHost::DecrementKeepAliveRefCount eagerly. Bug: 831853 Change-Id: I79562153286aee08d65520de0bf48eb8087db961 Reviewed-on: https://chromium-review.googlesource.com/1023628 Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Shubhie Panicker <panicker@chromium.org> Commit-Queue: Yutaka Hirano <yhirano@chromium.org> Cr-Commit-Position: refs/heads/master@{#553477} [modify] https://crrev.com/c1b10f97dad188f10260f939606bcac0a838ddec/content/browser/frame_host/keep_alive_handle_factory.cc [modify] https://crrev.com/c1b10f97dad188f10260f939606bcac0a838ddec/content/browser/frame_host/keep_alive_handle_factory.h
,
Apr 25 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by panicker@chromium.org
, Apr 23 2018