New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 800903 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 749789



Sign in to add a comment

Tabs should only be loaded after PageAlmostIdle and DidStopLoading have fired.

Project Member Reported by chrisha@chromium.org, Jan 10 2018

Issue description

Experiments that make use of the PAI largely show improvements across the board, but there are some regressions, which is unexpected.

Looking into this it turns out that PAI can sometimes fire *before* DidStopLoading, which means that we will start loading some subsequent tabs even before they would have when strictly using DidStopLoading.

The combination of both of these signals should be used.
 
I'm suggesting the following logic:

- Make PAI signal fire on all state changes, rather than as a one way switch.
- Consider a page loaded when DidStopLoading has fired, and when the page has been in an almost idle state for some threshold period of time (say 1 second for now).
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c1896c6a81253351bf539b1251ded8a8cef9e4c

commit 3c1896c6a81253351bf539b1251ded8a8cef9e4c
Author: Chris Hamilton <chrisha@chromium.org>
Date: Fri Feb 02 00:36:30 2018

Modify PageAlmostIdle to include NOTIFICATION_LOAD_STOP.

This adds plumbing of NOTIFICATION_LOAD_STOP to a "Loaded" signal on the PageCU, and modifies the PAI logic to consider period of network and CPU quiescence after the loaded signal has fired. This also moves state tracking machinery related to the PAI signal out of the PageCU and directly into the PageSignalGenerator as a cleanup.

BUG= 800903 

Change-Id: Ia3461c831c3427c8b01afedd4aaa1033c8083b2c
Reviewed-on: https://chromium-review.googlesource.com/879225
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: lpy <lpy@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Commit-Queue: Chris Hamilton <chrisha@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533871}
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.h
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/coordination_unit_base.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/coordination_unit_base.h
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/coordination_unit_test_harness.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/coordination_unit_test_harness.h
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/page_coordination_unit_impl.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/page_coordination_unit_impl.h
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/coordination_unit/page_coordination_unit_impl_unittest.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/observers/page_signal_generator_impl.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/observers/page_signal_generator_impl.h
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/observers/page_signal_generator_impl_unittest.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/public/cpp/page_resource_coordinator.cc
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/public/cpp/page_resource_coordinator.h
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/public/interfaces/coordination_unit.mojom
[modify] https://crrev.com/3c1896c6a81253351bf539b1251ded8a8cef9e4c/services/resource_coordinator/public/interfaces/signals.mojom

Status: Fixed (was: Started)
This has been shipping for a couple weeks without problems.

Sign in to add a comment