WaaP: Fix PageLoadMetrics tests for InitialWebUI [chromium/src : main]

38 views
Skip to first unread message

Eriko Kurimoto (Gerrit)

unread,
Apr 8, 2026, 12:20:06 AM (6 days ago) Apr 8
to Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Shunya Shishido

Eriko Kurimoto added 1 comment

Patchset-level comments
File-level comment, Patchset 5 (Latest):
Eriko Kurimoto . resolved

PTAL

Open in Gerrit

Related details

Attention is currently required from:
  • Shunya Shishido
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
Gerrit-Change-Number: 7733782
Gerrit-PatchSet: 5
Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Attention: Shunya Shishido <sisid...@chromium.org>
Gerrit-Comment-Date: Wed, 08 Apr 2026 04:19:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Shunya Shishido (Gerrit)

unread,
Apr 8, 2026, 4:59:57 AM (6 days ago) Apr 8
to Eriko Kurimoto, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Eriko Kurimoto

Shunya Shishido voted Commit-Queue+0

Commit-Queue+0
Open in Gerrit

Related details

Attention is currently required from:
  • Eriko Kurimoto
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
Gerrit-Change-Number: 7733782
Gerrit-PatchSet: 5
Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Attention: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Comment-Date: Wed, 08 Apr 2026 08:59:27 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Eriko Kurimoto (Gerrit)

unread,
Apr 8, 2026, 5:05:25 AM (6 days ago) Apr 8
to Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

Eriko Kurimoto added 1 comment

Patchset-level comments
Eriko Kurimoto . resolved

@sisid...@chromium.org maybe you wanted to press CR+1 instead of CQ+1?

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
Gerrit-Change-Number: 7733782
Gerrit-PatchSet: 5
Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Comment-Date: Wed, 08 Apr 2026 09:05:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Shunya Shishido (Gerrit)

unread,
Apr 8, 2026, 5:08:35 AM (6 days ago) Apr 8
to Eriko Kurimoto, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Eriko Kurimoto

Shunya Shishido added 1 comment

Patchset-level comments
Eriko Kurimoto . resolved

@sisid...@chromium.org maybe you wanted to press CR+1 instead of CQ+1?

Shunya Shishido

Sorry that was my mistake, I'm now in review.

Open in Gerrit

Related details

Attention is currently required from:
  • Eriko Kurimoto
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
Gerrit-Change-Number: 7733782
Gerrit-PatchSet: 5
Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-Attention: Eriko Kurimoto <elk...@chromium.org>
Gerrit-Comment-Date: Wed, 08 Apr 2026 09:08:02 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Eriko Kurimoto <elk...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Shunya Shishido (Gerrit)

unread,
Apr 8, 2026, 5:34:38 AM (6 days ago) Apr 8
to Eriko Kurimoto, Takashi Toyoshima, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
Attention needed from Eriko Kurimoto and Takashi Toyoshima

Shunya Shishido added 6 comments

Patchset-level comments
Shunya Shishido . resolved

Let me add toyoshim@ for another look. I need some thoughts on accepting/filtering metrics from WebUI/WaaP pages and UI components.

Commit Message
Line 9, Patchset 5 (Latest):This CL fixes PageLoadMetrics integration tests and crashes that
occur when the `InitialWebUI` feature is enabled. The
Shunya Shishido . unresolved

Is `InitialWebUI` enabled by the field trial config? If not, we should have the entry to ensure the CL fixes the test failures.

Line 12, Patchset 5 (Latest):(`chrome://webui-toolbar`) that records metrics (UKM and Histograms),
Shunya Shishido . unresolved

I can't see this page on my Stable Chrome. Is this a correct URL?

Line 21, Patchset 5 (Latest):us to keep the production code in [WebUIPageLoadMetricsObserver](cci:1://file:///usr/local/google/home/elkurin/2-chromium/src/chrome/browser/page_load_metrics/observers/webui_page_load_metrics_observer.cc:21:0-21:71)
Shunya Shishido . unresolved

This path is your local environment, it shouldn't be part of the description.

File chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
Line 1183, Patchset 5 (Latest): if (!source || source->url().SchemeIs("chrome") ||
source->url().SchemeIs("chrome-untrusted")) {
Shunya Shishido . unresolved

Is there any way to avoid hard-coding scheme names for chrome and chrome-untrusted?

Line 1179, Patchset 5 (Latest): size_t valid_count = 0;
for (const auto& kv : entries) {
auto* entry = kv.second.get();
auto* source = test_ukm_recorder_->GetSourceForSourceId(entry->source_id);
if (!source || source->url().SchemeIs("chrome") ||
source->url().SchemeIs("chrome-untrusted")) {
continue;
}
valid_count++;
Shunya Shishido . unresolved

I'm less confident about just having this logic to filter unexpected logs here is generally a good idea. Also we should avoid avoid the code duplication.

Moreover, I'm wondering how the current UKM records events in the WebUI page. Are WebUI pages recorded to UKM normally? If so, do you have a plan to use it?

Open in Gerrit

Related details

Attention is currently required from:
  • Eriko Kurimoto
  • Takashi Toyoshima
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 5
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-Attention: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Comment-Date: Wed, 08 Apr 2026 09:34:04 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Takashi Toyoshima (Gerrit)

    unread,
    Apr 8, 2026, 6:36:56 AM (6 days ago) Apr 8
    to Eriko Kurimoto, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Eriko Kurimoto

    Takashi Toyoshima added 3 comments

    Patchset-level comments
    File-level comment, Patchset 6 (Latest):
    Takashi Toyoshima . unresolved

    Just in case, do you audit what PLMOs should run for the WaaP's renderer, and others are correctly guarded at the registration steps?

    File chrome/browser/page_load_metrics/observers/webui_page_load_metrics_observer_browsertest.cc
    Line 60, Patchset 5:IN_PROC_BROWSER_TEST_F(WebUIPageLoadMetricsObserverBrowserTest,
    Takashi Toyoshima . unresolved

    If expectation depends on the experiment, it's better to make the test parameterized, or have an explicit ScopedFeatureList to flip the flag to a desired case? Our CIs run with several flags, and the fix will work or not work, test by test?

    File chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
    Line 1183, Patchset 5: if (!source || source->url().SchemeIs("chrome") ||
    source->url().SchemeIs("chrome-untrusted")) {
    Shunya Shishido . unresolved

    Is there any way to avoid hard-coding scheme names for chrome and chrome-untrusted?

    Takashi Toyoshima

    content/public/common/url_constants.h

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Eriko Kurimoto
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 6
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Comment-Date: Wed, 08 Apr 2026 10:36:24 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Shunya Shishido <sisid...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Takashi Toyoshima (Gerrit)

    unread,
    Apr 8, 2026, 6:39:44 AM (6 days ago) Apr 8
    to Eriko Kurimoto, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Eriko Kurimoto

    Takashi Toyoshima added 1 comment

    Patchset-level comments
    File-level comment, Patchset 5:
    Shunya Shishido . unresolved

    Let me add toyoshim@ for another look. I need some thoughts on accepting/filtering metrics from WebUI/WaaP pages and UI components.

    Takashi Toyoshima

    I want to double check if existing PLMOs mistakenly run also for the WaaP renderer, and that inject noises for existing metrics.
    Maybe we want to clarify the long-term plan on PLMOs/WaaP in general, and added some short explanations in the components README? (but this does not block this change. TODO is fine)

    Gerrit-Comment-Date: Wed, 08 Apr 2026 10:39:12 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:00:53 AM (5 days ago) Apr 9
    to Jerome Jiang, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, mar...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, cblume...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, penghuan...@chromium.org, chrome-intelligence-te...@google.com, fgal...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed Jerome Jiang from this change

    Deleted Reviewers:
    • Jerome Jiang
    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: deleteReviewer
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 7
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:00:54 AM (5 days ago) Apr 9
    to Mirko Bonadei, Jerome Jiang, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, mar...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, cblume...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, penghuan...@chromium.org, chrome-intelligence-te...@google.com, fgal...@chromium.org, asvitkine...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed Mirko Bonadei from this change

    Deleted Reviewers:
    • Mirko Bonadei
    Gerrit-CC: Jerome Jiang <ji...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:00:55 AM (5 days ago) Apr 9
    to asvitkine...@chromium.org, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, mar...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, cblume...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, penghuan...@chromium.org, chrome-intelligence-te...@google.com, fgal...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed asvitkine...@chromium.org from this change

    Deleted Reviewers:
    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: deleteReviewer
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 7
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:00:57 AM (5 days ago) Apr 9
    to cblume...@chromium.org, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, mar...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, penghuan...@chromium.org, chrome-intelligence-te...@google.com, fgal...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed cblume...@chromium.org from this change

    Deleted Reviewers:
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:02:01 AM (5 days ago) Apr 9
    to fgal...@chromium.org, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, mar...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, penghuan...@chromium.org, chrome-intelligence-te...@google.com, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed fgal...@chromium.org from this change

    Deleted Reviewers:
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:02:01 AM (5 days ago) Apr 9
    to penghuan...@chromium.org, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, mar...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed penghuan...@chromium.org from this change

    Deleted Reviewers:
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:02:13 AM (5 days ago) Apr 9
    to mar...@chromium.org, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, chrome-intelligence-te...@google.com, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed mar...@chromium.org from this change

    Deleted Reviewers:
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:02:23 AM (5 days ago) Apr 9
    to chrome-intelligence-te...@google.com, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, jz...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed chrome-intelligence-te...@google.com from this change

    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 2:02:41 AM (5 days ago) Apr 9
    to jz...@chromium.org, AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto removed jz...@chromium.org from this change

    Deleted Reviewers:
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 9, 2026, 7:35:42 AM (5 days ago) Apr 9
    to AyeAye, Takashi Toyoshima, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Shunya Shishido and Takashi Toyoshima

    Eriko Kurimoto added 8 comments

    Patchset-level comments
    Shunya Shishido . unresolved

    Let me add toyoshim@ for another look. I need some thoughts on accepting/filtering metrics from WebUI/WaaP pages and UI components.

    Takashi Toyoshima

    I want to double check if existing PLMOs mistakenly run also for the WaaP renderer, and that inject noises for existing metrics.
    Maybe we want to clarify the long-term plan on PLMOs/WaaP in general, and added some short explanations in the components README? (but this does not block this change. TODO is fine)

    Eriko Kurimoto

    Yes, existing PLMOs (PageLoadMetricsObservers, correct?) do run for the InitialWebUI page because it is handled as a regular WebUI navigation.
    This is what caused the noise and test failures we addressed in this CL (e.g., extra samples in WebUI histograms and extra UKM entries for background loads).

    Takashi Toyoshima . unresolved

    Just in case, do you audit what PLMOs should run for the WaaP's renderer, and others are correctly guarded at the registration steps?

    Eriko Kurimoto

    Most PageLoadMetricsObserver already early-out or skip WebUI pages by default through `ShouldObserveScheme`.
    `InitialWebUIPageLoadMetricsObserver` is explicitly audited to only continue observing when the source url is for initial webui.

    But we have InitialWebUIPageLoadMetricsObserver which aims to collect the metrics for InitialWebUI, and that is also counted in the test since they all record the same glbal PageLoad UKM entry name.

    fyi:
    For UMA metrics, we have implemented generic MetricsNameMapper which intercepts and mapps subprocess metrics before they are merged into the browser process. This is filter InitialWebUI metrics out. (Note: we will map the metrics name in the future, but right now we are just dropping all of them).

    We are separating UKM by the source URL based filtering.

    Commit Message
    Line 9, Patchset 5:This CL fixes PageLoadMetrics integration tests and crashes that

    occur when the `InitialWebUI` feature is enabled. The
    Shunya Shishido . unresolved

    Is `InitialWebUI` enabled by the field trial config? If not, we should have the entry to ensure the CL fixes the test failures.

    Eriko Kurimoto

    We don't have the filed trial config since there are many failures with Initial WebUI. We are resolving all the failures to enable the entry.

    (failure list: https://chromium-review.git.corp.google.com/c/chromium/src/+/7733782)

    Line 12, Patchset 5:(`chrome://webui-toolbar`) that records metrics (UKM and Histograms),
    Shunya Shishido . unresolved

    I can't see this page on my Stable Chrome. Is this a correct URL?

    Eriko Kurimoto

    The full url is chrome://webui-toolbar.top-chrome, and it's not enabled on stable yet.

    Line 21, Patchset 5:us to keep the production code in [WebUIPageLoadMetricsObserver](cci:1://file:///usr/local/google/home/elkurin/2-chromium/src/chrome/browser/page_load_metrics/observers/webui_page_load_metrics_observer.cc:21:0-21:71)
    Shunya Shishido . resolved

    This path is your local environment, it shouldn't be part of the description.

    Eriko Kurimoto

    Done

    File chrome/browser/page_load_metrics/observers/webui_page_load_metrics_observer_browsertest.cc
    Line 60, Patchset 5:IN_PROC_BROWSER_TEST_F(WebUIPageLoadMetricsObserverBrowserTest,
    Takashi Toyoshima . resolved

    If expectation depends on the experiment, it's better to make the test parameterized, or have an explicit ScopedFeatureList to flip the flag to a desired case? Our CIs run with several flags, and the fix will work or not work, test by test?

    Eriko Kurimoto

    sg. Let me separate the cl for webui_page_load_metrics_observer_browsertest.cc.

    File chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
    Line 1183, Patchset 5: if (!source || source->url().SchemeIs("chrome") ||
    source->url().SchemeIs("chrome-untrusted")) {
    Shunya Shishido . resolved

    Is there any way to avoid hard-coding scheme names for chrome and chrome-untrusted?

    Takashi Toyoshima

    content/public/common/url_constants.h

    Eriko Kurimoto

    Thanks! updated

    Line 1179, Patchset 5: size_t valid_count = 0;

    for (const auto& kv : entries) {
    auto* entry = kv.second.get();
    auto* source = test_ukm_recorder_->GetSourceForSourceId(entry->source_id);
    if (!source || source->url().SchemeIs("chrome") ||
    source->url().SchemeIs("chrome-untrusted")) {
    continue;
    }
    valid_count++;
    Shunya Shishido . unresolved

    I'm less confident about just having this logic to filter unexpected logs here is generally a good idea. Also we should avoid avoid the code duplication.

    Moreover, I'm wondering how the current UKM records events in the WebUI page. Are WebUI pages recorded to UKM normally? If so, do you have a plan to use it?

    Eriko Kurimoto

    The manual filtering is currently necessary because InitialWebUI spawns background pages during startup, which record metrics that pollute the expectations of the tests assuming a clean single-navigation state. (introduced `IsWebUISource` to avoid dup code)

    For UMA histograms, we implemented [WebiumMetricsMapper](https://source.chromium.org/chromium/chromium/src/+/main:components/metrics/mapping/metrics_mapping_features.h;l=18;drc=b51c5e383220013e44e1e9e611d8ccdd1fb5b573) to prefix or drop metrics from Webium renderers based on configuration.
    Currently, we are only handling metrics coming from WebUI renderer process, but we will work on the Initial WebUI related metrics which recorded in browser process as well.

    Whiel many PageLoadMetricsObserver skip WebUI Pages by default, tehy can be recorded normally if opted-in. For Initial WebUI, we do have a plan to use PageLoad UKM

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Shunya Shishido
    • Takashi Toyoshima
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 14
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-Attention: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Comment-Date: Thu, 09 Apr 2026 11:35:02 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Takashi Toyoshima <toyo...@chromium.org>
    Comment-In-Reply-To: Shunya Shishido <sisid...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Takashi Toyoshima (Gerrit)

    unread,
    Apr 13, 2026, 4:47:42 AM (yesterday) Apr 13
    to Eriko Kurimoto, android-bu...@system.gserviceaccount.com, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Eriko Kurimoto and Shunya Shishido

    Takashi Toyoshima voted and added 1 comment

    Votes added by Takashi Toyoshima

    Code-Review+1

    1 comment

    File chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
    Line 1179, Patchset 5: size_t valid_count = 0;
    for (const auto& kv : entries) {
    auto* entry = kv.second.get();
    auto* source = test_ukm_recorder_->GetSourceForSourceId(entry->source_id);
    if (!source || source->url().SchemeIs("chrome") ||
    source->url().SchemeIs("chrome-untrusted")) {
    continue;
    }
    valid_count++;
    Shunya Shishido . unresolved

    I'm less confident about just having this logic to filter unexpected logs here is generally a good idea. Also we should avoid avoid the code duplication.

    Moreover, I'm wondering how the current UKM records events in the WebUI page. Are WebUI pages recorded to UKM normally? If so, do you have a plan to use it?

    Eriko Kurimoto

    The manual filtering is currently necessary because InitialWebUI spawns background pages during startup, which record metrics that pollute the expectations of the tests assuming a clean single-navigation state. (introduced `IsWebUISource` to avoid dup code)

    For UMA histograms, we implemented [WebiumMetricsMapper](https://source.chromium.org/chromium/chromium/src/+/main:components/metrics/mapping/metrics_mapping_features.h;l=18;drc=b51c5e383220013e44e1e9e611d8ccdd1fb5b573) to prefix or drop metrics from Webium renderers based on configuration.
    Currently, we are only handling metrics coming from WebUI renderer process, but we will work on the Initial WebUI related metrics which recorded in browser process as well.

    Whiel many PageLoadMetricsObserver skip WebUI Pages by default, tehy can be recorded normally if opted-in. For Initial WebUI, we do have a plan to use PageLoad UKM

    Takashi Toyoshima
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Eriko Kurimoto
    • Shunya Shishido
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 14
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Attention: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Comment-Date: Mon, 13 Apr 2026 08:47:08 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Eriko Kurimoto <elk...@chromium.org>
    Comment-In-Reply-To: Shunya Shishido <sisid...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    Apr 13, 2026, 6:09:13 AM (yesterday) Apr 13
    to Takashi Toyoshima, android-bu...@system.gserviceaccount.com, Shunya Shishido, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Shunya Shishido

    Eriko Kurimoto added 1 comment

    Patchset-level comments
    File-level comment, Patchset 14 (Latest):
    Eriko Kurimoto . resolved

    @sisid...@chromium.org friendly ping :) If toyoshima-san's lgtm is enough, that's ok too.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Shunya Shishido
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 14
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Comment-Date: Mon, 13 Apr 2026 10:08:44 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Shunya Shishido (Gerrit)

    unread,
    Apr 13, 2026, 7:01:57 AM (yesterday) Apr 13
    to Eriko Kurimoto, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org
    Attention needed from Eriko Kurimoto

    Shunya Shishido voted and added 4 comments

    Votes added by Shunya Shishido

    Code-Review+1

    4 comments

    Patchset-level comments
    Shunya Shishido . resolved

    LGTM w/ nit

    Commit Message
    Line 9, Patchset 5:This CL fixes PageLoadMetrics integration tests and crashes that
    occur when the `InitialWebUI` feature is enabled. The
    Shunya Shishido . unresolved

    Is `InitialWebUI` enabled by the field trial config? If not, we should have the entry to ensure the CL fixes the test failures.

    Eriko Kurimoto

    We don't have the filed trial config since there are many failures with Initial WebUI. We are resolving all the failures to enable the entry.

    (failure list: https://chromium-review.git.corp.google.com/c/chromium/src/+/7733782)

    Shunya Shishido

    In that case, how about parameterizing browser tests so that we can ensure both feature is enabled/disabled?

    Line 12, Patchset 5:(`chrome://webui-toolbar`) that records metrics (UKM and Histograms),
    Shunya Shishido . resolved

    I can't see this page on my Stable Chrome. Is this a correct URL?

    Eriko Kurimoto

    The full url is chrome://webui-toolbar.top-chrome, and it's not enabled on stable yet.

    Shunya Shishido

    Acknowledged

    File chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
    Line 1179, Patchset 5: size_t valid_count = 0;
    for (const auto& kv : entries) {
    auto* entry = kv.second.get();
    auto* source = test_ukm_recorder_->GetSourceForSourceId(entry->source_id);
    if (!source || source->url().SchemeIs("chrome") ||
    source->url().SchemeIs("chrome-untrusted")) {
    continue;
    }
    valid_count++;
    Shunya Shishido . resolved

    I'm less confident about just having this logic to filter unexpected logs here is generally a good idea. Also we should avoid avoid the code duplication.

    Moreover, I'm wondering how the current UKM records events in the WebUI page. Are WebUI pages recorded to UKM normally? If so, do you have a plan to use it?

    Eriko Kurimoto

    The manual filtering is currently necessary because InitialWebUI spawns background pages during startup, which record metrics that pollute the expectations of the tests assuming a clean single-navigation state. (introduced `IsWebUISource` to avoid dup code)

    For UMA histograms, we implemented [WebiumMetricsMapper](https://source.chromium.org/chromium/chromium/src/+/main:components/metrics/mapping/metrics_mapping_features.h;l=18;drc=b51c5e383220013e44e1e9e611d8ccdd1fb5b573) to prefix or drop metrics from Webium renderers based on configuration.
    Currently, we are only handling metrics coming from WebUI renderer process, but we will work on the Initial WebUI related metrics which recorded in browser process as well.

    Whiel many PageLoadMetricsObserver skip WebUI Pages by default, tehy can be recorded normally if opted-in. For Initial WebUI, we do have a plan to use PageLoad UKM

    Takashi Toyoshima

    So, we intentionally enable UKM for Waap here; https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/page_load_metrics/page_load_metrics_initialize.cc;l=186;drc=9a98849abd453b7472fb87b971c19162dfe3ea19;bpv=1;bpt=1

    As UKM is bound with each URL, it would not make noise for existing data.

    Shunya Shishido

    Thanks, good to know UKM is planned to use.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Eriko Kurimoto
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 14
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-Attention: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Comment-Date: Mon, 13 Apr 2026 11:01:16 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Takashi Toyoshima <toyo...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    3:09 AM (9 hours ago) 3:09 AM
    to Shunya Shishido, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto voted and added 1 comment

    Votes added by Eriko Kurimoto

    Commit-Queue+2

    1 comment

    Commit Message
    Line 9, Patchset 5:This CL fixes PageLoadMetrics integration tests and crashes that
    occur when the `InitialWebUI` feature is enabled. The
    Shunya Shishido . resolved

    Is `InitialWebUI` enabled by the field trial config? If not, we should have the entry to ensure the CL fixes the test failures.

    Eriko Kurimoto

    We don't have the filed trial config since there are many failures with Initial WebUI. We are resolving all the failures to enable the entry.

    (failure list: https://chromium-review.git.corp.google.com/c/chromium/src/+/7733782)

    Shunya Shishido

    In that case, how about parameterizing browser tests so that we can ensure both feature is enabled/disabled?

    Eriko Kurimoto

    OK.
    We will enable the field trial this or next week if things go smoothly, so will delete the parameter later.

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
    Gerrit-Change-Number: 7733782
    Gerrit-PatchSet: 18
    Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
    Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
    Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
    Gerrit-Comment-Date: Tue, 14 Apr 2026 07:08:52 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Eriko Kurimoto (Gerrit)

    unread,
    3:23 AM (8 hours ago) 3:23 AM
    to Shunya Shishido, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

    Eriko Kurimoto voted and added 2 comments

    Votes added by Eriko Kurimoto

    Commit-Queue+2

    2 comments

    Patchset-level comments
    File-level comment, Patchset 5:
    Shunya Shishido . resolved

    Let me add toyoshim@ for another look. I need some thoughts on accepting/filtering metrics from WebUI/WaaP pages and UI components.

    Takashi Toyoshima

    I want to double check if existing PLMOs mistakenly run also for the WaaP renderer, and that inject noises for existing metrics.
    Maybe we want to clarify the long-term plan on PLMOs/WaaP in general, and added some short explanations in the components README? (but this does not block this change. TODO is fine)

    Eriko Kurimoto

    Yes, existing PLMOs (PageLoadMetricsObservers, correct?) do run for the InitialWebUI page because it is handled as a regular WebUI navigation.
    This is what caused the noise and test failures we addressed in this CL (e.g., extra samples in WebUI histograms and extra UKM entries for background loads).

    Eriko Kurimoto

    Acknowledged

    File-level comment, Patchset 6:
    Takashi Toyoshima . resolved

    Just in case, do you audit what PLMOs should run for the WaaP's renderer, and others are correctly guarded at the registration steps?

    Eriko Kurimoto

    Most PageLoadMetricsObserver already early-out or skip WebUI pages by default through `ShouldObserveScheme`.
    `InitialWebUIPageLoadMetricsObserver` is explicitly audited to only continue observing when the source url is for initial webui.

    But we have InitialWebUIPageLoadMetricsObserver which aims to collect the metrics for InitialWebUI, and that is also counted in the test since they all record the same glbal PageLoad UKM entry name.

    fyi:
    For UMA metrics, we have implemented generic MetricsNameMapper which intercepts and mapps subprocess metrics before they are merged into the browser process. This is filter InitialWebUI metrics out. (Note: we will map the metrics name in the future, but right now we are just dropping all of them).

    We are separating UKM by the source URL based filtering.

    Eriko Kurimoto

    Acknowledged

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
      Gerrit-Change-Number: 7733782
      Gerrit-PatchSet: 19
      Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
      Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 07:22:57 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Takashi Toyoshima <toyo...@chromium.org>
      satisfied_requirement
      open
      diffy

      Eriko Kurimoto (Gerrit)

      unread,
      4:20 AM (7 hours ago) 4:20 AM
      to Shunya Shishido, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

      Eriko Kurimoto voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
      Gerrit-Change-Number: 7733782
      Gerrit-PatchSet: 19
      Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
      Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 08:19:46 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Eriko Kurimoto (Gerrit)

      unread,
      4:37 AM (7 hours ago) 4:37 AM
      to Shunya Shishido, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

      Eriko Kurimoto voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
      Gerrit-Change-Number: 7733782
      Gerrit-PatchSet: 20
      Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
      Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 08:37:29 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Eriko Kurimoto (Gerrit)

      unread,
      5:43 AM (6 hours ago) 5:43 AM
      to Shunya Shishido, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, chromiu...@luci-project-accounts.iam.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

      Eriko Kurimoto voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
      Gerrit-Change-Number: 7733782
      Gerrit-PatchSet: 21
      Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
      Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-Comment-Date: Tue, 14 Apr 2026 09:43:20 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      chromium-scoped@luci-project-accounts.iam.gserviceaccount.com (Gerrit)

      unread,
      6:12 AM (6 hours ago) 6:12 AM
      to Eriko Kurimoto, Shunya Shishido, Takashi Toyoshima, android-bu...@system.gserviceaccount.com, Chromium Metrics Reviews, chromium...@chromium.org, net-r...@chromium.org, devtools...@chromium.org, chrome-intell...@chromium.org, bmcquad...@chromium.org, csharris...@chromium.org, loading-rev...@chromium.org, speed-metrics...@chromium.org, speed-metr...@chromium.org

      chromiu...@luci-project-accounts.iam.gserviceaccount.com submitted the change with unreviewed changes

      Unreviewed changes

      14 is the latest approved patch-set.
      The change was submitted with unreviewed changes in the following files:

      ```
      The name of the file: chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
      Insertions: 71, Deletions: 27.

      @@ -1165,7 +1165,26 @@
      VerifyNavigationMetrics({url});
      }

      -IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, CachedPage) {
      +class PageLoadMetricsBrowserTestWithInitialWebUIParam
      + : public PageLoadMetricsBrowserTest,
      + public ::testing::WithParamInterface<bool> {
      + public:
      + PageLoadMetricsBrowserTestWithInitialWebUIParam() {
      + if (GetParam()) {
      + sub_feature_list_.InitWithFeatures(
      + {features::kInitialWebUI, features::kWebUIReloadButton}, {});
      + } else {
      + sub_feature_list_.InitWithFeatures(
      + {}, {features::kInitialWebUI, features::kWebUIReloadButton});
      + }
      + }
      +
      + private:
      + base::test::ScopedFeatureList sub_feature_list_;
      +};
      +
      +IN_PROC_BROWSER_TEST_P(PageLoadMetricsBrowserTestWithInitialWebUIParam,
      + CachedPage) {
      ASSERT_TRUE(embedded_test_server()->Start());

      GURL url = embedded_test_server()->GetURL(kCacheablePathPrefix);
      @@ -1176,14 +1195,14 @@

      auto entries =
      test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
      - size_t expected_entries = 1;
      - // TODO(crbug.com/501008370): Clarify how to handle global PageLoad UKM entries
      - // recorded for InitialWebUI in tests. Currently they pollute generic tests
      - // that check the total count of PageLoad entries.
      - if (base::FeatureList::IsEnabled(features::kInitialWebUI)) {
      - expected_entries = 2;
      + // TODO(crbug.com/501008370): Clarify how to handle global PageLoad UKM
      + // entries recorded for InitialWebUI in tests. Currently they pollute
      + // generic tests that check the total count of PageLoad entries.
      + if (GetParam()) {
      + EXPECT_GE(entries.size(), 1u);
      + } else {
      + EXPECT_EQ(1u, entries.size());
      }
      - EXPECT_EQ(expected_entries, entries.size());


      for (const auto& kv : entries) {
           EXPECT_FALSE(test_ukm_recorder_->EntryHasMetric(kv.second.get(),
      @@ -1220,9 +1239,14 @@
      VerifyNavigationMetrics({url});
      }

      +INSTANTIATE_TEST_SUITE_P(All,
      + PageLoadMetricsBrowserTestWithInitialWebUIParam,
      + ::testing::Bool());
      +
      // Test that we log kMainFrameResource_RequestHasNoStore when response has
      // cache-control:no-store response header.
      -IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest, MainFrameHasNoStore) {
      +IN_PROC_BROWSER_TEST_P(PageLoadMetricsBrowserTestWithInitialWebUIParam,
      + MainFrameHasNoStore) {
      // Create a HTTP response to control main-frame navigation to send no-store
      // response.
      net::test_server::ControllableHttpResponse response(embedded_test_server(),
      @@ -1254,11 +1278,11 @@

      auto entries =
      test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
      - size_t expected_entries = 1;
      - if (base::FeatureList::IsEnabled(features::kInitialWebUI)) {
      - expected_entries = 2;
      + if (GetParam()) {
      + EXPECT_GE(entries.size(), 1u);
      + } else {
      + EXPECT_EQ(1u, entries.size());
      }
      - EXPECT_EQ(expected_entries, entries.size());

      size_t count = 0;

      for (const auto& kv : entries) {
      @@ -1274,7 +1298,7 @@

      // Test that we set kMainFrameResource_RequestHasNoStore to false when response
      // has no cache-control:no-store header.
      -IN_PROC_BROWSER_TEST_F(PageLoadMetricsBrowserTest,
      +IN_PROC_BROWSER_TEST_P(PageLoadMetricsBrowserTestWithInitialWebUIParam,
      MainFrameDoesnotHaveNoStore) {
      ASSERT_TRUE(embedded_test_server()->Start());

      @@ -1287,11 +1311,11 @@

      auto entries =
      test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
      - size_t expected_entries = 1;
      - if (base::FeatureList::IsEnabled(features::kInitialWebUI)) {
      - expected_entries = 2;
      + if (GetParam()) {
      + EXPECT_GE(entries.size(), 1u);
      + } else {
      + EXPECT_EQ(1u, entries.size());
      }
      - EXPECT_EQ(expected_entries, entries.size());

      size_t count = 0;

      for (const auto& kv : entries) {
      @@ -4669,6 +4693,24 @@
      content::test::PrerenderTestHelper prerender_helper_;
      };

      +class PrerenderPageLoadMetricsBrowserTestWithInitialWebUIParam
      + : public PrerenderPageLoadMetricsBrowserTest,
      + public ::testing::WithParamInterface<bool> {
      + public:
      + PrerenderPageLoadMetricsBrowserTestWithInitialWebUIParam() {
      + if (GetParam()) {
      + sub_feature_list_.InitWithFeatures(
      + {features::kInitialWebUI, features::kWebUIReloadButton}, {});
      + } else {
      + sub_feature_list_.InitWithFeatures(
      + {}, {features::kInitialWebUI, features::kWebUIReloadButton});
      + }
      + }
      +
      + private:
      + base::test::ScopedFeatureList sub_feature_list_;
      +};
      +
      IN_PROC_BROWSER_TEST_F(PrerenderPageLoadMetricsBrowserTest, PrerenderEvent) {
      using page_load_metrics::internal::kPageLoadPrerender2Event;
      using page_load_metrics::internal::PageLoadPrerenderEvent;
      @@ -4708,7 +4750,7 @@
      PageLoadPrerenderEvent::kPrerenderActivationNavigation, 1);
      }

      -IN_PROC_BROWSER_TEST_F(PrerenderPageLoadMetricsBrowserTest,
      +IN_PROC_BROWSER_TEST_P(PrerenderPageLoadMetricsBrowserTestWithInitialWebUIParam,
      PrerenderingDoNotRecordUKM) {
      ASSERT_TRUE(embedded_test_server()->Start());

      @@ -4724,23 +4766,25 @@
      EXPECT_FALSE(host_observer.was_activated());
      auto entries =
      test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
      - size_t expected_entries = 0;
      - if (base::FeatureList::IsEnabled(features::kInitialWebUI)) {
      - expected_entries = 1;
      - }
      + size_t expected_entries = GetParam() ? 1 : 0;
      EXPECT_EQ(expected_entries, entries.size());

      // Activate.
      prerender_helper_.NavigatePrimaryPage(prerender_url);
      EXPECT_TRUE(host_observer.was_activated());
      entries = test_ukm_recorder_->GetMergedEntriesByName(PageLoad::kEntryName);
      - expected_entries = 1;
      - if (base::FeatureList::IsEnabled(features::kInitialWebUI)) {
      - expected_entries = 2;
      + if (GetParam()) {
      + EXPECT_GE(entries.size(), 1u);
      + } else {
      + EXPECT_EQ(1u, entries.size());
      }
      - EXPECT_EQ(expected_entries, entries.size());
      }

      +INSTANTIATE_TEST_SUITE_P(
      + All,
      + PrerenderPageLoadMetricsBrowserTestWithInitialWebUIParam,
      + ::testing::Bool());
      +
      enum BackForwardCacheStatus { kDisabled = 0, kEnabled = 1 };

      class PageLoadMetricsBackForwardCacheBrowserTest
      ```

      Change information

      Commit message:
      WaaP: Fix PageLoadMetrics tests for InitialWebUI


      This CL fixes PageLoadMetrics integration tests and crashes that
      occur when the `InitialWebUI` feature is enabled.

      When InitialWebUI is enabled, WebUI toolbar is loaded and it records
      metrics that pollutes the test expectations in tests which assume only
      the test-initizated navigation occurs.
      Bug: 477426026
      Change-Id: If498dccb175297449067f758074033e99870e0f4
      Reviewed-by: Takashi Toyoshima <toyo...@chromium.org>
      Reviewed-by: Shunya Shishido <sisid...@chromium.org>
      Commit-Queue: Eriko Kurimoto <elk...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1614349}
      Files:
      • M chrome/browser/page_load_metrics/page_load_metrics_browsertest.cc
      Change size: M
      Delta: 1 file changed, 116 insertions(+), 43 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Takashi Toyoshima, +1 by Shunya Shishido
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: If498dccb175297449067f758074033e99870e0f4
      Gerrit-Change-Number: 7733782
      Gerrit-PatchSet: 22
      Gerrit-Owner: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Eriko Kurimoto <elk...@chromium.org>
      Gerrit-Reviewer: Shunya Shishido <sisid...@chromium.org>
      Gerrit-Reviewer: Takashi Toyoshima <toyo...@chromium.org>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages