New issue
Advanced search Search tips

Issue 831853 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

Fetch keepalive should decrement refcount at right time

Project Member Reported by panicker@chromium.org, Apr 11 2018

Issue description

Currently 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.


 
Labels: -Pri-3 Pri-1
We want this for M68 (release with Lifecycle API shipping).
Yutaka - is that reasonable?

https://chromium-review.googlesource.com/c/chromium/src/+/1023628 is the proposed fix. panicker@, please review it.
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Status: Fixed (was: Assigned)

Sign in to add a comment