Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Issue 2911983002: Make PageLoadMetricsWaiter more resilient (Closed)

Created:
3 years, 6 months ago by Bryan McQuade
Modified:
3 years, 6 months ago
Reviewers:
CC:
chromium-reviews, csharrison+watch_chromium.org, loading-reviews+metrics_chromium.org, speed-metrics-reviews_chromium.org
Target Ref:
refs/branch-heads/3112
Project:
chromium
Visibility:
Public.

Description

Make PageLoadMetricsWaiter more resilient Our current test infrastructure exposes timing update callbacks at a layer just above the IPC processing layer, in MetricsWebContentsObserver via the TestingObserver interface. This works fine when timing updates are dispatched synchronously to PageLoadMetricsObservers as part of the IPC processing flow. However, this strategy no longer works if updates are buffered before being dispatched. We may buffer updates in the browser process to allow for correct processing of out of order inter frame timing updates. This would require observing callbacks at a higher level than the MWCO timing update processing flow. The simplest way to address this is to allow the test infrastructure to inject a PageLoadMetricsObserver that can be used to wait for timing updates. This guarantees that our waiting logic is waiting on the same logic as other observers, which makes the tests more resilient. In addition, we can restrict waiting to a single page load - there have been some subtle browsertest bugs in the past where waiters waiting on a timing from one page load incorrectly stopped waiting too early because a previous page load dispatched a matching timing update. By observing at the PLMO level, and only starting waiting once a load commits, we have a page load level view of updates and can more precisely guarantee we are waiting on the right page load's updates. BUG=725998 NOTRY=true NOPRESUBMIT=true TBR=csharrison Review-Url: https://codereview.chromium.org/2903693004 Cr-Original-Commit-Position: refs/heads/master@{#474996} Review-Url: https://codereview.chromium.org/2911983002 Cr-Commit-Position: refs/branch-heads/3112@{#21} Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897} Committed: https://chromium.googlesource.com/chromium/src/+/c2ee5a4fd342deb46068e5eb31fc9023e799c4bc

Patch Set 1 #

Messages

Total messages: 6 (4 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2911983002/1
3 years, 6 months ago (2017-05-30 01:23:58 UTC) #3
commit-bot: I haz the power
3 years, 6 months ago (2017-05-30 01:24:31 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/chromium/src/+/c2ee5a4fd342deb46068e5eb31fc...

Powered by Google App Engine
This is Rietveld 408576698