[Autofill / PWM] Defer agent / client creation [chromium/src : main]

1 view
Skip to first unread message

Ian Vollick (Gerrit)

unread,
Jun 14, 2024, 10:07:02 PMJun 14
to AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com

Ian Vollick voted Commit-Queue+0

Commit-Queue+0
Open in Gerrit

Related details

Attention set is empty
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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
Gerrit-Change-Number: 5630210
Gerrit-PatchSet: 9
Gerrit-Owner: Ian Vollick <vol...@chromium.org>
Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Peter Williamson <pet...@chromium.org>
Gerrit-Comment-Date: Sat, 15 Jun 2024 02:06:53 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

findit-for-me@appspot.gserviceaccount.com (Gerrit)

unread,
Jun 14, 2024, 11:25:49 PMJun 14
to Ian Vollick, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com

findit...@appspot.gserviceaccount.com voted Code-Coverage+1

This change meets the code coverage requirements.

Code-Coverage+1
Open in Gerrit

Related details

Attention set is empty
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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
Gerrit-Change-Number: 5630210
Gerrit-PatchSet: 11
Gerrit-Owner: Ian Vollick <vol...@chromium.org>
Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Peter Williamson <pet...@chromium.org>
Gerrit-Comment-Date: Sat, 15 Jun 2024 03:25:39 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

findit-for-me@appspot.gserviceaccount.com (Gerrit)

unread,
Jun 22, 2024, 3:18:34 AM (11 days ago) Jun 22
to Ian Vollick, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com

findit...@appspot.gserviceaccount.com voted Code-Coverage+1

This change meets the code coverage requirements.

Code-Coverage+1
Open in Gerrit

Related details

Attention set is empty
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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
Gerrit-Change-Number: 5630210
Gerrit-PatchSet: 22
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Peter Williamson <pet...@chromium.org>
Gerrit-Comment-Date: Sat, 22 Jun 2024 07:18:24 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Ian Vollick (Gerrit)

unread,
Jun 24, 2024, 9:40:34 AM (9 days ago) Jun 24
to Dave Tapuska, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
Attention needed from Christoph Schwering, Dave Tapuska and Jan Keitel

Ian Vollick added 1 comment

Patchset-level comments
File-level comment, Patchset 22 (Latest):
Ian Vollick . resolved

Hey all. I've implemented Christoph's suggestion in this CL. There's a fair bit in this patch and it doesn't yet remove the deferring agents (I kept the old version behind a flag so we could fall back if there are issues with the new behavior).

You'll notice that a lot of the CL is common with crrev.com/c/5555207. One thing I could do is land a patch that is pure plumbing to migrate callers. I'll prepare that after sending this out for review.

Another thing I could do is land crrev.com/c/5555207 first so that the CHECK in the drivers isn't conditional on the new path (since we'll be deferring creation notifications).

Plmk if you have preferences.

Open in Gerrit

Related details

Attention is currently required from:
  • Christoph Schwering
  • Dave Tapuska
  • Jan Keitel
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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
Gerrit-Change-Number: 5630210
Gerrit-PatchSet: 22
Gerrit-Owner: Ian Vollick <vol...@chromium.org>
Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
Gerrit-Reviewer: Jan Keitel <jke...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Peter Williamson <pet...@chromium.org>
Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
Gerrit-Attention: Christoph Schwering <schw...@google.com>
Gerrit-Attention: Jan Keitel <jke...@google.com>
Gerrit-Comment-Date: Mon, 24 Jun 2024 13:40:27 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Christoph Schwering (Gerrit)

unread,
Jun 24, 2024, 8:34:06 PM (8 days ago) Jun 24
to Ian Vollick, Dave Tapuska, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
Attention needed from Dave Tapuska, Ian Vollick and Jan Keitel

Christoph Schwering added 4 comments

Patchset-level comments
File-level comment, Patchset 25 (Latest):
Christoph Schwering . unresolved

Thanks for working on this!

Did you mean to rebase on crrev.com/c/5647771?

File components/autofill/content/browser/content_autofill_driver_factory.cc
Line 147, Patchset 25 (Latest): if (is_prerendering && defer_while_prerendering) {
Christoph Schwering . unresolved

Pull the IsEnabled() call down here to enroll only clients that are acutally prerendering?

File components/autofill/content/renderer/autofill_agent.cc
Line 1617, Patchset 25 (Latest): if (unsafe_render_frame()->GetWebFrame()->GetDocument().IsLoaded()) {
Christoph Schwering . unresolved

I'm not sure what `IsLoaded()` means.

Should we instead use [`Document::ParsingState`](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.h;l=1023;drc=90cac1911508d3d682a67c97aa62483eb712f69a) and, in the PWM case, also [`Document::DocumentReadyState`](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.h;l=1015-1017;drc=90cac1911508d3d682a67c97aa62483eb712f69a)?

Or maybe we could pass this information as parameter of `NotifyPrerenderingDocumentActivated()` from `DocumentLoader`.

Line 2009, Patchset 25 (Latest): CHECK(!IsPrerendering() || !defer_creation);
Christoph Schwering . unresolved

As above: inline the IsEnabled() call to avoid enrolling irrelevant clients?

Open in Gerrit

Related details

Attention is currently required from:
  • Dave Tapuska
  • Ian Vollick
  • Jan Keitel
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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
    Gerrit-Change-Number: 5630210
    Gerrit-PatchSet: 25
    Gerrit-Owner: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
    Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Jan Keitel <jke...@google.com>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Peter Williamson <pet...@chromium.org>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Attention: Jan Keitel <jke...@google.com>
    Gerrit-Attention: Ian Vollick <vol...@chromium.org>
    Gerrit-Comment-Date: Tue, 25 Jun 2024 00:33:54 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    findit-for-me@appspot.gserviceaccount.com (Gerrit)

    unread,
    Jun 25, 2024, 2:49:11 AM (8 days ago) Jun 25
    to Ian Vollick, Dave Tapuska, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
    Attention needed from Dave Tapuska and Jan Keitel

    findit...@appspot.gserviceaccount.com voted Code-Coverage+1

    This change meets the code coverage requirements.

    Code-Coverage+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Dave Tapuska
    • Jan Keitel
    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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
    Gerrit-Change-Number: 5630210
    Gerrit-PatchSet: 27
    Gerrit-Owner: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
    Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Jan Keitel <jke...@google.com>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Peter Williamson <pet...@chromium.org>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Attention: Jan Keitel <jke...@google.com>
    Gerrit-Comment-Date: Tue, 25 Jun 2024 06:49:00 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ian Vollick (Gerrit)

    unread,
    Jun 25, 2024, 8:48:07 AM (8 days ago) Jun 25
    to findit...@appspot.gserviceaccount.com, Dave Tapuska, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
    Attention needed from Christoph Schwering, Dave Tapuska and Jan Keitel

    Ian Vollick added 4 comments

    Patchset-level comments
    Christoph Schwering . unresolved

    Thanks for working on this!

    Did you mean to rebase on crrev.com/c/5647771?

    Ian Vollick

    I will, yes, and also on crrev.com/c/5647237. But it seemed simpler for me to cherry-pick changes from those other CLs rather than create a string of dependent CLs (the first two don't really depend on each other) so I'm keeping everything glommed together here for now. I could mark this as WIP while those other CLs are in review, too.

    File components/autofill/content/browser/content_autofill_driver_factory.cc
    Line 147, Patchset 25: if (is_prerendering && defer_while_prerendering) {
    Christoph Schwering . resolved

    Pull the IsEnabled() call down here to enroll only clients that are acutally prerendering?

    Ian Vollick

    Done and made the analogous change for pwm.

    File components/autofill/content/renderer/autofill_agent.cc
    Line 1617, Patchset 25: if (unsafe_render_frame()->GetWebFrame()->GetDocument().IsLoaded()) {
    Christoph Schwering . unresolved

    I'm not sure what `IsLoaded()` means.

    Should we instead use [`Document::ParsingState`](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.h;l=1023;drc=90cac1911508d3d682a67c97aa62483eb712f69a) and, in the PWM case, also [`Document::DocumentReadyState`](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.h;l=1015-1017;drc=90cac1911508d3d682a67c97aa62483eb712f69a)?

    Or maybe we could pass this information as parameter of `NotifyPrerenderingDocumentActivated()` from `DocumentLoader`.

    Ian Vollick

    I'm not sure about IsLoaded either. It seems to be based on the existence of the parser, but using IsLoadCompleted (which depends on ready state) and HasFinishedParsing (which depends on the parsing state) seems good to me, though I'd like to check with an expert. I've made this change in the latest patch.

    Line 2009, Patchset 25: CHECK(!IsPrerendering() || !defer_creation);
    Christoph Schwering . unresolved

    As above: inline the IsEnabled() call to avoid enrolling irrelevant clients?

    Ian Vollick

    Done and made the analogous change for pwm.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Christoph Schwering
    • Dave Tapuska
    • Jan Keitel
    Gerrit-Attention: Christoph Schwering <schw...@google.com>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Attention: Jan Keitel <jke...@google.com>
    Gerrit-Comment-Date: Tue, 25 Jun 2024 12:47:51 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Christoph Schwering <schw...@google.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Ian Vollick (Gerrit)

    unread,
    Jun 25, 2024, 12:10:32 PM (8 days ago) Jun 25
    to Richard (Torne) Coles, Vasilii Sukhanov, findit...@appspot.gserviceaccount.com, Dave Tapuska, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
    Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

    Ian Vollick added 1 comment

    Patchset-level comments
    File-level comment, Patchset 32 (Latest):
    Ian Vollick . resolved

    +torne@ for webview.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Christoph Schwering
    • Dave Tapuska
    • Jan Keitel
    • Richard (Torne) Coles
    • Vasilii Sukhanov
    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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
    Gerrit-Change-Number: 5630210
    Gerrit-PatchSet: 32
    Gerrit-Owner: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
    Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
    Gerrit-Reviewer: Jan Keitel <jke...@google.com>
    Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
    Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Nate Chapin <jap...@chromium.org>
    Gerrit-CC: Peter Williamson <pet...@chromium.org>
    Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
    Gerrit-Attention: Christoph Schwering <schw...@google.com>
    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
    Gerrit-Attention: Jan Keitel <jke...@google.com>
    Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
    Gerrit-Comment-Date: Tue, 25 Jun 2024 16:10:19 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Dave Tapuska (Gerrit)

    unread,
    Jun 25, 2024, 12:12:37 PM (8 days ago) Jun 25
    to Ian Vollick, Richard (Torne) Coles, Vasilii Sukhanov, findit...@appspot.gserviceaccount.com, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
    Attention needed from Christoph Schwering, Ian Vollick, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

    Dave Tapuska voted and added 3 comments

    Votes added by Dave Tapuska

    Code-Review+1

    3 comments

    File chrome/renderer/chrome_content_renderer_client.cc
    Line 396, Patchset 32 (Latest):class PostPrerenderingActivationTask : blink::WebLocalFrameObserver {
    Dave Tapuska . unresolved

    public ?

    File third_party/blink/public/web/web_document.h
    Line 169, Patchset 32 (Latest): // |kFinishedParsing|.
    Dave Tapuska . unresolved

    backticks are the preferred C++ style as opposed to pipes.

    Line 164, Patchset 32 (Latest): // Unlike IsLoaded, which is based on the existance of the document's parser,
    Dave Tapuska . unresolved

    "existance" is a possible misspelling of "existence".

    Please fix.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Christoph Schwering
    • Ian Vollick
    • Jan Keitel
    • Richard (Torne) Coles
    • Vasilii Sukhanov
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Review
      Gerrit-Attention: Jan Keitel <jke...@google.com>
      Gerrit-Attention: Ian Vollick <vol...@chromium.org>
      Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
      Gerrit-Comment-Date: Tue, 25 Jun 2024 16:12:23 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Ian Vollick (Gerrit)

      unread,
      Jun 25, 2024, 12:49:41 PM (8 days ago) Jun 25
      to Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, findit...@appspot.gserviceaccount.com, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
      Attention needed from Christoph Schwering, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

      Ian Vollick added 4 comments

      File chrome/renderer/chrome_content_renderer_client.cc
      Line 396, Patchset 32:class PostPrerenderingActivationTask : blink::WebLocalFrameObserver {
      Dave Tapuska . resolved

      public ?

      Ian Vollick

      Done

      File third_party/blink/public/web/web_document.h
      Line 170, Patchset 35 (Latest): bool HasFinishedParsing() const;
      Ian Vollick . unresolved

      Sadly, it looks like using this as a signal to know if the dom content loaded is incorrect.

      This call causes the dom content loaded event to be fired.
      https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=7514;drc=cc5be7150eef183a1b9a6716d42a396ab7c59733

      I.e., it's only called when we successfully finish parsing.

      However, we also set kFinishedParsing when parsing is cancelled.
      https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=3685;drc=cc5be7150eef183a1b9a6716d42a396ab7c59733

      I'm going to put the CL into WIP while I look at alternatives.

      Line 169, Patchset 32: // |kFinishedParsing|.
      Dave Tapuska . resolved

      backticks are the preferred C++ style as opposed to pipes.

      Ian Vollick

      Done

      Line 164, Patchset 32: // Unlike IsLoaded, which is based on the existance of the document's parser,
      Dave Tapuska . resolved

      "existance" is a possible misspelling of "existence".

      Please fix.

      Ian Vollick

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Christoph Schwering
      • Jan Keitel
      • Richard (Torne) Coles
      • Vasilii Sukhanov
      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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
      Gerrit-Change-Number: 5630210
      Gerrit-PatchSet: 35
      Gerrit-Owner: Ian Vollick <vol...@chromium.org>
      Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
      Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
      Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
      Gerrit-Reviewer: Jan Keitel <jke...@google.com>
      Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
      Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Nate Chapin <jap...@chromium.org>
      Gerrit-CC: Peter Williamson <pet...@chromium.org>
      Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
      Gerrit-Attention: Christoph Schwering <schw...@google.com>
      Gerrit-Attention: Jan Keitel <jke...@google.com>
      Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
      Gerrit-Comment-Date: Tue, 25 Jun 2024 16:49:27 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Dave Tapuska <dtap...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      findit-for-me@appspot.gserviceaccount.com (Gerrit)

      unread,
      Jun 25, 2024, 1:23:28 PM (8 days ago) Jun 25
      to Ian Vollick, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com

      This change meets the code coverage requirements.

      Code-Coverage+1
      Open in Gerrit

      Related details

      Attention set is empty
      Gerrit-Comment-Date: Tue, 25 Jun 2024 17:23:14 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Christoph Schwering (Gerrit)

      unread,
      Jun 25, 2024, 1:31:01 PM (8 days ago) Jun 25
      to Ian Vollick, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
      Attention needed from Ian Vollick

      Christoph Schwering added 5 comments

      File components/autofill/content/renderer/autofill_agent.cc
      Line 1624, Patchset 33: password_autofill_agent_->DidActivatePrerenderingDocument();
      Christoph Schwering . unresolved

      Could you flip the order with the `if`? Right now, PAA::DidDispatchDOMContentLoadedEvent() is independent of AA (I think), but I expect that'll change in the future and that PAA will depend on AA having extracted forms already.

      Line 2009, Patchset 25: CHECK(!IsPrerendering() || !defer_creation);
      Christoph Schwering . unresolved

      As above: inline the IsEnabled() call to avoid enrolling irrelevant clients?

      Ian Vollick

      Done and made the analogous change for pwm.

      Christoph Schwering
      Thanks! If you like to keep the shorter name, you could define a helper
      ```
      namespace {
      void ShouldDeferCreation() {
      return base::FeatureList::IsEnabled(
      autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
      }
      }
      ```
      I think we have or had this pattern a few times in Autofill[Agent].
      Line 2019, Patchset 33: autofill::features::
      Christoph Schwering . unresolved

      nit: remove? (also elsewhere)

      File third_party/blink/public/web/web_document.h
      Line 170, Patchset 35 (Latest): bool HasFinishedParsing() const;
      Ian Vollick . unresolved

      Sadly, it looks like using this as a signal to know if the dom content loaded is incorrect.

      This call causes the dom content loaded event to be fired.
      https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=7514;drc=cc5be7150eef183a1b9a6716d42a396ab7c59733

      I.e., it's only called when we successfully finish parsing.

      However, we also set kFinishedParsing when parsing is cancelled.
      https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=3685;drc=cc5be7150eef183a1b9a6716d42a396ab7c59733

      I'm going to put the CL into WIP while I look at alternatives.

      Christoph Schwering
      The logic could move to `PostPrerenderingActivationTask`, roughly like this:
      ```
      class PostPrerenderingActivationTask : public blink::WebLocalFrameObserver,
      public content::RenderFrameObserver {
      public:
      PostPrerenderingActivationTask(blink::WebLocalFrame* web_local_frame,
      base::OnceCallback<void()> callback)
      : blink::WebLocalFrameObserver(web_local_frame),
      callback_(std::move(callback)) {}
      ~PostPrerenderingActivationTask() override = default;
        void DidActivatePrerenderingDocument() override {
      if (dcl_) aa_.DidDispatchDOMContentLoaded();
      if (load_) aa_.DidFinishLoad();
      delete this;
      }
        void OnFrameDetached() override { delete this; }

      void DidDispatchDOMContentLoaded() override { dcl_ = true; }
      void DidFinishLoad() override { load_ = true; }
       private:
      AutofillAgent& aa_;
      bool dcl_ = false;
      bool load_ = false;
      };
      ```

      We could make it `AutofillAgent`'s responsibility to pass these calls on to `PasswordAutofillAgent`.

      Line 162, Patchset 35 (Latest): bool IsLoaded();

      // Unlike IsLoaded, which is based on the existence of the document's parser,
      // this is based on the document's ready state.
      bool IsLoadCompleted() const;

      // Returns true if the document's parsing state has reached
      // `kFinishedParsing`.
      bool HasFinishedParsing() const;
      Christoph Schwering . unresolved

      Edit: race condition with your comment, so the comment below is probably obsolete.

      ---

      I wonder if we can document these more thoroughly or mention the JS events they refer to. My understanding so far is:

      In particular, `IsLoadComplete()` implies `HasFinishedParsing()`, but `IsLoadComplete()` may never become true for a document.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Ian Vollick
      Gerrit-Attention: Ian Vollick <vol...@chromium.org>
      Gerrit-Comment-Date: Tue, 25 Jun 2024 17:30:47 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Christoph Schwering <schw...@google.com>
      Comment-In-Reply-To: Ian Vollick <vol...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Ian Vollick (Gerrit)

      unread,
      Jun 25, 2024, 1:56:06 PM (8 days ago) Jun 25
      to findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
      Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

      Ian Vollick added 5 comments

      File components/autofill/content/renderer/autofill_agent.cc
      Line 1624, Patchset 33: password_autofill_agent_->DidActivatePrerenderingDocument();
      Christoph Schwering . resolved

      Could you flip the order with the `if`? Right now, PAA::DidDispatchDOMContentLoadedEvent() is independent of AA (I think), but I expect that'll change in the future and that PAA will depend on AA having extracted forms already.

      Ian Vollick

      Done

      Line 2009, Patchset 25: CHECK(!IsPrerendering() || !defer_creation);
      Christoph Schwering . resolved

      As above: inline the IsEnabled() call to avoid enrolling irrelevant clients?

      Ian Vollick

      Done and made the analogous change for pwm.

      Christoph Schwering
      Thanks! If you like to keep the shorter name, you could define a helper
      ```
      namespace {
      void ShouldDeferCreation() {
      return base::FeatureList::IsEnabled(
      autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
      }
      }
      ```
      I think we have or had this pattern a few times in Autofill[Agent].
      Ian Vollick

      Done

      Line 2019, Patchset 33: autofill::features::
      Christoph Schwering . resolved

      nit: remove? (also elsewhere)

      Ian Vollick

      Done

      File third_party/blink/public/web/web_document.h
      Line 162, Patchset 35: bool IsLoaded();


      // Unlike IsLoaded, which is based on the existence of the document's parser,
      // this is based on the document's ready state.
      bool IsLoadCompleted() const;

      // Returns true if the document's parsing state has reached
      // `kFinishedParsing`.
      bool HasFinishedParsing() const;
      Christoph Schwering . resolved

      Edit: race condition with your comment, so the comment below is probably obsolete.

      ---

      I wonder if we can document these more thoroughly or mention the JS events they refer to. My understanding so far is:

      In particular, `IsLoadComplete()` implies `HasFinishedParsing()`, but `IsLoadComplete()` may never become true for a document.

      Ian Vollick

      I've removed all this in the latest patchset, so I think this is moot.

      Line 170, Patchset 35: bool HasFinishedParsing() const;
      Ian Vollick . resolved
      Ian Vollick

      Coincidentally, I'd done something very similar. Done!

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Christoph Schwering
      • Dave Tapuska
      • Jan Keitel
      • Richard (Torne) Coles
      • Vasilii Sukhanov
        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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
        Gerrit-Change-Number: 5630210
        Gerrit-PatchSet: 37
        Gerrit-Owner: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
        Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Jan Keitel <jke...@google.com>
        Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
        Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Peter Williamson <pet...@chromium.org>
        Gerrit-Attention: Christoph Schwering <schw...@google.com>
        Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
        Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Attention: Jan Keitel <jke...@google.com>
        Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
        Gerrit-Comment-Date: Tue, 25 Jun 2024 17:55:53 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ian Vollick (Gerrit)

        unread,
        Jun 25, 2024, 3:10:32 PM (8 days ago) Jun 25
        to findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
        Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

        Ian Vollick added 2 comments

        Patchset-level comments
        File-level comment, Patchset 25:
        Christoph Schwering . resolved

        Thanks for working on this!

        Did you mean to rebase on crrev.com/c/5647771?

        Ian Vollick

        I will, yes, and also on crrev.com/c/5647237. But it seemed simpler for me to cherry-pick changes from those other CLs rather than create a string of dependent CLs (the first two don't really depend on each other) so I'm keeping everything glommed together here for now. I could mark this as WIP while those other CLs are in review, too.

        Ian Vollick

        Resolving this since this change no longer has dependencies.

        File components/autofill/content/renderer/autofill_agent.cc
        Line 1617, Patchset 25: if (unsafe_render_frame()->GetWebFrame()->GetDocument().IsLoaded()) {
        Christoph Schwering . resolved

        I'm not sure what `IsLoaded()` means.

        Should we instead use [`Document::ParsingState`](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.h;l=1023;drc=90cac1911508d3d682a67c97aa62483eb712f69a) and, in the PWM case, also [`Document::DocumentReadyState`](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.h;l=1015-1017;drc=90cac1911508d3d682a67c97aa62483eb712f69a)?

        Or maybe we could pass this information as parameter of `NotifyPrerenderingDocumentActivated()` from `DocumentLoader`.

        Ian Vollick

        I'm not sure about IsLoaded either. It seems to be based on the existence of the parser, but using IsLoadCompleted (which depends on ready state) and HasFinishedParsing (which depends on the parsing state) seems good to me, though I'd like to check with an expert. I've made this change in the latest patch.

        Ian Vollick

        Since I'm not listening to the RFO methods rather than trying to find an equivalent signal, I think this is no longer an issue so I'm gonna resolve this thread.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Christoph Schwering
        • Dave Tapuska
        • Jan Keitel
        • Richard (Torne) Coles
        • Vasilii Sukhanov
        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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
        Gerrit-Change-Number: 5630210
        Gerrit-PatchSet: 39
        Gerrit-Owner: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
        Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Jan Keitel <jke...@google.com>
        Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
        Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Peter Williamson <pet...@chromium.org>
        Gerrit-Attention: Christoph Schwering <schw...@google.com>
        Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
        Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Attention: Jan Keitel <jke...@google.com>
        Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
        Gerrit-Comment-Date: Tue, 25 Jun 2024 19:10:24 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        findit-for-me@appspot.gserviceaccount.com (Gerrit)

        unread,
        Jun 25, 2024, 3:54:05 PM (8 days ago) Jun 25
        to Ian Vollick, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
        Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

        This change meets the code coverage requirements.

        Code-Coverage+1
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Christoph Schwering
        • Dave Tapuska
        • Jan Keitel
        • Richard (Torne) Coles
        • Vasilii Sukhanov
        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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
        Gerrit-Change-Number: 5630210
        Gerrit-PatchSet: 40
        Gerrit-Owner: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
        Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
        Gerrit-Reviewer: Jan Keitel <jke...@google.com>
        Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
        Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Peter Williamson <pet...@chromium.org>
        Gerrit-Attention: Christoph Schwering <schw...@google.com>
        Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
        Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
        Gerrit-Attention: Jan Keitel <jke...@google.com>
        Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
        Gerrit-Comment-Date: Tue, 25 Jun 2024 19:53:55 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Ian Vollick (Gerrit)

        unread,
        Jun 25, 2024, 4:43:58 PM (8 days ago) Jun 25
        to findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
        Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

        Ian Vollick added 1 comment

        File components/autofill/content/browser/content_autofill_driver_unittest.cc
        Line 361, Patchset 40 (Latest): std::move(callback_).Run(driver);
        Ian Vollick . unresolved

        I notice that the code coverage shows that these lines are not executed during the test. It looks like the passes here are bogus. I'm investigating.

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Christoph Schwering
        • Dave Tapuska
        • Jan Keitel
        • Richard (Torne) Coles
        • Vasilii Sukhanov
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          Gerrit-Comment-Date: Tue, 25 Jun 2024 20:43:44 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Christoph Schwering (Gerrit)

          unread,
          Jun 25, 2024, 7:30:34 PM (7 days ago) Jun 25
          to Ian Vollick, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Dave Tapuska, Ian Vollick, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          Christoph Schwering added 5 comments

          File components/autofill/content/browser/content_autofill_driver.cc
          Line 317, Patchset 40: const bool defer_while_prerendering = base::FeatureList::IsEnabled(
          autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
          Christoph Schwering . unresolved

          nit: please add a `// TODO(crbug.com/342132628): Remove when launched.` or similar (we have or at least had this convention of having a bug explicitly mentioned with each features in autofill_features.cc)

          File components/autofill/content/renderer/autofill_agent.h
          Line 230, Patchset 40: // Called before post-prerender activation callbacks.
          void DidActivatePrerenderingDocument(
          bool did_dispatch_dom_content_loaded_event,
          bool did_finish_load);
          Christoph Schwering . unresolved
          A `RenderFrame` cannot go into prerendering mode twice over the course of its lifetime, and therefore it can be activated at most once, correct?

          I'm asking because if not, I assume that `AwRenderFrameExt` needs to reset its `bool did_*`, and the `CHECK()` in `unsafe_autofill_driver()` is wrong.
          File components/autofill/core/common/autofill_features.cc
          Line 767, Patchset 40:// the page is activated. Applies to both autofill and password manager.
          Christoph Schwering . unresolved

          nit: please add a `// TODO(crbug.com/342132628): Remove when launched.` or similar (we have or at least had this convention of having a bug explicitly mentioned with each features in autofill_features.cc)

          File components/password_manager/content/browser/content_password_manager_driver.cc
          Line 150, Patchset 40: autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
          Christoph Schwering . unresolved

          nit: inline below and swap the order to enroll only prerendering clients?

          File third_party/blink/public/web/web_document.h
          Christoph Schwering

          Great, that feels nice and robust, thank you.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Dave Tapuska
          • Ian Vollick
          • Jan Keitel
          • Richard (Torne) Coles
          • Vasilii Sukhanov
          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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
          Gerrit-Change-Number: 5630210
          Gerrit-PatchSet: 42
          Gerrit-Owner: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
          Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Jan Keitel <jke...@google.com>
          Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Peter Williamson <pet...@chromium.org>
          Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Jan Keitel <jke...@google.com>
          Gerrit-Attention: Ian Vollick <vol...@chromium.org>
          Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Comment-Date: Tue, 25 Jun 2024 23:30:21 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Ian Vollick (Gerrit)

          unread,
          Jun 25, 2024, 7:59:07 PM (7 days ago) Jun 25
          to findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          Ian Vollick added 5 comments

          File components/autofill/content/browser/content_autofill_driver.cc
          Line 317, Patchset 40: const bool defer_while_prerendering = base::FeatureList::IsEnabled(
          autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
          Christoph Schwering . resolved

          nit: please add a `// TODO(crbug.com/342132628): Remove when launched.` or similar (we have or at least had this convention of having a bug explicitly mentioned with each features in autofill_features.cc)

          Ian Vollick

          Sg. I've moved this to a helper (as you'd suggested for the agents) and put the TODO there. Please reopen if that doesn't fit the bill.

          File components/autofill/content/browser/content_autofill_driver_unittest.cc
          Line 361, Patchset 40: std::move(callback_).Run(driver);
          Ian Vollick . resolved

          I notice that the code coverage shows that these lines are not executed during the test. It looks like the passes here are bogus. I'm investigating.

          Ian Vollick

          Looks like there were a couple of problems. First, in NavigatedMainFramePrerenderedPageActivation it seems that since the page wasn't really prerendering, we wouldn't defer so we'd happen to create the driver prior to activation. It still provides some coverage for the non-deferring case, but it is contrived in the deferring case. I've commented as such.

          In ContentAutofillDriverTest_PrerenderBadMessage it looks like due to the bad message helper we don't die (I've checked that we hit the early out for prerender activation if we do this) so we can also check that activation of an actually-prerendered page also doesn't hit reset.

          The other problem in ContentAutofillDriverTest_PrerenderBadMessage is that the creation observer is RAII and it falls out of scope in the if block. In this latest patch set I now stick it in a unique_ptr.

          File components/autofill/content/renderer/autofill_agent.h
          Line 230, Patchset 40: // Called before post-prerender activation callbacks.
          void DidActivatePrerenderingDocument(
          bool did_dispatch_dom_content_loaded_event,
          bool did_finish_load);
          Christoph Schwering . unresolved
          A `RenderFrame` cannot go into prerendering mode twice over the course of its lifetime, and therefore it can be activated at most once, correct?

          I'm asking because if not, I assume that `AwRenderFrameExt` needs to reset its `bool did_*`, and the `CHECK()` in `unsafe_autofill_driver()` is wrong.
          Line 767, Patchset 40:// the page is activated. Applies to both autofill and password manager.
          Christoph Schwering . resolved

          nit: please add a `// TODO(crbug.com/342132628): Remove when launched.` or similar (we have or at least had this convention of having a bug explicitly mentioned with each features in autofill_features.cc)

          Ian Vollick

          Done

          File components/password_manager/content/browser/content_password_manager_driver.cc
          Line 150, Patchset 40: autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
          Christoph Schwering . resolved

          nit: inline below and swap the order to enroll only prerendering clients?

          Ian Vollick

          Done

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Christoph Schwering
          • Dave Tapuska
          Gerrit-Attention: Christoph Schwering <schw...@google.com>
          Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Jan Keitel <jke...@google.com>
          Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Comment-Date: Tue, 25 Jun 2024 23:58:56 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          findit-for-me@appspot.gserviceaccount.com (Gerrit)

          unread,
          Jun 25, 2024, 8:25:52 PM (7 days ago) Jun 25
          to Ian Vollick, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          This change meets the code coverage requirements.

          Code-Coverage+1
          Gerrit-Comment-Date: Wed, 26 Jun 2024 00:25:41 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Christoph Schwering (Gerrit)

          unread,
          Jun 26, 2024, 6:55:29 AM (7 days ago) Jun 26
          to Ian Vollick, Hiroki Nakagawa, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Dave Tapuska, Ian Vollick, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          Christoph Schwering added 1 comment

          File components/autofill/content/browser/content_autofill_driver.cc
          Line 317, Patchset 40: const bool defer_while_prerendering = base::FeatureList::IsEnabled(
          autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
          Christoph Schwering . unresolved

          nit: please add a `// TODO(crbug.com/342132628): Remove when launched.` or similar (we have or at least had this convention of having a bug explicitly mentioned with each features in autofill_features.cc)

          Ian Vollick

          Sg. I've moved this to a helper (as you'd suggested for the agents) and put the TODO there. Please reopen if that doesn't fit the bill.

          Christoph Schwering

          Aah, I'm sorry, my comment ended up in the completely wrong place: I meant to leave the comment in `autofill_features.cc` above the definition of `kAutofillDeferDriverAgentCreationUntilActivation`.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Dave Tapuska
          • Ian Vollick
          Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Peter Williamson <pet...@chromium.org>
          Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Jan Keitel <jke...@google.com>
          Gerrit-Attention: Ian Vollick <vol...@chromium.org>
          Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Comment-Date: Wed, 26 Jun 2024 10:55:17 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Ian Vollick (Gerrit)

          unread,
          Jun 26, 2024, 8:38:23 AM (7 days ago) Jun 26
          to Hiroki Nakagawa, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          Ian Vollick added 1 comment

          File components/autofill/content/browser/content_autofill_driver.cc
          Line 317, Patchset 40: const bool defer_while_prerendering = base::FeatureList::IsEnabled(
          autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
          Christoph Schwering . resolved

          nit: please add a `// TODO(crbug.com/342132628): Remove when launched.` or similar (we have or at least had this convention of having a bug explicitly mentioned with each features in autofill_features.cc)

          Ian Vollick

          Sg. I've moved this to a helper (as you'd suggested for the agents) and put the TODO there. Please reopen if that doesn't fit the bill.

          Christoph Schwering

          Aah, I'm sorry, my comment ended up in the completely wrong place: I meant to leave the comment in `autofill_features.cc` above the definition of `kAutofillDeferDriverAgentCreationUntilActivation`.

          Ian Vollick

          Done. I've removed the comment from the function, though, since it'll clearly need to go once the feature is removed.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Christoph Schwering
          • Dave Tapuska
          • Jan Keitel
          • Richard (Torne) Coles
          • Vasilii Sukhanov
          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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
          Gerrit-Change-Number: 5630210
          Gerrit-PatchSet: 44
          Gerrit-Owner: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
          Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Jan Keitel <jke...@google.com>
          Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Peter Williamson <pet...@chromium.org>
          Gerrit-Attention: Christoph Schwering <schw...@google.com>
          Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Jan Keitel <jke...@google.com>
          Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Comment-Date: Wed, 26 Jun 2024 12:38:10 +0000
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Ian Vollick (Gerrit)

          unread,
          Jun 26, 2024, 8:40:22 AM (7 days ago) Jun 26
          to Hiroki Nakagawa, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          Ian Vollick voted and added 1 comment

          Votes added by Ian Vollick

          Commit-Queue+1

          1 comment

          File components/autofill/content/renderer/autofill_agent.h
          Line 230, Patchset 40: // Called before post-prerender activation callbacks.
          void DidActivatePrerenderingDocument(
          bool did_dispatch_dom_content_loaded_event,
          bool did_finish_load);
          Christoph Schwering . resolved
          A `RenderFrame` cannot go into prerendering mode twice over the course of its lifetime, and therefore it can be activated at most once, correct?

          I'm asking because if not, I assume that `AwRenderFrameExt` needs to reset its `bool did_*`, and the `CHECK()` in `unsafe_autofill_driver()` is wrong.
          Ian Vollick

          Yes, I think that's right. See this [transition diagram]( https://chromium.googlesource.com/chromium/src/+/HEAD/docs/render-frame-host-lifecycle-state.png) and the set of [allowed transitions](https://source.chromium.org/chromium/chromium/src/+/main:content/browser/renderer_host/render_frame_host_impl.cc;l=16189;drc=cc5be7150eef183a1b9a6716d42a396ab7c59733).

          @dtap...@chromium.org, @nhi...@chromium.org, plmk if that's wrong.

          Ian Vollick

          IIUC, that resolves your question so I'm going to mark this comment as such (but please open if that's wrong).

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Christoph Schwering
          • Dave Tapuska
          • Jan Keitel
          • Richard (Torne) Coles
          • Vasilii Sukhanov
          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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
          Gerrit-Change-Number: 5630210
          Gerrit-PatchSet: 45
          Gerrit-Owner: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
          Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Jan Keitel <jke...@google.com>
          Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Peter Williamson <pet...@chromium.org>
          Gerrit-Attention: Christoph Schwering <schw...@google.com>
          Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Jan Keitel <jke...@google.com>
          Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Comment-Date: Wed, 26 Jun 2024 12:40:11 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          findit-for-me@appspot.gserviceaccount.com (Gerrit)

          unread,
          Jun 26, 2024, 9:20:52 AM (7 days ago) Jun 26
          to Ian Vollick, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          This change meets the code coverage requirements.

          Code-Coverage+1
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Christoph Schwering
          • Dave Tapuska
          • Jan Keitel
          • Richard (Torne) Coles
          • Vasilii Sukhanov
          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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
          Gerrit-Change-Number: 5630210
          Gerrit-PatchSet: 44
          Gerrit-Owner: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
          Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
          Gerrit-Reviewer: Jan Keitel <jke...@google.com>
          Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
          Gerrit-CC: Nate Chapin <jap...@chromium.org>
          Gerrit-CC: Peter Williamson <pet...@chromium.org>
          Gerrit-Attention: Christoph Schwering <schw...@google.com>
          Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
          Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
          Gerrit-Attention: Jan Keitel <jke...@google.com>
          Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
          Gerrit-Comment-Date: Wed, 26 Jun 2024 13:20:39 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Christoph Schwering (Gerrit)

          unread,
          Jun 26, 2024, 9:52:17 AM (7 days ago) Jun 26
          to Ian Vollick, Hiroki Nakagawa, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
          Attention needed from Dave Tapuska, Ian Vollick, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

          Christoph Schwering added 7 comments

          Patchset-level comments
          File-level comment, Patchset 45 (Latest):
          Christoph Schwering . resolved

          Thanks a lot. Just a few more nits in the tests.

          File chrome/browser/autofill/autofill_browsertest.cc
          Line 834, Patchset 45 (Latest): AutofillTestPrerendering() {
          Christoph Schwering . unresolved

          nit: add a blank line

          Line 835, Patchset 45 (Latest): if (GetParam()) {
          Christoph Schwering . unresolved

          nit: I think it's more readable if we have a one-liner
          ```
          bool defer_driver_agent_creation_until_activation() const { return GetParam(); }
          ```
          and call that instead of `GetParam()`? (also in some other test cases)

          Line 907, Patchset 45 (Latest): MockAutofillManager* mock = autofill_manager(rfh);

          // Once the prerendered frame becomes active, we should get notified of any
          // forms on the page, but we will drop other messages (eg focus) on the floor.
          // If this was sent earlier, we would crash due to bad message checks
          // in ContentAutofillDriver::FormsSeen.
          struct {
          Sequence seq;
          base::RunLoop run_loop;
          } on_forms_seen;
          EXPECT_CALL(*mock, OnFormsSeen)
          .InSequence(on_forms_seen.seq)
          .WillOnce(InvokeClosure(on_forms_seen.run_loop.QuitClosure()));

          if (!GetParam()) {
          // If we're not deferring creation, we will get the message for the
          // programmatic focus (this will be dropped on the floor, otherwise.
          struct {
          Sequence seq;
          base::RunLoop run_loop;
          } on_focus_on_form_field_impl;

          EXPECT_CALL(*mock, OnFocusOnFormFieldImpl)
          .InSequence(on_focus_on_form_field_impl.seq)
          .WillOnce(
          InvokeClosure(on_focus_on_form_field_impl.run_loop.QuitClosure()));
          on_focus_on_form_field_impl.run_loop.Run();
          }
          Christoph Schwering . unresolved

          The purpose of `on_forms_seen`, `on_focus_on_form_field_impl` and their `Sequence`s is to avoid UB as per the [GMock documentation](https://google.github.io/googletest/gmock_cook_book.html), which says:

          Setting expectations after code that exercises the mock has undefined behavior.

          I suspect the new version of the test is UB.

          Would it suffice to only move the `on_focus_on_form_field_impl.run_loop.Run()` call down here?

          Admittedly we have tons of this kind of UB in other Autofill tests. But I think we shouldn't mix the UB-preventing style with the UB style.

          File components/autofill/content/browser/content_autofill_driver_unittest.cc
          Line 601, Patchset 45 (Latest):INSTANTIATE_TEST_SUITE_P(All,
          Christoph Schwering . unresolved

          nit: I think `ContentAutofillDriverTest` is preferable for prefix matching the tests (otherwise they're listed as `All/PrerenderingContentAutofillDriverTest.NavigatedMainFramePrerenderedPageActivation/0` etc., IIRC)

          Line 1007, Patchset 45 (Latest): ::autofill::features::
          Christoph Schwering . unresolved

          nit: remove (also elsewhere)

          File components/autofill/content/renderer/autofill_agent.h
          Line 230, Patchset 40: // Called before post-prerender activation callbacks.
          void DidActivatePrerenderingDocument(
          bool did_dispatch_dom_content_loaded_event,
          bool did_finish_load);
          Christoph Schwering . resolved
          A `RenderFrame` cannot go into prerendering mode twice over the course of its lifetime, and therefore it can be activated at most once, correct?

          I'm asking because if not, I assume that `AwRenderFrameExt` needs to reset its `bool did_*`, and the `CHECK()` in `unsafe_autofill_driver()` is wrong.
          Ian Vollick

          Yes, I think that's right. See this [transition diagram]( https://chromium.googlesource.com/chromium/src/+/HEAD/docs/render-frame-host-lifecycle-state.png) and the set of [allowed transitions](https://source.chromium.org/chromium/chromium/src/+/main:content/browser/renderer_host/render_frame_host_impl.cc;l=16189;drc=cc5be7150eef183a1b9a6716d42a396ab7c59733).

          @dtap...@chromium.org, @nhi...@chromium.org, plmk if that's wrong.

          Ian Vollick

          IIUC, that resolves your question so I'm going to mark this comment as such (but please open if that's wrong).

          Christoph Schwering

          Great, thank you. Apologies for the piecewise review.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Dave Tapuska
          • Ian Vollick
          • Jan Keitel
          • Richard (Torne) Coles
          • Vasilii Sukhanov
            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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
              Gerrit-Change-Number: 5630210
              Gerrit-PatchSet: 45
              Gerrit-Owner: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
              Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Jan Keitel <jke...@google.com>
              Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
              Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
              Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: Peter Williamson <pet...@chromium.org>
              Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
              Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Attention: Jan Keitel <jke...@google.com>
              Gerrit-Attention: Ian Vollick <vol...@chromium.org>
              Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Comment-Date: Wed, 26 Jun 2024 13:52:04 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Jan Keitel (Gerrit)

              unread,
              Jun 26, 2024, 11:15:10 AM (7 days ago) Jun 26
              to Ian Vollick, Hiroki Nakagawa, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
              Attention needed from Dave Tapuska, Ian Vollick, Richard (Torne) Coles and Vasilii Sukhanov

              Jan Keitel added 7 comments

              Patchset-level comments
              Jan Keitel . resolved

              Thank you for all the work on this, Ian!

              File chrome/browser/autofill/autofill_browsertest.cc
              Line 810, Patchset 45 (Latest): public ::testing::WithParamInterface<bool> {
              Jan Keitel . unresolved

              Optional nit: Use `base::test::WithFeatureOverride`?

              File components/autofill/content/browser/content_autofill_driver_unittest.cc
              Line 353, Patchset 45 (Latest): factory_->AddObserver(this);
              Jan Keitel . unresolved

              Optional nit, since test: Use `ScopedObservation`?

              Line 1002, Patchset 45 (Latest): public ::testing::WithParamInterface<bool> {
              Jan Keitel . unresolved

              Optional nit: Use `base::test::WithFeatureOverride`?

              File components/autofill/content/renderer/autofill_agent.cc
              Line 1626, Patchset 45 (Latest): if (!ShouldDeferCreationUntilPrerenderActivation()) {
              return;
              }
              Jan Keitel . unresolved

              Should this be a `CHECK` instead? AFAIK this can never happen?

              File components/autofill/content/renderer/password_autofill_agent.cc
              Line 1425, Patchset 45 (Latest): if (!ShouldDeferCreationUntilPrerenderActivation()) {
              return;
              }
              Jan Keitel . unresolved

              Same question as above: Make this a `CHECK`?

              Line 1431, Patchset 45 (Latest): if (did_dispatch_dom_content_loaded_event) {
              DidDispatchDOMContentLoadedEvent();
              }

              if (did_finish_load) {
              DidFinishLoad();
              }
              Jan Keitel . unresolved

              If I look at the code below, it seems that sending both events is overkill. IIUC `SendPasswordForm(false)` sends a superset of the forms that `SendPasswordForms(true)` sends.

              Another question: Is the ordering of the two events always guaranteed? If so, how about passing an enum instead of a bool?

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Dave Tapuska
              • Ian Vollick
              Gerrit-Attention: Ian Vollick <vol...@chromium.org>
              Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Comment-Date: Wed, 26 Jun 2024 15:14:56 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Ian Vollick (Gerrit)

              unread,
              Jun 26, 2024, 9:59:39 PM (6 days ago) Jun 26
              to Hiroki Nakagawa, findit...@appspot.gserviceaccount.com, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
              Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

              Ian Vollick added 11 comments

              File chrome/browser/autofill/autofill_browsertest.cc
              Line 810, Patchset 45: public ::testing::WithParamInterface<bool> {
              Jan Keitel . resolved

              Optional nit: Use `base::test::WithFeatureOverride`?

              Ian Vollick

              Done

              Line 834, Patchset 45: AutofillTestPrerendering() {
              Christoph Schwering . resolved

              nit: add a blank line

              Ian Vollick

              Done

              Line 835, Patchset 45: if (GetParam()) {
              Christoph Schwering . resolved

              nit: I think it's more readable if we have a one-liner
              ```
              bool defer_driver_agent_creation_until_activation() const { return GetParam(); }
              ```
              and call that instead of `GetParam()`? (also in some other test cases)

              Ian Vollick

              Done

              Line 907, Patchset 45: MockAutofillManager* mock = autofill_manager(rfh);


              // Once the prerendered frame becomes active, we should get notified of any
              // forms on the page, but we will drop other messages (eg focus) on the floor.
              // If this was sent earlier, we would crash due to bad message checks
              // in ContentAutofillDriver::FormsSeen.
              struct {
              Sequence seq;
              base::RunLoop run_loop;
              } on_forms_seen;
              EXPECT_CALL(*mock, OnFormsSeen)
              .InSequence(on_forms_seen.seq)
              .WillOnce(InvokeClosure(on_forms_seen.run_loop.QuitClosure()));

              if (!GetParam()) {
              // If we're not deferring creation, we will get the message for the
              // programmatic focus (this will be dropped on the floor, otherwise.
              struct {
              Sequence seq;
              base::RunLoop run_loop;
              } on_focus_on_form_field_impl;

              EXPECT_CALL(*mock, OnFocusOnFormFieldImpl)
              .InSequence(on_focus_on_form_field_impl.seq)
              .WillOnce(
              InvokeClosure(on_focus_on_form_field_impl.run_loop.QuitClosure()));
              on_focus_on_form_field_impl.run_loop.Run();
              }
              Christoph Schwering . resolved

              The purpose of `on_forms_seen`, `on_focus_on_form_field_impl` and their `Sequence`s is to avoid UB as per the [GMock documentation](https://google.github.io/googletest/gmock_cook_book.html), which says:

              Setting expectations after code that exercises the mock has undefined behavior.

              I suspect the new version of the test is UB.

              Would it suffice to only move the `on_focus_on_form_field_impl.run_loop.Run()` call down here?

              Admittedly we have tons of this kind of UB in other Autofill tests. But I think we shouldn't mix the UB-preventing style with the UB style.

              Ian Vollick

              Good point -- thanks for flagging. In order to set up the expectations before using the mocks and wait on them later, I tried to apply the expectations right as the mocks were being created. To do this, I made it possible to observe the injector. Hopefully this addresses the concern of setting expectations after interacting with mocks, but plmk and reopen, if not or if I've got this wrong.

              File components/autofill/content/browser/content_autofill_driver_unittest.cc
              Line 353, Patchset 45: factory_->AddObserver(this);
              Jan Keitel . resolved

              Optional nit, since test: Use `ScopedObservation`?

              Ian Vollick

              Done

              Line 601, Patchset 45:INSTANTIATE_TEST_SUITE_P(All,
              Christoph Schwering . resolved

              nit: I think `ContentAutofillDriverTest` is preferable for prefix matching the tests (otherwise they're listed as `All/PrerenderingContentAutofillDriverTest.NavigatedMainFramePrerenderedPageActivation/0` etc., IIRC)

              Ian Vollick

              Done

              Line 1002, Patchset 45: public ::testing::WithParamInterface<bool> {
              Jan Keitel . resolved

              Optional nit: Use `base::test::WithFeatureOverride`?

              Ian Vollick

              Done

              Line 1007, Patchset 45: ::autofill::features::
              Christoph Schwering . resolved

              nit: remove (also elsewhere)

              Ian Vollick

              Done

              File components/autofill/content/renderer/autofill_agent.cc
              Line 1626, Patchset 45: if (!ShouldDeferCreationUntilPrerenderActivation()) {
              return;
              }
              Jan Keitel . resolved

              Should this be a `CHECK` instead? AFAIK this can never happen?

              Ian Vollick

              Done

              File components/autofill/content/renderer/password_autofill_agent.cc
              Line 1425, Patchset 45: if (!ShouldDeferCreationUntilPrerenderActivation()) {
              return;
              }
              Jan Keitel . resolved

              Same question as above: Make this a `CHECK`?

              Ian Vollick

              Done

              Line 1431, Patchset 45: if (did_dispatch_dom_content_loaded_event) {
              DidDispatchDOMContentLoadedEvent();
              }

              if (did_finish_load) {
              DidFinishLoad();
              }
              Jan Keitel . unresolved

              If I look at the code below, it seems that sending both events is overkill. IIUC `SendPasswordForm(false)` sends a superset of the forms that `SendPasswordForms(true)` sends.

              Another question: Is the ordering of the two events always guaranteed? If so, how about passing an enum instead of a bool?

              Ian Vollick

              It looks like it's not quite a superset. We send rendered or parsed messages depending on the boolean parameter [here](https://source.chromium.org/chromium/chromium/src/+/main:components/autofill/content/renderer/password_autofill_agent.cc;l=1385;drc=3e02eb658e84b46ebb53667e0a1cb52fe53b5f87). But even if it was the case that one of the Did fns was a superset of the other, I think I'd still prefer to call both methods so that we don't have an unexpected breakage in the future if these functions change.

              As for the ordering of events, yes, it looks like like the ordering is guaranteed, ShouldComplete() guards the fn in Document where the load finish event is triggered and is [blocked on being at kFinishedParsing](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=4036;drc=3e02eb658e84b46ebb53667e0a1cb52fe53b5f87).

              In my latest patch set I've switched to an enum and added some checks that the order is as expected in chrome_content_renderer_client.cc

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Christoph Schwering
              • Dave Tapuska
              • Jan Keitel
              • Richard (Torne) Coles
              • Vasilii Sukhanov
              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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
              Gerrit-Change-Number: 5630210
              Gerrit-PatchSet: 50
              Gerrit-Owner: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
              Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Jan Keitel <jke...@google.com>
              Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
              Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
              Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: Peter Williamson <pet...@chromium.org>
              Gerrit-Attention: Christoph Schwering <schw...@google.com>
              Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
              Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Attention: Jan Keitel <jke...@google.com>
              Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Comment-Date: Thu, 27 Jun 2024 01:59:30 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Christoph Schwering <schw...@google.com>
              Comment-In-Reply-To: Jan Keitel <jke...@google.com>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              findit-for-me@appspot.gserviceaccount.com (Gerrit)

              unread,
              Jun 26, 2024, 10:41:49 PM (6 days ago) Jun 26
              to Ian Vollick, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
              Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

              This change meets the code coverage requirements.

              Code-Coverage+1
              Gerrit-Comment-Date: Thu, 27 Jun 2024 02:41:37 +0000
              Gerrit-HasComments: No
              Gerrit-Has-Labels: Yes
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Jan Keitel (Gerrit)

              unread,
              Jun 27, 2024, 2:30:17 AM (6 days ago) Jun 27
              to Ian Vollick, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
              Attention needed from Christoph Schwering, Dave Tapuska, Ian Vollick, Richard (Torne) Coles and Vasilii Sukhanov

              Jan Keitel added 6 comments

              Patchset-level comments
              File-level comment, Patchset 50 (Latest):
              Jan Keitel . resolved

              Thank you Ian - just a few more nits below.

              File components/autofill/content/browser/content_autofill_driver_unittest.cc
              Line 1005, Patchset 50 (Latest): base::test::ScopedFeatureList scoped_features_;
              Jan Keitel . unresolved

              Remove?

              File components/autofill/content/renderer/autofill_agent.cc
              Line 16, Patchset 50 (Latest):#include "autofill_agent.h"
              Jan Keitel . unresolved

              Remove.

              File components/autofill/content/renderer/password_autofill_agent.cc
              Line 15, Patchset 50 (Latest):#include "autofill_agent.h"
              Jan Keitel . unresolved

              Please remove - is that `clangd` going rogue? I've recently noticed the same in my setup.

              Line 1429, Patchset 50 (Latest): if (events_to_dispatch >=
              Jan Keitel . unresolved

              Nit, happy to be overruled: How do you feel about just doing an explicit switch, even if that duplicates the line that call `DidDispatchDOMContentLoadedEvent`? This feels a little fragile in case somebody changes the enum order.

              Line 1431, Patchset 45: if (did_dispatch_dom_content_loaded_event) {
              DidDispatchDOMContentLoadedEvent();
              }

              if (did_finish_load) {
              DidFinishLoad();
              }
              Jan Keitel . resolved

              If I look at the code below, it seems that sending both events is overkill. IIUC `SendPasswordForm(false)` sends a superset of the forms that `SendPasswordForms(true)` sends.

              Another question: Is the ordering of the two events always guaranteed? If so, how about passing an enum instead of a bool?

              Ian Vollick

              It looks like it's not quite a superset. We send rendered or parsed messages depending on the boolean parameter [here](https://source.chromium.org/chromium/chromium/src/+/main:components/autofill/content/renderer/password_autofill_agent.cc;l=1385;drc=3e02eb658e84b46ebb53667e0a1cb52fe53b5f87). But even if it was the case that one of the Did fns was a superset of the other, I think I'd still prefer to call both methods so that we don't have an unexpected breakage in the future if these functions change.

              As for the ordering of events, yes, it looks like like the ordering is guaranteed, ShouldComplete() guards the fn in Document where the load finish event is triggered and is [blocked on being at kFinishedParsing](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/dom/document.cc;l=4036;drc=3e02eb658e84b46ebb53667e0a1cb52fe53b5f87).

              In my latest patch set I've switched to an enum and added some checks that the order is as expected in chrome_content_renderer_client.cc

              Jan Keitel

              Ack, you're right - let's leave the PWM calls as they are (or at least for a later cleanup by somebody on our team). Thank you for moving to the enum!

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Christoph Schwering
              • Dave Tapuska
              • Ian Vollick
              Gerrit-Attention: Ian Vollick <vol...@chromium.org>
              Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Comment-Date: Thu, 27 Jun 2024 06:30:08 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Jan Keitel <jke...@google.com>
              Comment-In-Reply-To: Ian Vollick <vol...@chromium.org>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Ian Vollick (Gerrit)

              unread,
              Jun 27, 2024, 8:57:28 AM (6 days ago) Jun 27
              to findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
              Attention needed from Christoph Schwering, Dave Tapuska, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

              Ian Vollick added 5 comments

              File components/autofill/content/browser/content_autofill_driver_unittest.cc
              Line 1005, Patchset 50: base::test::ScopedFeatureList scoped_features_;
              Jan Keitel . resolved

              Remove?

              Ian Vollick

              Done

              File components/autofill/content/renderer/autofill_agent.cc
              Line 16, Patchset 50:#include "autofill_agent.h"
              Jan Keitel . resolved

              Remove.

              Ian Vollick

              Done. Not sure how I got these strange includes.

              Line 55, Patchset 50:#include "password_autofill_agent.h"
              Ian Vollick . resolved

              Removed this, too.

              File components/autofill/content/renderer/password_autofill_agent.cc
              Line 15, Patchset 50:#include "autofill_agent.h"
              Jan Keitel . resolved

              Please remove - is that `clangd` going rogue? I've recently noticed the same in my setup.

              Ian Vollick

              Done. I'm not sure - I'd like to know the cause, too.

              Line 1429, Patchset 50: if (events_to_dispatch >=
              Jan Keitel . resolved

              Nit, happy to be overruled: How do you feel about just doing an explicit switch, even if that duplicates the line that call `DidDispatchDOMContentLoadedEvent`? This feels a little fragile in case somebody changes the enum order.

              Ian Vollick

              Done

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Christoph Schwering
              • Dave Tapuska
              • Jan Keitel
              • Richard (Torne) Coles
              • Vasilii Sukhanov
              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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
              Gerrit-Change-Number: 5630210
              Gerrit-PatchSet: 51
              Gerrit-Owner: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
              Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
              Gerrit-Reviewer: Jan Keitel <jke...@google.com>
              Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
              Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
              Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
              Gerrit-CC: Nate Chapin <jap...@chromium.org>
              Gerrit-CC: Peter Williamson <pet...@chromium.org>
              Gerrit-Attention: Christoph Schwering <schw...@google.com>
              Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
              Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
              Gerrit-Attention: Jan Keitel <jke...@google.com>
              Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
              Gerrit-Comment-Date: Thu, 27 Jun 2024 12:57:17 +0000
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Christoph Schwering (Gerrit)

              unread,
              Jun 27, 2024, 9:37:32 AM (6 days ago) Jun 27
              to Ian Vollick, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Jan Keitel, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
              Attention needed from Dave Tapuska, Ian Vollick, Jan Keitel, Richard (Torne) Coles and Vasilii Sukhanov

              Christoph Schwering added 11 comments

              Patchset-level comments
              File-level comment, Patchset 51 (Latest):
              Christoph Schwering . resolved

              Thanks! One final round of nits from my side :-)

              File chrome/browser/autofill/autofill_browsertest.cc
              Line 873, Patchset 51 (Latest): raw_ptr<AutofillTestPrerendering> owner_;
              Christoph Schwering . unresolved

              nit: `raw_ref`?

              Line 893, Patchset 51 (Latest): autofill_manager_injector_observer_(this) {
              Christoph Schwering . unresolved

              nit: you can initialize this one at the declaration with
              ```
              MockAutofillManagerInjectorObserver autofill_manager_injector_observer_{this};
              ```

              Line 941, Patchset 51 (Latest): std::unique_ptr<SequenceAndRunLoop> on_forms_seen_;
              std::unique_ptr<SequenceAndRunLoop> on_focus_on_form_field_impl_;
              Christoph Schwering . unresolved

              Does it make a difference if these are `std::unique_ptr<SequenceAndRunLoop>` instead of just `SequenceAndRunLoop`?

              File components/autofill/content/browser/content_autofill_driver.cc
              Line 256, Patchset 51 (Latest): autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
              Christoph Schwering . unresolved

              nit: remove

              File components/autofill/content/browser/content_autofill_driver_factory.cc
              Line 147, Patchset 51 (Latest): autofill::features::
              Christoph Schwering . unresolved

              nit: remove

              File components/autofill/content/browser/content_autofill_driver_unittest.cc
              Line 1016, Patchset 51 (Latest): std::unique_ptr<ContentAutofillDriverCreationObserver> creation_observer;
              Christoph Schwering . unresolved

              nitty nit: as per go/totw/123 I think this should be `optional`. The initialization could then be come
              ```
              creation_observer.emplace(factory(), base::BindOnce(...));
              ```

              File components/autofill/content/renderer/password_autofill_agent.cc
              Line 15, Patchset 51 (Latest):#include "autofill_agent.h"
              Christoph Schwering . unresolved

              nit: incomplete path

              Line 589, Patchset 51 (Latest): autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
              Christoph Schwering . unresolved

              nit: remove

              Line 1439, Patchset 51 (Latest): default:
              Christoph Schwering . unresolved

              nit: remove? We probably want the compiler to tell us when the enum changes.

              File components/password_manager/content/browser/content_password_manager_driver.cc
              Line 156, Patchset 51 (Latest): CHECK(!(is_prerendering && !ShouldDeferCreationUntilPrerenderActivation()));
              Christoph Schwering . unresolved

              That exclamation mark is wrong, isn't it?

              Open in Gerrit

              Related details

              Attention is currently required from:
              • Dave Tapuska
              • Ian Vollick
              • Jan Keitel
              • Richard (Torne) Coles
              • Vasilii Sukhanov
                Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement is not satisfiedCode-Review
                  • requirement is not satisfiedNo-Unresolved-Comments
                  Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                  Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
                  Gerrit-Attention: Jan Keitel <jke...@google.com>
                  Gerrit-Attention: Ian Vollick <vol...@chromium.org>
                  Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
                  Gerrit-Comment-Date: Thu, 27 Jun 2024 13:37:22 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Jan Keitel (Gerrit)

                  unread,
                  Jun 27, 2024, 9:55:50 AM (6 days ago) Jun 27
                  to Ian Vollick, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                  Attention needed from Christoph Schwering, Dave Tapuska, Ian Vollick, Richard (Torne) Coles and Vasilii Sukhanov

                  Jan Keitel voted and added 2 comments

                  Votes added by Jan Keitel

                  Code-Review+1

                  2 comments

                  Patchset-level comments
                  Jan Keitel . resolved

                  LGTM % Chris' comment on the switch and the PWM check. 😊

                  Thank you, Ian!

                  File components/autofill/content/renderer/password_autofill_agent.cc
                  Christoph Schwering . unresolved

                  nit: remove? We probably want the compiler to tell us when the enum changes.

                  Jan Keitel

                  +1

                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Christoph Schwering
                  • Dave Tapuska
                  • Ian Vollick
                  • Richard (Torne) Coles
                  • Vasilii Sukhanov
                    Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement satisfiedCode-Review
                    Gerrit-Attention: Christoph Schwering <schw...@google.com>
                    Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
                    Gerrit-Attention: Ian Vollick <vol...@chromium.org>
                    Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 13:55:35 +0000
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    findit-for-me@appspot.gserviceaccount.com (Gerrit)

                    unread,
                    Jun 27, 2024, 9:58:59 AM (6 days ago) Jun 27
                    to Ian Vollick, Jan Keitel, Hiroki Nakagawa, Dave Tapuska, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Dave Tapuska, Richard (Torne) Coles and Vasilii Sukhanov

                    findit...@appspot.gserviceaccount.com voted Code-Coverage+1

                    This change meets the code coverage requirements.

                    Code-Coverage+1
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Dave Tapuska
                    Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                    Gerrit-Attention: Dave Tapuska <dtap...@chromium.org>
                    Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 13:58:41 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Dave Tapuska (Gerrit)

                    unread,
                    Jun 27, 2024, 10:15:55 AM (6 days ago) Jun 27
                    to Ian Vollick, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Ian Vollick, Richard (Torne) Coles and Vasilii Sukhanov

                    Dave Tapuska voted Code-Review+1

                    Code-Review+1
                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Ian Vollick
                    Gerrit-Attention: Ian Vollick <vol...@chromium.org>
                    Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 14:15:41 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy

                    Ian Vollick (Gerrit)

                    unread,
                    Jun 27, 2024, 11:43:23 AM (6 days ago) Jun 27
                    to Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Christoph Schwering, Richard (Torne) Coles and Vasilii Sukhanov

                    Ian Vollick added 10 comments

                    File chrome/browser/autofill/autofill_browsertest.cc
                    Line 873, Patchset 51: raw_ptr<AutofillTestPrerendering> owner_;
                    Christoph Schwering . resolved

                    nit: `raw_ref`?

                    Ian Vollick

                    Done

                    Line 893, Patchset 51: autofill_manager_injector_observer_(this) {
                    Christoph Schwering . resolved

                    nit: you can initialize this one at the declaration with
                    ```
                    MockAutofillManagerInjectorObserver autofill_manager_injector_observer_{this};
                    ```

                    Ian Vollick

                    Done

                    Line 941, Patchset 51: std::unique_ptr<SequenceAndRunLoop> on_forms_seen_;
                    std::unique_ptr<SequenceAndRunLoop> on_focus_on_form_field_impl_;
                    Christoph Schwering . resolved

                    Does it make a difference if these are `std::unique_ptr<SequenceAndRunLoop>` instead of just `SequenceAndRunLoop`?

                    Ian Vollick

                    Yes, the run loops need to be constructed on the right thread. They could be optionals, though, in line with your other comment. I've updated in this latest patch set.

                    File components/autofill/content/browser/content_autofill_driver.cc
                    Line 256, Patchset 51: autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
                    Christoph Schwering . resolved

                    nit: remove

                    Ian Vollick

                    Done

                    File components/autofill/content/browser/content_autofill_driver_factory.cc
                    Line 147, Patchset 51: autofill::features::
                    Christoph Schwering . resolved

                    nit: remove

                    Ian Vollick

                    Done

                    File components/autofill/content/browser/content_autofill_driver_unittest.cc
                    Line 1016, Patchset 51: std::unique_ptr<ContentAutofillDriverCreationObserver> creation_observer;
                    Christoph Schwering . resolved

                    nitty nit: as per go/totw/123 I think this should be `optional`. The initialization could then be come
                    ```
                    creation_observer.emplace(factory(), base::BindOnce(...));
                    ```

                    Ian Vollick

                    Done

                    File components/autofill/content/renderer/password_autofill_agent.cc
                    Line 15, Patchset 51:#include "autofill_agent.h"
                    Christoph Schwering . resolved

                    nit: incomplete path

                    Ian Vollick

                    Jan commented on this as well (and Vasilii [noted this on a previous CL](https://chromium-review.googlesource.com/c/chromium/src/+/5647771/comment/fa3f7121_a197b4da/)). I'm not sure what's happening with these includes. It's removed now.

                    Line 589, Patchset 51: autofill::features::kAutofillDeferDriverAgentCreationUntilActivation);
                    Christoph Schwering . resolved

                    nit: remove

                    Ian Vollick

                    Done

                    Line 1439, Patchset 51: default:
                    Christoph Schwering . resolved

                    nit: remove? We probably want the compiler to tell us when the enum changes.

                    Jan Keitel

                    +1

                    Ian Vollick

                    Done

                    File components/password_manager/content/browser/content_password_manager_driver.cc
                    Line 156, Patchset 51: CHECK(!(is_prerendering && !ShouldDeferCreationUntilPrerenderActivation()));
                    Christoph Schwering . resolved

                    That exclamation mark is wrong, isn't it?

                    Ian Vollick

                    Oof, you're right. Fixed (and I switched the logic to match content_autofill_driver.cc). I was concerned about this not being tripped in tests, so I checked manually in chrome (prerendering a site with passwords) and it didn't fail regardless of how I flipped the feature setting. It seems function isn't called during prerendering.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Christoph Schwering
                    • Richard (Torne) Coles
                    • Vasilii Sukhanov
                    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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
                    Gerrit-Change-Number: 5630210
                    Gerrit-PatchSet: 52
                    Gerrit-Owner: Ian Vollick <vol...@chromium.org>
                    Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
                    Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
                    Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                    Gerrit-Reviewer: Jan Keitel <jke...@google.com>
                    Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
                    Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
                    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                    Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                    Gerrit-CC: Nate Chapin <jap...@chromium.org>
                    Gerrit-CC: Peter Williamson <pet...@chromium.org>
                    Gerrit-Attention: Christoph Schwering <schw...@google.com>
                    Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                    Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 15:43:11 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: No
                    satisfied_requirement
                    open
                    diffy

                    findit-for-me@appspot.gserviceaccount.com (Gerrit)

                    unread,
                    Jun 27, 2024, 12:22:52 PM (6 days ago) Jun 27
                    to Ian Vollick, Dave Tapuska, Jan Keitel, Hiroki Nakagawa, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Christoph Schwering, Richard (Torne) Coles and Vasilii Sukhanov

                    This change meets the code coverage requirements.

                    Code-Coverage+1
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 16:22:36 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    open
                    diffy

                    Christoph Schwering (Gerrit)

                    unread,
                    Jun 27, 2024, 12:50:32 PM (6 days ago) Jun 27
                    to Ian Vollick, Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Richard (Torne) Coles, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Ian Vollick, Richard (Torne) Coles and Vasilii Sukhanov

                    Christoph Schwering voted and added 1 comment

                    Votes added by Christoph Schwering

                    Code-Review+1

                    1 comment

                    Patchset-level comments
                    File-level comment, Patchset 52 (Latest):
                    Christoph Schwering . resolved

                    LGTM, thank you very much for building this!

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Ian Vollick
                    Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                    Gerrit-Attention: Ian Vollick <vol...@chromium.org>
                    Gerrit-Attention: Richard (Torne) Coles <to...@chromium.org>
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 16:50:18 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    open
                    diffy

                    Richard (Torne) Coles (Gerrit)

                    unread,
                    Jun 27, 2024, 1:37:13 PM (6 days ago) Jun 27
                    to Ian Vollick, Richard (Torne) Coles, Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Ian Vollick and Vasilii Sukhanov

                    Richard (Torne) Coles voted and added 1 comment

                    Votes added by Richard (Torne) Coles

                    Code-Review+1

                    1 comment

                    Patchset-level comments
                    Richard (Torne) Coles . resolved

                    //android_webview LGTM (sorry for slow review, was catching up after being sick)

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Ian Vollick
                    • Vasilii Sukhanov
                    Gerrit-Comment-Date: Thu, 27 Jun 2024 17:36:54 +0000
                    Gerrit-HasComments: Yes
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    open
                    diffy

                    Ian Vollick (Gerrit)

                    unread,
                    Jun 27, 2024, 2:14:05 PM (6 days ago) Jun 27
                    to Richard (Torne) Coles, Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                    Attention needed from Christoph Schwering and Vasilii Sukhanov

                    Ian Vollick added 1 comment

                    File components/password_manager/content/browser/content_password_manager_driver.cc
                    Line 156, Patchset 51: CHECK(!(is_prerendering && !ShouldDeferCreationUntilPrerenderActivation()));
                    Christoph Schwering . unresolved

                    That exclamation mark is wrong, isn't it?

                    Ian Vollick

                    Oof, you're right. Fixed (and I switched the logic to match content_autofill_driver.cc). I was concerned about this not being tripped in tests, so I checked manually in chrome (prerendering a site with passwords) and it didn't fail regardless of how I flipped the feature setting. It seems function isn't called during prerendering.

                    Ian Vollick

                    I should say, though, that I may be missing cases. I'm only basing my comment here on my very minimal manual testing and the test cases. This could certainly be incomplete. I'm currently reviewing calls to ContentPasswordManagerDriver::GetForRenderFrameHost to check. I'm unresolving this thread while I look through this.

                    Open in Gerrit

                    Related details

                    Attention is currently required from:
                    • Christoph Schwering
                    • Vasilii Sukhanov
                    Submit Requirements:
                      • requirement satisfiedCode-Coverage
                      • requirement satisfiedCode-Review
                      • requirement is not satisfiedNo-Unresolved-Comments
                      Gerrit-Attention: Christoph Schwering <schw...@google.com>
                      Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                      Gerrit-Comment-Date: Thu, 27 Jun 2024 18:13:43 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      Comment-In-Reply-To: Christoph Schwering <schw...@google.com>
                      Comment-In-Reply-To: Ian Vollick <vol...@chromium.org>
                      satisfied_requirement
                      unsatisfied_requirement
                      open
                      diffy

                      Ian Vollick (Gerrit)

                      unread,
                      Jun 28, 2024, 12:55:44 PM (5 days ago) Jun 28
                      to Richard (Torne) Coles, Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Vasilii Sukhanov, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                      Attention needed from Vasilii Sukhanov

                      Ian Vollick added 1 comment

                      File components/password_manager/content/browser/content_password_manager_driver.cc
                      Line 156, Patchset 51: CHECK(!(is_prerendering && !ShouldDeferCreationUntilPrerenderActivation()));
                      Christoph Schwering . resolved

                      That exclamation mark is wrong, isn't it?

                      Ian Vollick

                      Oof, you're right. Fixed (and I switched the logic to match content_autofill_driver.cc). I was concerned about this not being tripped in tests, so I checked manually in chrome (prerendering a site with passwords) and it didn't fail regardless of how I flipped the feature setting. It seems function isn't called during prerendering.

                      Ian Vollick

                      I should say, though, that I may be missing cases. I'm only basing my comment here on my very minimal manual testing and the test cases. This could certainly be incomplete. I'm currently reviewing calls to ContentPasswordManagerDriver::GetForRenderFrameHost to check. I'm unresolving this thread while I look through this.

                      Ian Vollick

                      I've dug through callsites. I may still be missing things, but it didn't look like this would be called during prerendering with this patch applied. I'm going to resolve this, but plmk if you'd like me to do more analysis.

                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Vasilii Sukhanov
                      Submit Requirements:
                      • requirement satisfiedCode-Coverage
                      • requirement satisfiedCode-Review
                      Gerrit-Attention: Vasilii Sukhanov <vas...@chromium.org>
                      Gerrit-Comment-Date: Fri, 28 Jun 2024 16:55:27 +0000
                      satisfied_requirement
                      open
                      diffy

                      Vasilii Sukhanov (Gerrit)

                      unread,
                      Jul 1, 2024, 6:26:33 AM (2 days ago) Jul 1
                      to Ian Vollick, Richard (Torne) Coles, Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com
                      Attention needed from Ian Vollick

                      Vasilii Sukhanov voted Code-Review+1

                      Code-Review+1
                      Open in Gerrit

                      Related details

                      Attention is currently required from:
                      • Ian Vollick
                      Gerrit-Attention: Ian Vollick <vol...@chromium.org>
                      Gerrit-Comment-Date: Mon, 01 Jul 2024 10:26:13 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      open
                      diffy

                      Ian Vollick (Gerrit)

                      unread,
                      Jul 2, 2024, 10:30:56 AM (19 hours ago) Jul 2
                      to Vasilii Sukhanov, Richard (Torne) Coles, Dave Tapuska, Jan Keitel, findit...@appspot.gserviceaccount.com, Hiroki Nakagawa, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com

                      Ian Vollick added 1 comment

                      Patchset-level comments
                      File-level comment, Patchset 54 (Latest):
                      Ian Vollick . resolved

                      Thanks, all for the reviews. In this latest patchset, I've updated the autofill browsertest to have the same coverage as before in the non-deferring case (i.e., we set up expectations of zero calls prior to activation, trigger a checkpoint, and then continue to run). In the deferring case, I've added a check for the non-existence of the driver. I've also updated comments in both the autofill and password manager browsertests to note a case where the checks would be incorrect: the time after we finish checking for no-calls-prior-to-activation and before the prerendered page activation we then trigger.

                      PTAL when you have a moment: https://crrev.com/c/5630210/52..54

                      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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
                      Gerrit-Change-Number: 5630210
                      Gerrit-PatchSet: 54
                      Gerrit-Owner: Ian Vollick <vol...@chromium.org>
                      Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
                      Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
                      Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                      Gerrit-Reviewer: Jan Keitel <jke...@google.com>
                      Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
                      Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
                      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                      Gerrit-CC: Nate Chapin <jap...@chromium.org>
                      Gerrit-CC: Peter Williamson <pet...@chromium.org>
                      Gerrit-Comment-Date: Tue, 02 Jul 2024 14:30:40 +0000
                      Gerrit-HasComments: Yes
                      Gerrit-Has-Labels: No
                      satisfied_requirement
                      open
                      diffy

                      findit-for-me@appspot.gserviceaccount.com (Gerrit)

                      unread,
                      Jul 2, 2024, 2:15:24 PM (15 hours ago) Jul 2
                      to Ian Vollick, Vasilii Sukhanov, Richard (Torne) Coles, Dave Tapuska, Jan Keitel, Hiroki Nakagawa, Chromium Metrics Reviews, AyeAye, Chromium LUCI CQ, Tricium, chromium...@chromium.org, devtools...@chromium.org, Nate Chapin, Peter Williamson, asvitkine...@chromium.org, android-web...@chromium.org, alexmo...@chromium.org, armalhotra+a...@google.com, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, blundell+...@chromium.org, browser-comp...@chromium.org, chromium-a...@chromium.org, creis...@chromium.org, dewitt...@chromium.org, extension...@chromium.org, feliciac+au...@google.com, gavinp...@chromium.org, gcasto+w...@chromium.org, jsaul+aut...@google.com, loading...@chromium.org, navigation...@chromium.org, rouslan+au...@chromium.org, shgar+aut...@google.com, siashah+au...@chromium.org, siyua+aut...@chromium.org, vasilii+watchlis...@chromium.org, vinnypersky+...@google.com

                      This change meets the code coverage requirements.

                      Code-Coverage+1
                      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: I0cb16c261ae31a769fe1700c5733d1e5c7cfc042
                      Gerrit-Change-Number: 5630210
                      Gerrit-PatchSet: 55
                      Gerrit-Owner: Ian Vollick <vol...@chromium.org>
                      Gerrit-Reviewer: Christoph Schwering <schw...@google.com>
                      Gerrit-Reviewer: Dave Tapuska <dtap...@chromium.org>
                      Gerrit-Reviewer: Ian Vollick <vol...@chromium.org>
                      Gerrit-Reviewer: Jan Keitel <jke...@google.com>
                      Gerrit-Reviewer: Richard (Torne) Coles <to...@chromium.org>
                      Gerrit-Reviewer: Vasilii Sukhanov <vas...@chromium.org>
                      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                      Gerrit-CC: Hiroki Nakagawa <nhi...@chromium.org>
                      Gerrit-CC: Nate Chapin <jap...@chromium.org>
                      Gerrit-CC: Peter Williamson <pet...@chromium.org>
                      Gerrit-Comment-Date: Tue, 02 Jul 2024 18:14:53 +0000
                      Gerrit-HasComments: No
                      Gerrit-Has-Labels: Yes
                      satisfied_requirement
                      open
                      diffy
                      Reply all
                      Reply to author
                      Forward
                      0 new messages