Delay BEST_EFFORT tasks during startup until tabs are loaded/idle [chromium/src : main]

0 views
Skip to first unread message

Joe Mason (Gerrit)

unread,
Jun 29, 2026, 6:06:21 PM (9 days ago) Jun 29
to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com
Attention needed from Gabriel Charette

Joe Mason added 1 comment

File chrome/browser/sessions/session_restore.cc
Line 1649, Patchset 9 (Latest): AfterStartupTaskUtils::RegisterStartupInProgressRef();
Joe Mason . unresolved

Microsoft has a patch at https://crrev.com/c/7982644 that adds a BEST_EFFORT task to session restore, which would conflict with this.

I've asked them to put it behind a feature flag. Can you wrap this in a flag too, so we can make sure they aren't both enabled at the same time?

Open in Gerrit

Related details

Attention is currently required from:
  • Gabriel Charette
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: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
Gerrit-Change-Number: 8005895
Gerrit-PatchSet: 9
Gerrit-Owner: Gabriel Charette <g...@chromium.org>
Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
Gerrit-CC: Joe Mason <joenot...@google.com>
Gerrit-Attention: Gabriel Charette <g...@chromium.org>
Gerrit-Comment-Date: Mon, 29 Jun 2026 22:06:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Gabriel Charette (Gerrit)

unread,
Jul 3, 2026, 6:43:42 PM (5 days ago) Jul 3
to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com
Attention needed from Joe Mason

Gabriel Charette added 2 comments

Patchset-level comments
File-level comment, Patchset 22 (Latest):
Gabriel Charette . resolved

@Joe PTaL

File chrome/browser/sessions/session_restore.cc
Line 1649, Patchset 9: AfterStartupTaskUtils::RegisterStartupInProgressRef();
Joe Mason . resolved

Microsoft has a patch at https://crrev.com/c/7982644 that adds a BEST_EFFORT task to session restore, which would conflict with this.

I've asked them to put it behind a feature flag. Can you wrap this in a flag too, so we can make sure they aren't both enabled at the same time?

Gabriel Charette

Thanks, I actually put everything behind a feature after all as shifting guardrails (PPM guardrails even more so) should be done carefully.

Open in Gerrit

Related details

Attention is currently required from:
  • Joe Mason
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: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
    Gerrit-Change-Number: 8005895
    Gerrit-PatchSet: 22
    Gerrit-Owner: Gabriel Charette <g...@chromium.org>
    Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
    Gerrit-Reviewer: Joe Mason <joenot...@google.com>
    Gerrit-Attention: Joe Mason <joenot...@google.com>
    Gerrit-Comment-Date: Fri, 03 Jul 2026 22:43:25 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Joe Mason <joenot...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Joe Mason (Gerrit)

    unread,
    Jul 6, 2026, 11:30:33 AM (3 days ago) Jul 6
    to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com
    Attention needed from Gabriel Charette

    Joe Mason added 13 comments

    File chrome/browser/after_startup_task_utils.cc
    Line 8, Patchset 22 (Latest):#include "base/logging.h"
    Joe Mason . unresolved

    Nit: unused.

    Line 153, Patchset 22 (Latest): DCHECK_GT(g_ref_count, 0);
    Joe Mason . unresolved

    Nit: prefer CHECK_GT here, since this doesn't run in a performance-sensitive loop. (At least, I assume there won't be thousands of these refs churning at startup...)

    Also please #include "base/check_op.h" for IWYU.

    Line 187, Patchset 22 (Latest): void OnStartupComplete() {
    Joe Mason . unresolved

    Nit: rename this to `OnFirstVisiblePageLoadComplete`? It's confusing now because `OnStartupComplete` feels like it should be triggered when the refcount reaches 0.

    Line 209, Patchset 22 (Latest): !base::FeatureList::IsEnabled(
    Joe Mason . unresolved

    Nit: please #include "base/feature_list.h" for IWYU.

    Line 241, Patchset 22 (Latest): return;
    Joe Mason . unresolved

    Nit: I would CHECK here, since logically this should only be called once. (If it's called multiple times in tests that aren't worth refactoring, add a `BeginMonitoringStartupCompletionForTesting` that skips the CHECK?)

    Line 258, Patchset 22 (Latest): if (performance_manager::PerformanceManager::IsAvailable()) {
    Joe Mason . unresolved

    Why is this added? Seems valuable to CHECK that PerformanceManager is available at this point.

    If it's for tests, I'd do something like:

    ```
    void BeginMonitoringStartupCompletionImpl(bool install_pm_observer) {
    CHECK(!g_is_monitoring_started);
    g_is_monitoring_started = true;
    ...
    if (install_pm_observer) {
    StartupObserver::Start(); // CHECKs PerformanceManager::IsAvailable()
    }
    ...
    }
    void BeginMonitoringStartupCompletion() {
    BeginMonitoringStartupCompletionImpl(true);
    }

    void BeginMonitoringStartupCompletionForTesting() {
    if (g_is_monitoring_started) {
    return;
    }
    BeginMonitoringStartupCompletionImpl(PerformanceManager::IsAvailable());
    }
    ```
    Line 275, Patchset 22 (Latest): : release_runner_(std::move(release_callback)) {}
    Joe Mason . unresolved

    Nit: please #include <utility> for IWYU.

    Line 288, Patchset 22 (Latest): base::BindOnce(&ReleaseRef));
    Joe Mason . unresolved

    Nit: please #include "base/functional/bind.h" and "base/functional/callback.h" for IWYU.

    File chrome/browser/chrome_browser_main.cc
    Line 1696, Patchset 22 (Latest): if (base::FeatureList::IsEnabled(features::kImprovedStartupBestEffortDelay)) {
    Joe Mason . unresolved

    Nit: please #include "base/feature_list.h" for IWYU.

    File chrome/browser/metrics/first_web_contents_profiler.cc
    Line 13, Patchset 22 (Latest):#include "base/logging.h"
    Joe Mason . unresolved

    Nit: unused.

    Line 77, Patchset 22 (Latest): if (base::FeatureList::IsEnabled(features::kImprovedStartupBestEffortDelay)) {
    Joe Mason . unresolved

    Nit: please #include "base/feature_list.h" for IWYU.

    File chrome/browser/sessions/session_restore.cc
    Line 27, Patchset 22 (Latest):#include "base/logging.h"
    Joe Mason . unresolved

    Nit: unused.

    Line 1653, Patchset 22 (Latest): if (base::FeatureList::IsEnabled(features::kImprovedStartupBestEffortDelay)) {
    Joe Mason . unresolved

    This should have a separate feature, or an "include session restore" FeatureParam, so that we can turn it off separately if Microsoft's patch to use BEST_EFFORT tasks in session restore is enabled.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Gabriel Charette
    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: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
      Gerrit-Change-Number: 8005895
      Gerrit-PatchSet: 22
      Gerrit-Owner: Gabriel Charette <g...@chromium.org>
      Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
      Gerrit-Reviewer: Joe Mason <joenot...@google.com>
      Gerrit-Attention: Gabriel Charette <g...@chromium.org>
      Gerrit-Comment-Date: Mon, 06 Jul 2026 15:30:23 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Gabriel Charette (Gerrit)

      unread,
      Jul 7, 2026, 3:05:00 PM (2 days ago) Jul 7
      to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com

      Message from Gabriel Charette

      All code review comments have been addressed, including making the StartupObserver header block continuous inside #if !IS_ANDROID. CQ Dry Run on Patch Set 25 passed across all builders. @Joe PTaL!

      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: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
      Gerrit-Change-Number: 8005895
      Gerrit-PatchSet: 25
      Gerrit-Owner: Gabriel Charette <g...@chromium.org>
      Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
      Gerrit-Reviewer: Joe Mason <joenot...@google.com>
      Gerrit-Comment-Date: Tue, 07 Jul 2026 19:04:49 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Gabriel Charette (Gerrit)

      unread,
      Jul 7, 2026, 3:07:54 PM (2 days ago) Jul 7
      to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com
      Attention needed from Joe Mason

      Gabriel Charette added 14 comments

      Patchset-level comments
      File-level comment, Patchset 26 (Latest):
      Gabriel Charette . resolved

      PTanL

      File chrome/browser/after_startup_task_utils.cc
      Line 8, Patchset 22:#include "base/logging.h"
      Joe Mason . resolved

      Nit: unused.

      Gabriel Charette

      Done

      Line 153, Patchset 22: DCHECK_GT(g_ref_count, 0);
      Joe Mason . resolved

      Nit: prefer CHECK_GT here, since this doesn't run in a performance-sensitive loop. (At least, I assume there won't be thousands of these refs churning at startup...)

      Also please #include "base/check_op.h" for IWYU.

      Gabriel Charette

      Done

      Line 187, Patchset 22: void OnStartupComplete() {
      Joe Mason . resolved

      Nit: rename this to `OnFirstVisiblePageLoadComplete`? It's confusing now because `OnStartupComplete` feels like it should be triggered when the refcount reaches 0.

      Gabriel Charette

      Done

      Line 209, Patchset 22: !base::FeatureList::IsEnabled(
      Joe Mason . resolved

      Nit: please #include "base/feature_list.h" for IWYU.

      Gabriel Charette

      Done

      Line 241, Patchset 22: return;
      Joe Mason . resolved

      Nit: I would CHECK here, since logically this should only be called once. (If it's called multiple times in tests that aren't worth refactoring, add a `BeginMonitoringStartupCompletionForTesting` that skips the CHECK?)

      Gabriel Charette

      Done

      Line 258, Patchset 22: if (performance_manager::PerformanceManager::IsAvailable()) {
      Joe Mason . resolved

      Why is this added? Seems valuable to CHECK that PerformanceManager is available at this point.

      If it's for tests, I'd do something like:

      ```
      void BeginMonitoringStartupCompletionImpl(bool install_pm_observer) {
      CHECK(!g_is_monitoring_started);
      g_is_monitoring_started = true;
      ...
      if (install_pm_observer) {
      StartupObserver::Start(); // CHECKs PerformanceManager::IsAvailable()
      }
      ...
      }
      void BeginMonitoringStartupCompletion() {
      BeginMonitoringStartupCompletionImpl(true);
      }

      void BeginMonitoringStartupCompletionForTesting() {
      if (g_is_monitoring_started) {
      return;
      }
      BeginMonitoringStartupCompletionImpl(PerformanceManager::IsAvailable());
      }
      ```
      Gabriel Charette

      Good point. Tweaked ifdefs and test-only paths to make this cleaner.

      Line 275, Patchset 22: : release_runner_(std::move(release_callback)) {}
      Joe Mason . resolved

      Nit: please #include <utility> for IWYU.

      Gabriel Charette

      Done

      Line 288, Patchset 22: base::BindOnce(&ReleaseRef));
      Joe Mason . resolved

      Nit: please #include "base/functional/bind.h" and "base/functional/callback.h" for IWYU.

      Gabriel Charette

      Done

      File chrome/browser/chrome_browser_main.cc
      Line 1696, Patchset 22: if (base::FeatureList::IsEnabled(features::kImprovedStartupBestEffortDelay)) {
      Joe Mason . resolved

      Nit: please #include "base/feature_list.h" for IWYU.

      Gabriel Charette

      Done

      File chrome/browser/metrics/first_web_contents_profiler.cc
      Line 13, Patchset 22:#include "base/logging.h"
      Joe Mason . resolved

      Nit: unused.

      Gabriel Charette

      Done

      Line 77, Patchset 22: if (base::FeatureList::IsEnabled(features::kImprovedStartupBestEffortDelay)) {
      Joe Mason . resolved

      Nit: please #include "base/feature_list.h" for IWYU.

      Gabriel Charette

      Done

      File chrome/browser/sessions/session_restore.cc
      Line 27, Patchset 22:#include "base/logging.h"
      Joe Mason . resolved

      Nit: unused.

      Gabriel Charette

      Done

      Line 1653, Patchset 22: if (base::FeatureList::IsEnabled(features::kImprovedStartupBestEffortDelay)) {
      Joe Mason . resolved

      This should have a separate feature, or an "include session restore" FeatureParam, so that we can turn it off separately if Microsoft's patch to use BEST_EFFORT tasks in session restore is enabled.

      Gabriel Charette

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Joe Mason
      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: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
        Gerrit-Change-Number: 8005895
        Gerrit-PatchSet: 26
        Gerrit-Owner: Gabriel Charette <g...@chromium.org>
        Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
        Gerrit-Reviewer: Joe Mason <joenot...@google.com>
        Gerrit-Attention: Joe Mason <joenot...@google.com>
        Gerrit-Comment-Date: Tue, 07 Jul 2026 19:07:40 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Joe Mason <joenot...@google.com>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Gabriel Charette (Gerrit)

        unread,
        Jul 7, 2026, 3:07:59 PM (2 days ago) Jul 7
        to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com
        Attention needed from Joe Mason

        Gabriel Charette voted Auto-Submit+1

        Auto-Submit+1
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Joe Mason
        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: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
        Gerrit-Change-Number: 8005895
        Gerrit-PatchSet: 26
        Gerrit-Owner: Gabriel Charette <g...@chromium.org>
        Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
        Gerrit-Reviewer: Joe Mason <joenot...@google.com>
        Gerrit-Attention: Joe Mason <joenot...@google.com>
        Gerrit-Comment-Date: Tue, 07 Jul 2026 19:07:50 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Joe Mason (Gerrit)

        unread,
        Jul 7, 2026, 4:57:20 PM (2 days ago) Jul 7
        to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com
        Attention needed from Gabriel Charette

        Joe Mason added 2 comments

        File chrome/browser/after_startup_task_utils.cc
        Line 147, Patchset 26 (Latest):int g_ref_count = 1;
        Joe Mason . unresolved

        Nit: There's also a hidden side effect of this on Android: since the ReleaseRef() is inside `!BUILDFLAG(IS_ANDROID)`, NONE of the StartupInProgressRefs will ever do anything.

        Which is good, because AfterStartupTaskUtils.java calls `SetBrowserStartupIsComplete` directly (at https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/after_startup_task_utils_android.cc;l=24;drc=fa29eb59b7b46bda1557299a1645ddf3911c69bf) so this patch has no behaviour change on Android.

        That's worth a comment because otherwise it would be hard to notice the importance of skipping ReleaseRef() on Android.

        As a followup, we might want to make AfterStartupTaskUtils.java create a StartupInProgressRef instead of calling `SetBrowserStartupIsComplete`, and enabling that `ReleaseRef()` call on Android too. Would need some refactoring though.

        Line 269, Patchset 26 (Latest): base::Minutes(3));
        Joe Mason . unresolved

        Don't we still want the failsafe timeout on Android?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Gabriel Charette
        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: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
          Gerrit-Change-Number: 8005895
          Gerrit-PatchSet: 26
          Gerrit-Owner: Gabriel Charette <g...@chromium.org>
          Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
          Gerrit-Reviewer: Joe Mason <joenot...@google.com>
          Gerrit-Attention: Gabriel Charette <g...@chromium.org>
          Gerrit-Comment-Date: Tue, 07 Jul 2026 20:57:10 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Gabriel Charette (Gerrit)

          unread,
          Jul 8, 2026, 9:35:36 PM (7 hours ago) Jul 8
          to Gabriel Charette, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, loading-rev...@chromium.org, speed-metr...@chromium.org, csharris...@chromium.org, bmcquad...@chromium.org, speed-metrics...@chromium.org, asvitki...@chromium.org, chromiumme...@microsoft.com

          Message from Gabriel Charette

          Patch Set 27 isolates all startup ref concepts (StartupInProgressRef, RegisterStartupInProgressRef, g_ref_count, ReleaseRef, StartupObserver) inside #if !BUILDFLAG(IS_ANDROID) with a TODO(crbug.com/528419929) to refactor AfterStartupTaskUtils.java on Android, and preserves the 3-minute failsafe timer in BeginMonitoringStartupCompletion on Android. CQ Dry Run on PS27 passed across all builders. @Joe PTaL!

          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: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: Iae66c19cb0316c5a207d55a5e3bbeb67be6252bf
          Gerrit-Change-Number: 8005895
          Gerrit-PatchSet: 27
          Gerrit-Owner: Gabriel Charette <g...@chromium.org>
          Gerrit-Reviewer: Gabriel Charette <g...@chromium.org>
          Gerrit-Reviewer: Joe Mason <joenot...@google.com>
          Gerrit-Comment-Date: Thu, 09 Jul 2026 01:35:26 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy
          Reply all
          Reply to author
          Forward
          0 new messages