Implement rel=opener as a proactive BrowsingInstance swap opt-out [chromium/src : main]

2 views
Skip to first unread message

Kevin McNee (Gerrit)

unread,
Jun 4, 2024, 12:26:06 PMJun 4
to Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Charlie Reis

Kevin McNee added 1 comment

Patchset-level comments
File-level comment, Patchset 6 (Latest):
Kevin McNee . resolved

Adding creis@. PTAL.

cc'ing rakina@.

Open in Gerrit

Related details

Attention is currently required from:
  • Charlie Reis
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
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: Ie25acba119de231ed2b2532c2c1c2212e705264c
Gerrit-Change-Number: 5560607
Gerrit-PatchSet: 6
Gerrit-Owner: Kevin McNee <mc...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Charlie Reis <cr...@chromium.org>
Gerrit-Comment-Date: Tue, 04 Jun 2024 16:25:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Charlie Reis (Gerrit)

unread,
Jun 4, 2024, 7:52:58 PMJun 4
to Kevin McNee, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Charlie Reis and Rakina Zata Amni

Charlie Reis added 1 comment

Patchset-level comments
Charlie Reis . resolved

Great! I'm excited to look through this, but I'm also a bit slower than usual because two other large reviews have come in at the same time. Rakina has offered to help review this as well, to get it moving more quickly-- thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Charlie Reis
  • Rakina Zata Amni
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Review
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: Ie25acba119de231ed2b2532c2c1c2212e705264c
Gerrit-Change-Number: 5560607
Gerrit-PatchSet: 6
Gerrit-Owner: Kevin McNee <mc...@chromium.org>
Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Charlie Reis <cr...@chromium.org>
Gerrit-Comment-Date: Tue, 04 Jun 2024 23:52:50 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Rakina Zata Amni (Gerrit)

unread,
Jun 6, 2024, 10:31:59 AMJun 6
to Kevin McNee, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
Attention needed from Charlie Reis and Kevin McNee

Rakina Zata Amni added 5 comments

Patchset-level comments
Rakina Zata Amni . resolved

Thanks! Glad that the actual logic change isn't that big. Mostly LGTM, just requesting some additional tests and comments :)

File content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc
Line 1786, Patchset 6 (Latest):
Rakina Zata Amni . unresolved

Let's add a brief comment on what these tests are about.

Line 1908, Patchset 6 (Latest):
Rakina Zata Amni . unresolved

Can you add a test for cross-site navigations as well?

File content/browser/renderer_host/render_frame_host_manager.cc
Line 2598, Patchset 6 (Latest): // navigation would break scripting in this case. See crbug.com/40281878 for
Rakina Zata Amni . unresolved

Maybe it's a good idea to add an explicit test for this case? (Maybe even as a tentative WPT?)

File third_party/blink/public/mojom/navigation/navigation_params.mojom
Line 198, Patchset 6 (Latest): bool explicit_opener = false;
Rakina Zata Amni . unresolved

nitty nit: I think the name might be a bit confusing out of context, so it might be good to have a more descriptive name for this. Maybe something like `retain_opener_if_possible` (or maybe even `disallow_proactive_bcg_swap`)?

Open in Gerrit

Related details

Attention is currently required from:
  • Charlie Reis
  • Kevin McNee
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 6
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Charlie Reis <cr...@chromium.org>
    Gerrit-Attention: Kevin McNee <mc...@chromium.org>
    Gerrit-Comment-Date: Thu, 06 Jun 2024 14:31:43 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Charlie Reis (Gerrit)

    unread,
    Jun 10, 2024, 4:00:57 PMJun 10
    to Kevin McNee, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Kevin McNee and Rakina Zata Amni

    Charlie Reis added 6 comments

    Patchset-level comments
    Charlie Reis . resolved

    Thanks! Basically looks good to me as well, once we decide on a name for the new parameter that gets plumbed everywhere.

    File base/tracing/protos/chrome_track_event.proto
    Line 130, Patchset 6 (Latest):// Matches content::ShouldSwapBrowsingInstance.
    Charlie Reis . unresolved

    Is it a problem that these two types don't actually line up? We're introducing 23 here and 22 there. I'm guessing it's fine, but maybe this comment could help explain why?

    File content/browser/renderer_host/render_frame_host_manager.cc
    Line 2558, Patchset 6 (Latest): bool explicit_opener) {
    Charlie Reis . unresolved

    I'm wondering if we can find a better name (throughout the CL) than `explicit_opener`, which is a bit ambiguous and sounds like it could be specifying what the opener should be, rather than signaling that interactions with openers are expected. Would something like `has_rel_opener` work?

    Line 2600, Patchset 6 (Latest): // mechanism to opt-out of proactive swaps is to use an explicit "opener" rel.
    Charlie Reis . unresolved

    nit: Add something like: ", which signals that interactions with the opener are expected."

    File content/public/browser/navigation_controller.h
    Line 331, Patchset 6 (Latest): // preserved, such as with rel="opener".
    Charlie Reis . unresolved

    Similar to earlier comment: Since rel="opener" is the only planned way to do this, I'd be ok with s/such as with/via/ and calling this `has_rel_opener`.

    File third_party/blink/public/mojom/navigation/navigation_params.mojom
    Line 198, Patchset 6 (Latest): bool explicit_opener = false;
    Rakina Zata Amni . unresolved

    nitty nit: I think the name might be a bit confusing out of context, so it might be good to have a more descriptive name for this. Maybe something like `retain_opener_if_possible` (or maybe even `disallow_proactive_bcg_swap`)?

    Charlie Reis

    Ah, same thought. :) I'm suggesting `has_rel_opener` as another option.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Kevin McNee
    • Rakina Zata Amni
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 6
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Attention: Kevin McNee <mc...@chromium.org>
    Gerrit-Comment-Date: Mon, 10 Jun 2024 20:00:47 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Rakina Zata Amni <rak...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kevin McNee (Gerrit)

    unread,
    Jun 10, 2024, 7:59:27 PMJun 10
    to Rakina Zata Amni, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Charlie Reis and Rakina Zata Amni

    Kevin McNee added 2 comments

    File base/tracing/protos/chrome_track_event.proto
    Line 130, Patchset 6 (Latest):// Matches content::ShouldSwapBrowsingInstance.
    Charlie Reis . unresolved

    Is it a problem that these two types don't actually line up? We're introducing 23 here and 22 there. I'm guessing it's fine, but maybe this comment could help explain why?

    Kevin McNee

    It looks like it's due to the now unused SHOULD_SWAP_BROWSING_INSTANCE_NO (see https://chromium-review.googlesource.com/c/chromium/src/+/3001855 )

    File third_party/blink/public/mojom/navigation/navigation_params.mojom
    Line 198, Patchset 6 (Latest): bool explicit_opener = false;
    Rakina Zata Amni . unresolved

    nitty nit: I think the name might be a bit confusing out of context, so it might be good to have a more descriptive name for this. Maybe something like `retain_opener_if_possible` (or maybe even `disallow_proactive_bcg_swap`)?

    Charlie Reis

    Ah, same thought. :) I'm suggesting `has_rel_opener` as another option.

    Kevin McNee

    Yeah, I'm leaning towards `has_rel_opener`.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Charlie Reis
    • Rakina Zata Amni
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 6
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Charlie Reis <cr...@chromium.org>
    Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Comment-Date: Mon, 10 Jun 2024 23:59:17 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Charlie Reis <cr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kevin McNee (Gerrit)

    unread,
    Jun 10, 2024, 9:04:38 PMJun 10
    to Rakina Zata Amni, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Charlie Reis and Rakina Zata Amni

    Kevin McNee added 6 comments

    File content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc
    Rakina Zata Amni . resolved

    Let's add a brief comment on what these tests are about.

    Kevin McNee

    Done

    Rakina Zata Amni . resolved

    Can you add a test for cross-site navigations as well?

    Kevin McNee

    Done

    File content/browser/renderer_host/render_frame_host_manager.cc
    Line 2558, Patchset 6: bool explicit_opener) {
    Charlie Reis . resolved

    I'm wondering if we can find a better name (throughout the CL) than `explicit_opener`, which is a bit ambiguous and sounds like it could be specifying what the opener should be, rather than signaling that interactions with openers are expected. Would something like `has_rel_opener` work?

    Kevin McNee

    Done

    Line 2598, Patchset 6: // navigation would break scripting in this case. See crbug.com/40281878 for
    Rakina Zata Amni . resolved

    Maybe it's a good idea to add an explicit test for this case? (Maybe even as a tentative WPT?)

    Kevin McNee

    Done

    Added a browser test along with the others for now. WPTs to follow this CL.

    File content/public/browser/navigation_controller.h
    Line 331, Patchset 6: // preserved, such as with rel="opener".
    Charlie Reis . resolved

    Similar to earlier comment: Since rel="opener" is the only planned way to do this, I'd be ok with s/such as with/via/ and calling this `has_rel_opener`.

    Kevin McNee

    Done

    File third_party/blink/public/mojom/navigation/navigation_params.mojom
    Line 198, Patchset 6: bool explicit_opener = false;
    Rakina Zata Amni . resolved

    nitty nit: I think the name might be a bit confusing out of context, so it might be good to have a more descriptive name for this. Maybe something like `retain_opener_if_possible` (or maybe even `disallow_proactive_bcg_swap`)?

    Charlie Reis

    Ah, same thought. :) I'm suggesting `has_rel_opener` as another option.

    Kevin McNee

    Yeah, I'm leaning towards `has_rel_opener`.

    Kevin McNee

    Done

    Though I kept the name just for the WindowFeatures where it should be clear, I think.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Charlie Reis
    • Rakina Zata Amni
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 8
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Charlie Reis <cr...@chromium.org>
    Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Comment-Date: Tue, 11 Jun 2024 01:04:26 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Rakina Zata Amni <rak...@chromium.org>
    Comment-In-Reply-To: Charlie Reis <cr...@chromium.org>
    Comment-In-Reply-To: Kevin McNee <mc...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kevin McNee (Gerrit)

    unread,
    Jun 10, 2024, 9:19:31 PMJun 10
    to Rakina Zata Amni, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Charlie Reis and Rakina Zata Amni

    Kevin McNee added 1 comment

    File content/browser/renderer_host/render_frame_host_manager.cc
    Line 2600, Patchset 6: // mechanism to opt-out of proactive swaps is to use an explicit "opener" rel.
    Charlie Reis . resolved

    nit: Add something like: ", which signals that interactions with the opener are expected."

    Kevin McNee

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Charlie Reis
    • Rakina Zata Amni
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 9
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Charlie Reis <cr...@chromium.org>
    Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-Comment-Date: Tue, 11 Jun 2024 01:19:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Charlie Reis <cr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rakina Zata Amni (Gerrit)

    unread,
    Jun 11, 2024, 5:40:17 AMJun 11
    to Kevin McNee, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Charlie Reis and Kevin McNee

    Rakina Zata Amni voted and added 2 comments

    Votes added by Rakina Zata Amni

    Code-Review+1

    2 comments

    Patchset-level comments
    Rakina Zata Amni . resolved

    LGTM, thanks!

    File content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc
    Line 1981, Patchset 9 (Latest): popup_nav_observer.Wait();
    Rakina Zata Amni . unresolved

    nit: Maybe check the URL as well just to be extra sure that the navigation that happened is the one triggered above?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Charlie Reis
    • Kevin McNee
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 9
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Charlie Reis <cr...@chromium.org>
    Gerrit-Attention: Kevin McNee <mc...@chromium.org>
    Gerrit-Comment-Date: Tue, 11 Jun 2024 09:40:05 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Charlie Reis (Gerrit)

    unread,
    Jun 11, 2024, 12:16:42 PMJun 11
    to Kevin McNee, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
    Attention needed from Kevin McNee

    Charlie Reis voted and added 2 comments

    Votes added by Charlie Reis

    Code-Review+1

    2 comments

    Patchset-level comments
    Charlie Reis . resolved

    Thanks! content/ LGTM given Rakina's review. I didn't review the Blink changes closely.

    File base/tracing/protos/chrome_track_event.proto
    Line 130, Patchset 6:// Matches content::ShouldSwapBrowsingInstance.
    Charlie Reis . unresolved

    Is it a problem that these two types don't actually line up? We're introducing 23 here and 22 there. I'm guessing it's fine, but maybe this comment could help explain why?

    Kevin McNee

    It looks like it's due to the now unused SHOULD_SWAP_BROWSING_INSTANCE_NO (see https://chromium-review.googlesource.com/c/chromium/src/+/3001855 )

    Charlie Reis

    Thanks. Looks like the numbers don't really line up at all, though. kYes_CrossSiteProactiveSwap is 12 vs 2 here in the proto, and kNo_NotMainFrame is 2 vs 5 here.

    Can we change this comment to say that there are corresponding values in content::ShouldSwapBrowsingInstance (rather than that it "matches"), and that those values get converted appropriately in ShouldSwapBrowsingInstanceToProto?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Kevin McNee
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 9
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Attention: Kevin McNee <mc...@chromium.org>
    Gerrit-Comment-Date: Tue, 11 Jun 2024 16:16:27 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Kevin McNee (Gerrit)

    unread,
    Jun 14, 2024, 4:59:27 PMJun 14
    to Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org

    Kevin McNee voted and added 2 comments

    Votes added by Kevin McNee

    Commit-Queue+1

    2 comments

    File base/tracing/protos/chrome_track_event.proto
    Line 130, Patchset 6:// Matches content::ShouldSwapBrowsingInstance.
    Charlie Reis . resolved

    Is it a problem that these two types don't actually line up? We're introducing 23 here and 22 there. I'm guessing it's fine, but maybe this comment could help explain why?

    Kevin McNee

    It looks like it's due to the now unused SHOULD_SWAP_BROWSING_INSTANCE_NO (see https://chromium-review.googlesource.com/c/chromium/src/+/3001855 )

    Charlie Reis

    Thanks. Looks like the numbers don't really line up at all, though. kYes_CrossSiteProactiveSwap is 12 vs 2 here in the proto, and kNo_NotMainFrame is 2 vs 5 here.

    Can we change this comment to say that there are corresponding values in content::ShouldSwapBrowsingInstance (rather than that it "matches"), and that those values get converted appropriately in ShouldSwapBrowsingInstanceToProto?

    Kevin McNee

    Done

    File content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc
    Line 1981, Patchset 9: popup_nav_observer.Wait();
    Rakina Zata Amni . resolved

    nit: Maybe check the URL as well just to be extra sure that the navigation that happened is the one triggered above?

    Kevin McNee

    Done

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Review
    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: Ie25acba119de231ed2b2532c2c1c2212e705264c
    Gerrit-Change-Number: 5560607
    Gerrit-PatchSet: 10
    Gerrit-Owner: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
    Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
    Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-Comment-Date: Fri, 14 Jun 2024 20:59:15 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Charlie Reis <cr...@chromium.org>
    Comment-In-Reply-To: Rakina Zata Amni <rak...@chromium.org>
    Comment-In-Reply-To: Kevin McNee <mc...@chromium.org>
    satisfied_requirement
    open
    diffy

    Kevin McNee (Gerrit)

    unread,
    Jun 14, 2024, 7:09:40 PMJun 14
    to Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org

    Kevin McNee added 1 comment

    Patchset-level comments
    File-level comment, Patchset 10 (Latest):
    Kevin McNee . unresolved

    Rakina: I think the test failure could be a bug in RenderDocument.

    Without this CL, I tried the following:
    1. Visit a page
    2. Run window.addEventListener('unload', () => {});
    3. Same origin navigate away
    4. Run var w = window.open(location.href, 'namedWindow');
    w.previouslyOpened = true;
    5. Go back in the original tab
    6. Run window.open('', 'namedWindow').previouslyOpened;

    With --enable-features=RenderDocument:level/all-frames , step 6 opens a new blank window. Without that flag, it reuses the window from step 4.

    Everything's in the same site instance, but for the RenderDocument case, the `RelatedPages()` on the renderer side is empty.

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 10
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-Comment-Date: Fri, 14 Jun 2024 23:09:29 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Kevin McNee (Gerrit)

      unread,
      Jun 14, 2024, 8:09:12 PMJun 14
      to Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org

      Kevin McNee added 1 comment

      Patchset-level comments
      Kevin McNee . unresolved

      Rakina: I think the test failure could be a bug in RenderDocument.

      Without this CL, I tried the following:
      1. Visit a page
      2. Run window.addEventListener('unload', () => {});
      3. Same origin navigate away
      4. Run var w = window.open(location.href, 'namedWindow');
      w.previouslyOpened = true;
      5. Go back in the original tab
      6. Run window.open('', 'namedWindow').previouslyOpened;

      With --enable-features=RenderDocument:level/all-frames , step 6 opens a new blank window. Without that flag, it reuses the window from step 4.

      Everything's in the same site instance, but for the RenderDocument case, the `RelatedPages()` on the renderer side is empty.

      Kevin McNee

      Okay, so the renderer knows about the other page (it's in `OrdinaryPages()`), but it's not linked to the related pages. If I replace RelatedPages with a naive loop over OrdinaryPages, the rest of the test works. It looks like in `LinkRelatedPagesIfNeeded` for the back navigation, there's no opener, causing it to skip this.

      Open in Gerrit

      Related details

      Attention set is empty
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 10
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-Comment-Date: Sat, 15 Jun 2024 00:08:58 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Kevin McNee <mc...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rakina Zata Amni (Gerrit)

      unread,
      Jun 21, 2024, 9:43:43 AM (9 days ago) Jun 21
      to Kevin McNee, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Kevin McNee

      Rakina Zata Amni voted and added 1 comment

      Votes added by Rakina Zata Amni

      Code-Review+1

      1 comment

      Patchset-level comments
      Kevin McNee . unresolved

      Rakina: I think the test failure could be a bug in RenderDocument.

      Without this CL, I tried the following:
      1. Visit a page
      2. Run window.addEventListener('unload', () => {});
      3. Same origin navigate away
      4. Run var w = window.open(location.href, 'namedWindow');
      w.previouslyOpened = true;
      5. Go back in the original tab
      6. Run window.open('', 'namedWindow').previouslyOpened;

      With --enable-features=RenderDocument:level/all-frames , step 6 opens a new blank window. Without that flag, it reuses the window from step 4.

      Everything's in the same site instance, but for the RenderDocument case, the `RelatedPages()` on the renderer side is empty.

      Kevin McNee

      Okay, so the renderer knows about the other page (it's in `OrdinaryPages()`), but it's not linked to the related pages. If I replace RelatedPages with a naive loop over OrdinaryPages, the rest of the test works. It looks like in `LinkRelatedPagesIfNeeded` for the back navigation, there's no opener, causing it to skip this.

      Rakina Zata Amni

      Sorry, I completely missed this in my inbox. I think I did make some changes for RenderDocument around that part of the code to exclude a "fake" RemoteFrame for the speculative main RFH ([doc](https://docs.google.com/document/d/1ajCoI-3CKGBcbzp26qDR_QqjXBic1XQ5PVnkBfsUnOU/edit#heading=h.re8zdlzaiwkv)), but I will look into how that can relate to this next week.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Kevin McNee
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 10
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Kevin McNee <mc...@chromium.org>
      Gerrit-Comment-Date: Fri, 21 Jun 2024 13:43:31 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Kevin McNee <mc...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rakina Zata Amni (Gerrit)

      unread,
      Jun 24, 2024, 3:37:21 AM (6 days ago) Jun 24
      to Kevin McNee, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Kevin McNee

      Rakina Zata Amni added 1 comment

      Patchset-level comments
      Kevin McNee . unresolved

      Rakina: I think the test failure could be a bug in RenderDocument.

      Without this CL, I tried the following:
      1. Visit a page
      2. Run window.addEventListener('unload', () => {});
      3. Same origin navigate away
      4. Run var w = window.open(location.href, 'namedWindow');
      w.previouslyOpened = true;
      5. Go back in the original tab
      6. Run window.open('', 'namedWindow').previouslyOpened;

      With --enable-features=RenderDocument:level/all-frames , step 6 opens a new blank window. Without that flag, it reuses the window from step 4.

      Everything's in the same site instance, but for the RenderDocument case, the `RelatedPages()` on the renderer side is empty.

      Kevin McNee

      Okay, so the renderer knows about the other page (it's in `OrdinaryPages()`), but it's not linked to the related pages. If I replace RelatedPages with a naive loop over OrdinaryPages, the rest of the test works. It looks like in `LinkRelatedPagesIfNeeded` for the back navigation, there's no opener, causing it to skip this.

      Rakina Zata Amni

      Sorry, I completely missed this in my inbox. I think I did make some changes for RenderDocument around that part of the code to exclude a "fake" RemoteFrame for the speculative main RFH ([doc](https://docs.google.com/document/d/1ajCoI-3CKGBcbzp26qDR_QqjXBic1XQ5PVnkBfsUnOU/edit#heading=h.re8zdlzaiwkv)), but I will look into how that can relate to this next week.

      Rakina Zata Amni

      OK, it looks like this can be solved by just swapping the new page in place of the old page in the related pages list. I'll send out the fix in crrev.com/c/5644621 soon. Thanks for finding this!!

      Gerrit-Comment-Date: Mon, 24 Jun 2024 07:37:10 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Kevin McNee (Gerrit)

      unread,
      Jun 24, 2024, 5:20:47 PM (6 days ago) Jun 24
      to Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, Nate Chapin, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Rakina Zata Amni

      Kevin McNee added 1 comment

      Patchset-level comments
      Kevin McNee . unresolved

      Rakina: I think the test failure could be a bug in RenderDocument.

      Without this CL, I tried the following:
      1. Visit a page
      2. Run window.addEventListener('unload', () => {});
      3. Same origin navigate away
      4. Run var w = window.open(location.href, 'namedWindow');
      w.previouslyOpened = true;
      5. Go back in the original tab
      6. Run window.open('', 'namedWindow').previouslyOpened;

      With --enable-features=RenderDocument:level/all-frames , step 6 opens a new blank window. Without that flag, it reuses the window from step 4.

      Everything's in the same site instance, but for the RenderDocument case, the `RelatedPages()` on the renderer side is empty.

      Kevin McNee

      Okay, so the renderer knows about the other page (it's in `OrdinaryPages()`), but it's not linked to the related pages. If I replace RelatedPages with a naive loop over OrdinaryPages, the rest of the test works. It looks like in `LinkRelatedPagesIfNeeded` for the back navigation, there's no opener, causing it to skip this.

      Rakina Zata Amni

      Sorry, I completely missed this in my inbox. I think I did make some changes for RenderDocument around that part of the code to exclude a "fake" RemoteFrame for the speculative main RFH ([doc](https://docs.google.com/document/d/1ajCoI-3CKGBcbzp26qDR_QqjXBic1XQ5PVnkBfsUnOU/edit#heading=h.re8zdlzaiwkv)), but I will look into how that can relate to this next week.

      Rakina Zata Amni

      OK, it looks like this can be solved by just swapping the new page in place of the old page in the related pages list. I'll send out the fix in crrev.com/c/5644621 soon. Thanks for finding this!!

      Kevin McNee

      I've filed https://crbug.com/349132649 for this issue. In the meantime, I've added a GTEST_SKIP for the part of the test that hits this issue with RenderDocument enabled, in order to proceed with this CL. And just in case, I've added another test case covering an additional navigation before trying to reuse the window.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Rakina Zata Amni
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 12
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Comment-Date: Mon, 24 Jun 2024 21:20:35 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Kevin McNee (Gerrit)

      unread,
      Jun 24, 2024, 7:07:41 PM (5 days ago) Jun 24
      to Nate Chapin, Stephen Nusko, Chromium IPC Reviews, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Chromium IPC Reviews, Nate Chapin, Rakina Zata Amni and Stephen Nusko

      Kevin McNee added 1 comment

      Patchset-level comments
      File-level comment, Patchset 12 (Latest):
      Kevin McNee . resolved

      Adding japhet@ for blink
      Adding nuskos@ for tracing (adding enum value)
      Adding IPC reviewers for mojom changes
      PTAL.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Chromium IPC Reviews
      • Nate Chapin
      • Rakina Zata Amni
      • Stephen Nusko
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 12
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Stephen Nusko <nus...@chromium.org>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Attention: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-Attention: Stephen Nusko <nus...@chromium.org>
      Gerrit-Comment-Date: Mon, 24 Jun 2024 23:07:29 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      gwsq (Gerrit)

      unread,
      Jun 24, 2024, 7:08:40 PM (5 days ago) Jun 24
      to Kevin McNee, Chromium IPC Reviews, Brendon Tiszka, Nate Chapin, Stephen Nusko, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Brendon Tiszka, Nate Chapin, Rakina Zata Amni and Stephen Nusko

      Message from gwsq

      From googleclient/chrome/chromium_gwsq/ipc/config.gwsq:
      IPC: tis...@chromium.org

      📎 It looks like you’re making a possibly security-sensitive change! 📎 IPC security review isn’t a rubberstamp, so your friendly security reviewer will need a fair amount of context to review your CL effectively. Please review your CL description and code comments to make sure they provide context for someone unfamiliar with your project/area. Pay special attention to where data comes from and which processes it flows between (and their privilege levels). Feel free to point your security reviewer at design docs, bugs, or other links if you can’t reasonably make a self-contained CL description. (Also see https://cbea.ms/git-commit/).

      IPC reviewer(s): tis...@chromium.org


      Reviewer source(s):
      tis...@chromium.org is from context(googleclient/chrome/chromium_gwsq/ipc/config.gwsq)

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Brendon Tiszka
      • Nate Chapin
      • Rakina Zata Amni
      • Stephen Nusko
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 12
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Brendon Tiszka <tis...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Stephen Nusko <nus...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Attention: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Brendon Tiszka <tis...@chromium.org>
      Gerrit-Attention: Stephen Nusko <nus...@chromium.org>
      Gerrit-Comment-Date: Mon, 24 Jun 2024 23:08:26 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rakina Zata Amni (Gerrit)

      unread,
      Jun 24, 2024, 11:35:55 PM (5 days ago) Jun 24
      to Kevin McNee, Chromium IPC Reviews, Brendon Tiszka, Nate Chapin, Stephen Nusko, Charlie Reis, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Brendon Tiszka, Kevin McNee, Nate Chapin and Stephen Nusko

      Rakina Zata Amni voted and added 1 comment

      Votes added by Rakina Zata Amni

      Code-Review+1

      1 comment

      Patchset-level comments
      File-level comment, Patchset 10:
      Kevin McNee . resolved

      Rakina: I think the test failure could be a bug in RenderDocument.

      Without this CL, I tried the following:
      1. Visit a page
      2. Run window.addEventListener('unload', () => {});
      3. Same origin navigate away
      4. Run var w = window.open(location.href, 'namedWindow');
      w.previouslyOpened = true;
      5. Go back in the original tab
      6. Run window.open('', 'namedWindow').previouslyOpened;

      With --enable-features=RenderDocument:level/all-frames , step 6 opens a new blank window. Without that flag, it reuses the window from step 4.

      Everything's in the same site instance, but for the RenderDocument case, the `RelatedPages()` on the renderer side is empty.

      Kevin McNee

      Okay, so the renderer knows about the other page (it's in `OrdinaryPages()`), but it's not linked to the related pages. If I replace RelatedPages with a naive loop over OrdinaryPages, the rest of the test works. It looks like in `LinkRelatedPagesIfNeeded` for the back navigation, there's no opener, causing it to skip this.

      Rakina Zata Amni

      Sorry, I completely missed this in my inbox. I think I did make some changes for RenderDocument around that part of the code to exclude a "fake" RemoteFrame for the speculative main RFH ([doc](https://docs.google.com/document/d/1ajCoI-3CKGBcbzp26qDR_QqjXBic1XQ5PVnkBfsUnOU/edit#heading=h.re8zdlzaiwkv)), but I will look into how that can relate to this next week.

      Rakina Zata Amni

      OK, it looks like this can be solved by just swapping the new page in place of the old page in the related pages list. I'll send out the fix in crrev.com/c/5644621 soon. Thanks for finding this!!

      Kevin McNee

      I've filed https://crbug.com/349132649 for this issue. In the meantime, I've added a GTEST_SKIP for the part of the test that hits this issue with RenderDocument enabled, in order to proceed with this CL. And just in case, I've added another test case covering an additional navigation before trying to reuse the window.

      Rakina Zata Amni

      Acknowledged, thanks a lot!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Brendon Tiszka
      • Kevin McNee
      • Nate Chapin
      • Stephen Nusko
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 12
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Brendon Tiszka <tis...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Nate Chapin <jap...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Stephen Nusko <nus...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Brendon Tiszka <tis...@chromium.org>
      Gerrit-Attention: Kevin McNee <mc...@chromium.org>
      Gerrit-Attention: Stephen Nusko <nus...@chromium.org>
      Gerrit-Comment-Date: Tue, 25 Jun 2024 03:35:34 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Stephen Nusko (Gerrit)

      unread,
      Jun 25, 2024, 9:18:32 AM (5 days ago) Jun 25
      to Kevin McNee, Chromium IPC Reviews, Brendon Tiszka, Nate Chapin, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Brendon Tiszka, Kevin McNee and Nate Chapin

      Stephen Nusko voted and added 1 comment

      Votes added by Stephen Nusko

      Code-Review+1

      1 comment

      Patchset-level comments
      File-level comment, Patchset 12 (Latest):
      Stephen Nusko . resolved

      LGTM for tracing proto

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Brendon Tiszka
      • Kevin McNee
      • Nate Chapin
      Gerrit-Comment-Date: Tue, 25 Jun 2024 13:18:19 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Brendon Tiszka (Gerrit)

      unread,
      Jun 25, 2024, 2:14:07 PM (5 days ago) Jun 25
      to Kevin McNee, Stephen Nusko, Chromium IPC Reviews, Nate Chapin, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Kevin McNee and Nate Chapin

      Brendon Tiszka voted and added 1 comment

      Votes added by Brendon Tiszka

      Code-Review+1

      1 comment

      Patchset-level comments
      Brendon Tiszka . resolved

      ipc security lgtm

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Kevin McNee
      • Nate Chapin
      Gerrit-Attention: Kevin McNee <mc...@chromium.org>
      Gerrit-Comment-Date: Tue, 25 Jun 2024 18:13:51 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Kevin McNee (Gerrit)

      unread,
      Jun 26, 2024, 2:36:59 PM (4 days ago) Jun 26
      to Jeremy Roman, Nate Chapin, Brendon Tiszka, Stephen Nusko, Chromium IPC Reviews, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Jeremy Roman and Nate Chapin

      Kevin McNee added 1 comment

      Patchset-level comments
      Kevin McNee . resolved

      Oh, japhet@ is OOO. Over to jbroman@. PTAL.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Jeremy Roman
      • Nate Chapin
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 12
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Brendon Tiszka <tis...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Stephen Nusko <nus...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: gwsq
      Gerrit-Attention: Jeremy Roman <jbr...@chromium.org>
      Gerrit-Attention: Nate Chapin <jap...@chromium.org>
      Gerrit-Comment-Date: Wed, 26 Jun 2024 18:36:42 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      Jeremy Roman (Gerrit)

      unread,
      Jun 27, 2024, 3:57:03 PM (3 days ago) Jun 27
      to Kevin McNee, Jeremy Roman, Nate Chapin, Brendon Tiszka, Stephen Nusko, Chromium IPC Reviews, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Kevin McNee and Nate Chapin

      Jeremy Roman voted and added 1 comment

      Votes added by Jeremy Roman

      Code-Review+1

      1 comment

      Patchset-level comments
      Jeremy Roman . resolved

      blink lgtm (did not review content)

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Kevin McNee
      • Nate Chapin
      Gerrit-Attention: Nate Chapin <jap...@chromium.org>
      Gerrit-Attention: Kevin McNee <mc...@chromium.org>
      Gerrit-Comment-Date: Thu, 27 Jun 2024 19:56:49 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Kevin McNee (Gerrit)

      unread,
      Jun 27, 2024, 4:41:56 PM (3 days ago) Jun 27
      to Jeremy Roman, Nate Chapin, Brendon Tiszka, Stephen Nusko, Chromium IPC Reviews, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, Chromium LUCI CQ, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org
      Attention needed from Nate Chapin

      Kevin McNee voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention is currently required from:
      • Nate Chapin
      Gerrit-Comment-Date: Thu, 27 Jun 2024 20:41:37 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Jun 27, 2024, 6:05:30 PM (2 days ago) Jun 27
      to Kevin McNee, Jeremy Roman, Nate Chapin, Brendon Tiszka, Stephen Nusko, Chromium IPC Reviews, Charlie Reis, Rakina Zata Amni, Hiroki Nakagawa, AyeAye, chromium...@chromium.org, ddrone...@google.com, bfcach...@chromium.org, chikamu...@chromium.org, kinuko+ser...@chromium.org, shimazu+se...@chromium.org, jsbell+ser...@chromium.org, servicewor...@chromium.org, blink-work...@chromium.org, horo+...@chromium.org, jmedle...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavinp...@chromium.org, ipc-securi...@chromium.org, kinuko...@chromium.org, loading...@chromium.org, navigation...@chromium.org

      Chromium LUCI CQ submitted the change

      Change information

      Commit message:
      Implement rel=opener as a proactive BrowsingInstance swap opt-out

      To address breakage of named window reuse across a back navigation
      when a proactive BrowsingInstance swap has happened, we offer the
      option to use an explicit opener relation for same-window navigations
      as an opt-out from proactive swaps. This applies to elements that
      support rel=opener (a, area, and form). We also introduce "opener"
      as a window feature (for window.open()).

      Usage looks like the following:
      Before:
      <a href="next.html">next</a>
      After:
      <a href="next.html" rel="opener">next</a>
      Before:
      location.href = getNextPageUrl();
      After:
      window.open(getNextPageUrl(), '_self', 'opener');

      Note that the opt-out only affects proactive swaps. It cannot be used
      to bypass swaps that are required (e.g. for COOP).

      Usage of conflicting rel types (rel="noopener opener") resolves in
      favour of noopener.

      WPTs still need to be added in a future CL.

      Explainer: https://github.com/explainers-by-googlers/future-browsing-context-group-dependency-hint
      Intent to Prototype: https://groups.google.com/u/1/a/chromium.org/g/blink-dev/c/sI1zySADmNs
      Bug: 333743493
      Change-Id: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Reviewed-by: Brendon Tiszka <tis...@chromium.org>
      Reviewed-by: Rakina Zata Amni <rak...@chromium.org>
      Reviewed-by: Stephen Nusko <nus...@chromium.org>
      Reviewed-by: Jeremy Roman <jbr...@chromium.org>
      Commit-Queue: Kevin McNee <mc...@chromium.org>
      Reviewed-by: Charlie Reis <cr...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1320669}
      Files:
      • M base/tracing/protos/chrome_track_event.proto
      • M content/browser/back_forward_cache_not_restored_reasons_browsertest.cc
      • M content/browser/fenced_frame/fenced_frame.cc
      • M content/browser/loader/navigation_url_loader_impl_unittest.cc
      • M content/browser/loader/navigation_url_loader_unittest.cc
      • M content/browser/renderer_host/back_forward_cache_can_store_document_result.cc
      • M content/browser/renderer_host/back_forward_cache_metrics.cc
      • M content/browser/renderer_host/navigation_controller_impl.cc
      • M content/browser/renderer_host/navigation_controller_impl.h
      • M content/browser/renderer_host/navigation_request.cc
      • M content/browser/renderer_host/navigation_request.h
      • M content/browser/renderer_host/navigator.cc
      • M content/browser/renderer_host/navigator.h
      • M content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc
      • M content/browser/renderer_host/render_frame_host_impl.cc
      • M content/browser/renderer_host/render_frame_host_manager.cc
      • M content/browser/renderer_host/render_frame_host_manager.h
      • M content/browser/renderer_host/render_frame_proxy_host.cc
      • M content/browser/renderer_host/should_swap_browsing_instance.h
      • M content/browser/security_exploit_browsertest.cc
      • M content/browser/service_worker/service_worker_client_utils.cc
      • M content/public/browser/navigation_controller.cc
      • M content/public/browser/navigation_controller.h
      • M content/public/browser/page_navigator.h
      • M content/renderer/render_frame_impl.cc
      • M content/test/navigation_simulator_impl.cc
      • M content/test/test_render_frame_host.cc
      • M third_party/blink/public/mojom/frame/remote_frame.mojom
      • M third_party/blink/public/mojom/navigation/navigation_params.mojom
      • M third_party/blink/public/web/web_navigation_params.h
      • M third_party/blink/public/web/web_window_features.h
      • M third_party/blink/renderer/core/frame/local_frame_client.h
      • M third_party/blink/renderer/core/frame/local_frame_client_impl.cc
      • M third_party/blink/renderer/core/frame/local_frame_client_impl.h
      • M third_party/blink/renderer/core/frame/remote_frame.cc
      • M third_party/blink/renderer/core/html/html_anchor_element.cc
      • M third_party/blink/renderer/core/inspector/inspector_page_agent.cc
      • M third_party/blink/renderer/core/loader/empty_clients.cc
      • M third_party/blink/renderer/core/loader/empty_clients.h
      • M third_party/blink/renderer/core/loader/form_submission.cc
      • M third_party/blink/renderer/core/loader/form_submission.h
      • M third_party/blink/renderer/core/loader/frame_load_request.h
      • M third_party/blink/renderer/core/loader/frame_loader.cc
      • M third_party/blink/renderer/core/page/create_window.cc
      • M third_party/blink/renderer/core/page/window_features_test.cc
      • M third_party/blink/renderer/platform/runtime_enabled_features.json5
      Change size: L
      Delta: 46 files changed, 666 insertions(+), 55 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Rakina Zata Amni, +1 by Jeremy Roman, +1 by Stephen Nusko, +1 by Brendon Tiszka, +1 by Charlie Reis
      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: Ie25acba119de231ed2b2532c2c1c2212e705264c
      Gerrit-Change-Number: 5560607
      Gerrit-PatchSet: 13
      Gerrit-Owner: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Brendon Tiszka <tis...@chromium.org>
      Gerrit-Reviewer: Charlie Reis <cr...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Jeremy Roman <jbr...@chromium.org>
      Gerrit-Reviewer: Kevin McNee <mc...@chromium.org>
      Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
      Gerrit-Reviewer: Stephen Nusko <nus...@chromium.org>
      Gerrit-CC: Chromium IPC Reviews <chrome-ip...@google.com>
      open
      diffy
      satisfied_requirement
      Reply all
      Reply to author
      Forward
      0 new messages