Introduce sync InitialWebUINavigationURLLoader [chromium/src : main]

0 views
Skip to first unread message

Rakina Zata Amni (Gerrit)

unread,
Dec 8, 2025, 10:01:07 AM (9 days ago) Dec 8
to Alex Moshchuk, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Alex Moshchuk

Rakina Zata Amni added 2 comments

Patchset-level comments
File-level comment, Patchset 7 (Latest):
Rakina Zata Amni . unresolved

Hi Alex, would you be able to take a look? I'm a bit unsure if this is the nicest way and it's small enough, so I would like to get your opinion if possible, but if you're fully booked by the hackathon that's fine too -- just let me know if it's better to get other people to review this instead. Thanks in advance!

Also I've been trying to write a browser test which has been pretty annoying so far due to having to mock the ResourceBundle loading in the renderer, but I'll make sure to have tests either here or in a separate CL before landing (I confirmed manually that it works and is synchronous)

File content/browser/webui/initial_webui_navigation_url_loader.h
Line 16, Patchset 7 (Latest):class InitialWebUINavigationURLLoader : public NavigationURLLoader {
Rakina Zata Amni . unresolved

This looks similar to `CachedNavigationURLLoader` and I was thinking of just combining them, but there are some WebUI specific calls in the impl (although pretty simple) and also the cached one can be async due to BFCache (so it can't just be called a `SyncNavigationURLLoader`). So I decided to just make it a separate class, but let me know if there are better options here.

Open in Gerrit

Related details

Attention is currently required from:
  • Alex Moshchuk
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
Gerrit-Change-Number: 7236606
Gerrit-PatchSet: 7
Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Alex Moshchuk <ale...@chromium.org>
Gerrit-Comment-Date: Mon, 08 Dec 2025 15:00:42 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Rakina Zata Amni (Gerrit)

unread,
Dec 12, 2025, 1:41:06 AM (5 days ago) Dec 12
to Fergal Daly, Ming-Ying Chung, Keren Zhu, Alex Moshchuk, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Alex Moshchuk and Fergal Daly

Rakina Zata Amni added 1 comment

Patchset-level comments
File-level comment, Patchset 10 (Latest):
Rakina Zata Amni . resolved

Adding Fergal to review since Alex is still OOO, PTAL :)

Open in Gerrit

Related details

Attention is currently required from:
  • Alex Moshchuk
  • Fergal Daly
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
Gerrit-Change-Number: 7236606
Gerrit-PatchSet: 10
Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Keren Zhu <kere...@chromium.org>
Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
Gerrit-Attention: Alex Moshchuk <ale...@chromium.org>
Gerrit-Attention: Fergal Daly <fer...@chromium.org>
Gerrit-Comment-Date: Fri, 12 Dec 2025 06:40:31 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Fergal Daly (Gerrit)

unread,
Dec 12, 2025, 2:30:04 AM (5 days ago) Dec 12
to Rakina Zata Amni, Fergal Daly, Ming-Ying Chung, Keren Zhu, Alex Moshchuk, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Alex Moshchuk and Rakina Zata Amni

Fergal Daly added 3 comments

Patchset-level comments
Fergal Daly . resolved

Nothing looks wrong and I guess everything only impacts us excep for that one `< READY_TO_COMMIT`.

File content/browser/renderer_host/navigation_request.cc
Line 5699, Patchset 10 (Latest): state_ < NavigationState::READY_TO_COMMIT &&
Fergal Daly . unresolved

This seems kinda random, what happens if you don't have this? Should there be a test?

File content/browser/webui/initial_webui_navigation_url_loader.h
Line 16, Patchset 7:class InitialWebUINavigationURLLoader : public NavigationURLLoader {
Rakina Zata Amni . resolved

This looks similar to `CachedNavigationURLLoader` and I was thinking of just combining them, but there are some WebUI specific calls in the impl (although pretty simple) and also the cached one can be async due to BFCache (so it can't just be called a `SyncNavigationURLLoader`). So I decided to just make it a separate class, but let me know if there are better options here.

Fergal Daly

Perhaps if https://crbug.com/40188852 was fixed it would make sense but I'm not suggesting you fix that first.

Open in Gerrit

Related details

Attention is currently required from:
  • Alex Moshchuk
  • Rakina Zata Amni
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
Gerrit-Change-Number: 7236606
Gerrit-PatchSet: 10
Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Keren Zhu <kere...@chromium.org>
Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
Gerrit-Attention: Alex Moshchuk <ale...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Comment-Date: Fri, 12 Dec 2025 07:29:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Rakina Zata Amni <rak...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Rakina Zata Amni (Gerrit)

unread,
Dec 12, 2025, 2:44:26 AM (5 days ago) Dec 12
to Fergal Daly, Ming-Ying Chung, Keren Zhu, Alex Moshchuk, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Alex Moshchuk and Fergal Daly

Rakina Zata Amni added 1 comment

File content/browser/renderer_host/navigation_request.cc
Line 5699, Patchset 10: state_ < NavigationState::READY_TO_COMMIT &&
Fergal Daly . unresolved

This seems kinda random, what happens if you don't have this? Should there be a test?

Rakina Zata Amni

Clarified in the comment. We don't need to do this if we've committed synchronously (and initial WebUI navs won't need to create speculative RFHs anyways), and calling `GetAssociatedRFHType()` would cause a crash if we call it when we're already at `READY_TO_COMMIT`. We already hit that crash in our test without this, which is why I added this.

Open in Gerrit

Related details

Attention is currently required from:
  • Alex Moshchuk
  • Fergal Daly
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
Gerrit-Change-Number: 7236606
Gerrit-PatchSet: 11
Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Keren Zhu <kere...@chromium.org>
Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
Gerrit-Attention: Alex Moshchuk <ale...@chromium.org>
Gerrit-Attention: Fergal Daly <fer...@chromium.org>
Gerrit-Comment-Date: Fri, 12 Dec 2025 07:44:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Fergal Daly <fer...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Fergal Daly (Gerrit)

unread,
Dec 12, 2025, 3:20:32 AM (5 days ago) Dec 12
to Rakina Zata Amni, Fergal Daly, Ming-Ying Chung, Keren Zhu, Alex Moshchuk, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Alex Moshchuk and Rakina Zata Amni

Fergal Daly added 2 comments

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Fergal Daly . resolved

I'm OK with your submitting this since it seems like we would only be breaking ourselves. I leave it up to you whether to wait for Alex.

File content/browser/renderer_host/navigation_request.cc
Line 5699, Patchset 10: state_ < NavigationState::READY_TO_COMMIT &&
Fergal Daly . resolved

This seems kinda random, what happens if you don't have this? Should there be a test?

Rakina Zata Amni

Clarified in the comment. We don't need to do this if we've committed synchronously (and initial WebUI navs won't need to create speculative RFHs anyways), and calling `GetAssociatedRFHType()` would cause a crash if we call it when we're already at `READY_TO_COMMIT`. We already hit that crash in our test without this, which is why I added this.

Fergal Daly

Thanks.

Open in Gerrit

Related details

Attention is currently required from:
  • Alex Moshchuk
  • Rakina Zata Amni
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
Gerrit-Change-Number: 7236606
Gerrit-PatchSet: 11
Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Keren Zhu <kere...@chromium.org>
Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
Gerrit-Attention: Alex Moshchuk <ale...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Comment-Date: Fri, 12 Dec 2025 08:19:56 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Rakina Zata Amni <rak...@chromium.org>
Comment-In-Reply-To: Fergal Daly <fer...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Fergal Daly (Gerrit)

unread,
Dec 12, 2025, 3:20:33 AM (5 days ago) Dec 12
to Rakina Zata Amni, Fergal Daly, Ming-Ying Chung, Keren Zhu, Alex Moshchuk, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Alex Moshchuk and Rakina Zata Amni

Fergal Daly voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Alex Moshchuk
  • Rakina Zata Amni
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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
    Gerrit-Change-Number: 7236606
    Gerrit-PatchSet: 11
    Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
    Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Keren Zhu <kere...@chromium.org>
    Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
    Gerrit-Attention: Alex Moshchuk <ale...@chromium.org>
    Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Comment-Date: Fri, 12 Dec 2025 08:20:05 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Alex Moshchuk (Gerrit)

    unread,
    Dec 12, 2025, 2:50:01 PM (4 days ago) Dec 12
    to Rakina Zata Amni, Fergal Daly, Ming-Ying Chung, Keren Zhu, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Rakina Zata Amni

    Alex Moshchuk voted and added 4 comments

    Votes added by Alex Moshchuk

    Code-Review+1

    4 comments

    Patchset-level comments
    Alex Moshchuk . resolved

    LGTM, thanks! (Sorry it took me a while to get to it, with CSA hackathon and being out sick most of the week.)

    File content/browser/renderer_host/navigation_request.cc
    Line 5701, Patchset 11 (Latest): state_ < NavigationState::READY_TO_COMMIT &&
    Alex Moshchuk . unresolved

    Curious to understand why this wasn't needed before this change, but is needed now? It seems that previously this was kind of handled on lines 5703-5706 below, which should also work for the new loader type? (Though I'm surprised it's behind a disabled-by-default feature param, kCreateSpeculativeRFHFilterRestore - do you know why?)

    File content/browser/webui/initial_webui_browsertest.cc
    Line 110, Patchset 11 (Latest): // differnt from what happens in production (which will use a resource ID),
    Alex Moshchuk . unresolved

    Please fix this WARNING reported by Spellchecker: "differnt" is a possible misspelling of "different".

    To bypass Spellchecker, ad...

    "differnt" is a possible misspelling of "different".

    To bypass Spellchecker, add a footer with DISABLE_SPELLCHECKER

    File content/browser/webui/initial_webui_navigation_url_loader.cc
    Line 73, Patchset 11 (Latest): CHECK(source);
    Alex Moshchuk . unresolved

    It seems that we might crash here for non-existent/unhandled WebUI URLs? Would the URL always be specified by something in the browser process, or could it come from a WebUI renderer? (If the latter might be possible, it's probably not desirable to crash.)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rakina Zata Amni
    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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
    Gerrit-Change-Number: 7236606
    Gerrit-PatchSet: 11
    Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
    Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Keren Zhu <kere...@chromium.org>
    Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
    Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Comment-Date: Fri, 12 Dec 2025 19:49:49 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rakina Zata Amni (Gerrit)

    unread,
    Dec 15, 2025, 4:04:11 AM (yesterday) Dec 15
    to Alex Moshchuk, Fergal Daly, Ming-Ying Chung, Keren Zhu, Chromium LUCI CQ, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org

    Rakina Zata Amni voted and added 5 comments

    Votes added by Rakina Zata Amni

    Commit-Queue+2

    5 comments

    Patchset-level comments
    Rakina Zata Amni . resolved

    Hi Alex, would you be able to take a look? I'm a bit unsure if this is the nicest way and it's small enough, so I would like to get your opinion if possible, but if you're fully booked by the hackathon that's fine too -- just let me know if it's better to get other people to review this instead. Thanks in advance!

    Also I've been trying to write a browser test which has been pretty annoying so far due to having to mock the ResourceBundle loading in the renderer, but I'll make sure to have tests either here or in a separate CL before landing (I confirmed manually that it works and is synchronous)

    Rakina Zata Amni . resolved

    Thanks for all the reviews!!

    File content/browser/renderer_host/navigation_request.cc
    Line 5701, Patchset 11: state_ < NavigationState::READY_TO_COMMIT &&
    Alex Moshchuk . resolved

    Curious to understand why this wasn't needed before this change, but is needed now? It seems that previously this was kind of handled on lines 5703-5706 below, which should also work for the new loader type? (Though I'm surprised it's behind a disabled-by-default feature param, kCreateSpeculativeRFHFilterRestore - do you know why?)

    Rakina Zata Amni

    Hmm, actually I think for prerender, we would have gone to DidCommit synchronously as well and deleted the NavigationRequest and returning earlier around line 5682. For BFCache, it's actually still asynchronous due to the task posted from `CachedNavigationURLLoader`, and so it hasn't reached `READY_TO_COMMIT` yet. The associated RFH type should be CURRENT due to [this code](https://source.chromium.org/chromium/chromium/src/+/main:content/browser/renderer_host/render_frame_host_manager.cc;l=1537-1538;drc=b62302554a75f11c55a399d210aa21b2eb441301).
    So maybe we don't need the explicit restore filter.. cc @g...@google.com, did we actually see cases for restore navs hitting this path? It seems like it was added in crrev.com/c/5737130 without a repro test.

    File content/browser/webui/initial_webui_browsertest.cc
    Line 110, Patchset 11: // differnt from what happens in production (which will use a resource ID),
    Alex Moshchuk . resolved

    Please fix this WARNING reported by Spellchecker: "differnt" is a possible misspelling of "different".

    To bypass Spellchecker, ad...

    "differnt" is a possible misspelling of "different".

    To bypass Spellchecker, add a footer with DISABLE_SPELLCHECKER

    Rakina Zata Amni

    Done

    File content/browser/webui/initial_webui_navigation_url_loader.cc
    Line 73, Patchset 11: CHECK(source);
    Alex Moshchuk . resolved

    It seems that we might crash here for non-existent/unhandled WebUI URLs? Would the URL always be specified by something in the browser process, or could it come from a WebUI renderer? (If the latter might be possible, it's probably not desirable to crash.)

    Rakina Zata Amni

    Yeah I think this is ok as a CHECK: the initial WebUI URL is a `chrome://` URL, which I think already has its own restrictions for renderer-initiated navigations right? We also have the stronger requirements for initial WebUI (must be the first navigation, etc). I can add some more invariant checks to check if all initial WebUI navigations are browser-initiated too around there. (Resolving this to land the CL for faster merging, but feel free to reopen for follow-up work).

    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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
      Gerrit-Change-Number: 7236606
      Gerrit-PatchSet: 12
      Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
      Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-CC: Keren Zhu <kere...@chromium.org>
      Gerrit-CC: Ming-Ying Chung <my...@chromium.org>
      Gerrit-Comment-Date: Mon, 15 Dec 2025 09:03:39 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Alex Moshchuk <ale...@chromium.org>
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Dec 15, 2025, 4:46:08 AM (yesterday) Dec 15
      to Rakina Zata Amni, Alex Moshchuk, Fergal Daly, Ming-Ying Chung, Keren Zhu, chromium...@chromium.org, alexmo...@chromium.org, creis...@chromium.org, loading...@chromium.org, navigation...@chromium.org

      Chromium LUCI CQ submitted the change with unreviewed changes

      Unreviewed changes

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

      ```
      The name of the file: content/browser/webui/initial_webui_browsertest.cc
      Insertions: 1, Deletions: 1.

      The diff is too large to show. Please review the diff.
      ```

      Change information

      Commit message:
      Introduce sync InitialWebUINavigationURLLoader

      Initial WebUI navigations should go from NavigationRequest creation
      to CommitNavigation synchronously, to avoid having to wait for the
      large browser startup task to finish before being able to render the
      browser UI. One last asynchronous step of the initial WebUI navigation
      is its NavigationURLLoader, which runs the reading of the body
      resource asynchronously and also potentially throttled by
      URLLoaderThrottles.

      This CL makes initial WebUI navigations to use a new, sync
      InitialWebUINavigationURLLoader instead, which immediately triggers
      OnResponseStarted from Start(), moving the navigation to the
      commit stage synchronously. This is possible because we don't need
      to run the body loading on the browser side (thanks to WebUI
      in-renderer resource loading) and there's no legitimate reason
      for throttling initial WebUI navigations.

      See doc: https://docs.google.com/document/d/1apOKbMw6YMAaOckaSiZ2N4AwJ3IemZS16SUh22-jLJc/edit?tab=t.0#heading=h.gi765z8iuoet
      Bug: 457618572
      Change-Id: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
      Reviewed-by: Fergal Daly <fer...@chromium.org>
      Commit-Queue: Rakina Zata Amni <rak...@chromium.org>
      Reviewed-by: Alex Moshchuk <ale...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1558609}
      Files:
      • M content/browser/BUILD.gn
      • M content/browser/loader/cached_navigation_url_loader.cc
      • M content/browser/loader/navigation_url_loader.cc
      • M content/browser/loader/navigation_url_loader.h
      • M content/browser/renderer_host/navigation_request.cc
      • M content/browser/renderer_host/render_frame_host_impl.cc
      • M content/browser/webui/initial_webui_browsertest.cc
      • A content/browser/webui/initial_webui_navigation_url_loader.cc
      • A content/browser/webui/initial_webui_navigation_url_loader.h
      Change size: L
      Delta: 9 files changed, 224 insertions(+), 49 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Alex Moshchuk, +1 by Fergal Daly
      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: I9735b1f70d4d9be544e8cc0892eb5bd04c8ecdee
      Gerrit-Change-Number: 7236606
      Gerrit-PatchSet: 13
      Gerrit-Owner: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Alex Moshchuk <ale...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Fergal Daly <fer...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages