preloading: Cancel prerendering if window.closed is called [chromium/src : main]

0 views
Skip to first unread message

Hiroki Nakagawa (Gerrit)

unread,
Jul 2, 2024, 10:09:56 AM (20 hours ago) Jul 2
to Huanpo Lin, Rakina Zata Amni, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Huanpo Lin and Rakina Zata Amni

Hiroki Nakagawa voted and added 4 comments

Votes added by Hiroki Nakagawa

Code-Review+1

4 comments

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Hiroki Nakagawa . resolved

LGTM, thanks!

Commit Message
Line 13, Patchset 2 (Latest):for more details.
Hiroki Nakagawa . unresolved

I wonder if we should have a spec text about this behavior in the speculation rules spec.

File content/browser/preloading/prerender/prerender_browsertest.cc
Line 12932, Patchset 2 (Latest): AddPrerenderAsync(kPrerenderingUrl);
Hiroki Nakagawa . unresolved

`AddPrerender()` should work without `PrerenderHostRegistryObserver`

```
int host_id = AddPrerender(kPrerenderingUrl);
```

Also, `AddPrerender()` internally calls `WaitForPrerenderLoadCompletion()`, so you don't need to call it explicitly.

Line 12946, Patchset 2 (Latest): EXPECT_TRUE(ExecJs(web_contents(), ""));
Hiroki Nakagawa . unresolved

qq: What happens when the initiator page is unexpectedly closed? Does `ExecJs()` return false or crash?

Open in Gerrit

Related details

Attention is currently required from:
  • Huanpo Lin
  • 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: I9fb6ca8fd096588ebabd270e81790a51a96da6eb
Gerrit-Change-Number: 5671776
Gerrit-PatchSet: 2
Gerrit-Owner: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Huanpo Lin <robe...@chromium.org>
Gerrit-Comment-Date: Tue, 02 Jul 2024 14:09:31 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Huanpo Lin (Gerrit)

unread,
Jul 2, 2024, 10:16:02 PM (8 hours ago) Jul 2
to Hiroki Nakagawa, Rakina Zata Amni, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Hiroki Nakagawa and Rakina Zata Amni

Huanpo Lin added 3 comments

Commit Message
Line 13, Patchset 2:for more details.
Hiroki Nakagawa . unresolved

I wonder if we should have a spec text about this behavior in the speculation rules spec.

Huanpo Lin

I think yes, is there any guidance about how to update the spec(?

File content/browser/preloading/prerender/prerender_browsertest.cc
Line 12932, Patchset 2: AddPrerenderAsync(kPrerenderingUrl);
Hiroki Nakagawa . resolved

`AddPrerender()` should work without `PrerenderHostRegistryObserver`

```
int host_id = AddPrerender(kPrerenderingUrl);
```

Also, `AddPrerender()` internally calls `WaitForPrerenderLoadCompletion()`, so you don't need to call it explicitly.

Huanpo Lin

Updated, thanks.

Line 12946, Patchset 2: EXPECT_TRUE(ExecJs(web_contents(), ""));
Hiroki Nakagawa . unresolved

qq: What happens when the initiator page is unexpectedly closed? Does `ExecJs()` return false or crash?

Huanpo Lin

It returns false with the error message `(a JavaScript error: "RenderFrame deleted."`. It doesn't crash.
https://source.chromium.org/chromium/chromium/src/+/main:content/public/test/browser_test_utils.h;l=954?q=ExecJs

Open in Gerrit

Related details

Attention is currently required from:
  • Hiroki Nakagawa
  • 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: I9fb6ca8fd096588ebabd270e81790a51a96da6eb
Gerrit-Change-Number: 5671776
Gerrit-PatchSet: 3
Gerrit-Owner: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jul 2024 02:15:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Hiroki Nakagawa <nhi...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Huanpo Lin (Gerrit)

unread,
Jul 2, 2024, 10:17:53 PM (8 hours ago) Jul 2
to Andrey Kosyakov, Hiroki Nakagawa, Rakina Zata Amni, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Andrey Kosyakov, Hiroki Nakagawa and Rakina Zata Amni

Huanpo Lin added 1 comment

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Huanpo Lin . resolved

include caseq@ for reviewing `third_party/blink/public/devtools_protocol/browser_protocol.pdl`

Open in Gerrit

Related details

Attention is currently required from:
  • Andrey Kosyakov
  • Hiroki Nakagawa
  • 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: I9fb6ca8fd096588ebabd270e81790a51a96da6eb
Gerrit-Change-Number: 5671776
Gerrit-PatchSet: 3
Gerrit-Owner: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jul 2024 02:17:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Hiroki Nakagawa (Gerrit)

unread,
Jul 2, 2024, 10:53:02 PM (7 hours ago) Jul 2
to Huanpo Lin, Chromium LUCI CQ, Andrey Kosyakov, Rakina Zata Amni, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Andrey Kosyakov, Huanpo Lin and Rakina Zata Amni

Hiroki Nakagawa voted and added 2 comments

Votes added by Hiroki Nakagawa

Code-Review+1

2 comments

Commit Message
Line 13, Patchset 2:for more details.
Hiroki Nakagawa . unresolved

I wonder if we should have a spec text about this behavior in the speculation rules spec.

Huanpo Lin

I think yes, is there any guidance about how to update the spec(?

Hiroki Nakagawa

Basically you are expected to file a spec issue in https://github.com/WICG/nav-speculation/ and then write a PR like other PRs on the repository. I think domenic@ may know the definitive guide for newcomers. Can you reach out to him?

File content/browser/preloading/prerender/prerender_browsertest.cc
Line 12946, Patchset 2: EXPECT_TRUE(ExecJs(web_contents(), ""));
Hiroki Nakagawa . resolved

qq: What happens when the initiator page is unexpectedly closed? Does `ExecJs()` return false or crash?

Huanpo Lin

It returns false with the error message `(a JavaScript error: "RenderFrame deleted."`. It doesn't crash.
https://source.chromium.org/chromium/chromium/src/+/main:content/public/test/browser_test_utils.h;l=954?q=ExecJs

Hiroki Nakagawa

Acked, thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Andrey Kosyakov
  • Huanpo Lin
  • 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: I9fb6ca8fd096588ebabd270e81790a51a96da6eb
Gerrit-Change-Number: 5671776
Gerrit-PatchSet: 3
Gerrit-Owner: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-Attention: Rakina Zata Amni <rak...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Attention: Huanpo Lin <robe...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jul 2024 02:52:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Hiroki Nakagawa <nhi...@chromium.org>
Comment-In-Reply-To: Huanpo Lin <robe...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Rakina Zata Amni (Gerrit)

unread,
12:24 AM (6 hours ago) 12:24 AM
to Huanpo Lin, Chromium LUCI CQ, Andrey Kosyakov, Hiroki Nakagawa, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Andrey Kosyakov and Huanpo Lin

Rakina Zata Amni added 1 comment

File content/browser/renderer_host/render_frame_host_impl.cc
Line 6234, Patchset 3 (Latest): // For prerendered pages, if window.close is called, it should be cancelled.
Rakina Zata Amni . unresolved

From `ClosePageSource`, it looks like this function can also be called because the browser/tab is shutting down. Do you want to differentiate or exclude those cases maybe?

Open in Gerrit

Related details

Attention is currently required from:
  • Andrey Kosyakov
  • Huanpo Lin
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: I9fb6ca8fd096588ebabd270e81790a51a96da6eb
Gerrit-Change-Number: 5671776
Gerrit-PatchSet: 3
Gerrit-Owner: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Attention: Huanpo Lin <robe...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jul 2024 04:24:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Domenic Denicola (Gerrit)

unread,
2:34 AM (4 hours ago) 2:34 AM
to Huanpo Lin, Chromium LUCI CQ, Andrey Kosyakov, Hiroki Nakagawa, Rakina Zata Amni, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Andrey Kosyakov and Huanpo Lin

Domenic Denicola added 1 comment

Commit Message
Line 17, Patchset 3 (Latest):Bug: 348232620
Domenic Denicola . unresolved

It might be good to have a separate bug for this feature in particular, just so we can more accurately and publicly track all the different workstreams blocking this meta bug.

Open in Gerrit

Related details

Attention is currently required from:
  • Andrey Kosyakov
  • Huanpo Lin
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: I9fb6ca8fd096588ebabd270e81790a51a96da6eb
Gerrit-Change-Number: 5671776
Gerrit-PatchSet: 3
Gerrit-Owner: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Reviewer: Hiroki Nakagawa <nhi...@chromium.org>
Gerrit-Reviewer: Huanpo Lin <robe...@chromium.org>
Gerrit-Reviewer: Rakina Zata Amni <rak...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Domenic Denicola <dom...@chromium.org>
Gerrit-CC: prerendering-reviews <prerenderi...@chromium.org>
Gerrit-Attention: Andrey Kosyakov <ca...@chromium.org>
Gerrit-Attention: Huanpo Lin <robe...@chromium.org>
Gerrit-Comment-Date: Wed, 03 Jul 2024 06:34:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Domenic Denicola (Gerrit)

unread,
2:35 AM (4 hours ago) 2:35 AM
to Huanpo Lin, Chromium LUCI CQ, Andrey Kosyakov, Hiroki Nakagawa, Rakina Zata Amni, Chromium Metrics Reviews, chromium...@chromium.org, devtools...@chromium.org, prerendering-reviews, alexmo...@chromium.org, asvitkine...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, devtools-re...@chromium.org, gavin...@chromium.org, navigation...@chromium.org, tburkar...@chromium.org
Attention needed from Andrey Kosyakov and Huanpo Lin

Domenic Denicola added 1 comment

Commit Message
Line 7, Patchset 3 (Latest):preloading: Cancel prerendering if window.closed is called
Domenic Denicola . unresolved

closed -> close

Gerrit-Comment-Date: Wed, 03 Jul 2024 06:34:57 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages