[<install> Element] Surface new invalidReason for data errors [chromium/src : main]

0 views
Skip to first unread message

Thomas Nguyen (Gerrit)

unread,
Feb 3, 2026, 3:39:21 PM (8 days ago) Feb 3
to Kristin Lee, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Kristin Lee

Thomas Nguyen added 3 comments

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Thomas Nguyen . resolved

It seems your error handling refers specifically to installation failures occurring after a user initiates the process via a button click. In this scenario, we assume users will resolve the underlying issue and attempt the installation again by re-clicking the button.

If this is the case, our current approach may not be the right one. The "DisabledReason" is intended to address "pre-click" errors, determining whether an element should be enabled or disabled before any user interaction takes place.

I think, a better approach would be to introduce a separate "error" attribute linked to the "install result" event. However, implementing this change might necessitate modifications to the web API's surface.

File third_party/blink/renderer/core/html/html_permission_element.h
Line 285, Patchset 3 (Latest): kInstallDataError,
Thomas Nguyen . unresolved

It's the best if you can move the <install> related errors out of the generic DisableReason enum (which is used for general disable reasons)

File third_party/blink/renderer/core/html/html_permission_element.cc
Line 694, Patchset 3 (Latest): DisableClickingIndefinitely(DisableReason::kInstallDataError);
Thomas Nguyen . unresolved

This will indefinitely disable clicking and the button will not available anymore.

Open in Gerrit

Related details

Attention is currently required from:
  • Kristin Lee
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 3
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
Gerrit-Comment-Date: Tue, 03 Feb 2026 20:39:04 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Thomas Nguyen (Gerrit)

unread,
Feb 3, 2026, 3:39:37 PM (8 days ago) Feb 3
to Kristin Lee, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Kristin Lee

Thomas Nguyen added 1 comment

Patchset-level comments
Thomas Nguyen . unresolved

It seems your error handling refers specifically to installation failures occurring after a user initiates the process via a button click. In this scenario, we assume users will resolve the underlying issue and attempt the installation again by re-clicking the button.

If this is the case, our current approach may not be the right one. The "DisabledReason" is intended to address "pre-click" errors, determining whether an element should be enabled or disabled before any user interaction takes place.

I think, a better approach would be to introduce a separate "error" attribute linked to the "install result" event. However, implementing this change might necessitate modifications to the web API's surface.

Thomas Nguyen

.

Gerrit-Comment-Date: Tue, 03 Feb 2026 20:39:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Thomas Nguyen <tun...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Lia Hiscock (Gerrit)

unread,
Feb 3, 2026, 4:45:25 PM (8 days ago) Feb 3
to Kristin Lee, Thomas Nguyen, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Kristin Lee and Thomas Nguyen

Lia Hiscock added 3 comments

Patchset-level comments
Thomas Nguyen . unresolved

It seems your error handling refers specifically to installation failures occurring after a user initiates the process via a button click. In this scenario, we assume users will resolve the underlying issue and attempt the installation again by re-clicking the button.

If this is the case, our current approach may not be the right one. The "DisabledReason" is intended to address "pre-click" errors, determining whether an element should be enabled or disabled before any user interaction takes place.

I think, a better approach would be to introduce a separate "error" attribute linked to the "install result" event. However, implementing this change might necessitate modifications to the web API's surface.

Thomas Nguyen

.

Lia Hiscock

Thanks for the thoughts!

We're definitely aware that this is likely not the long-term solution, but I believe we're on the same page with mkwst/dmurph that we're just looking for *somewhere* to surface the DataError so that developers can mess around with it during OT, while we gather feedback and continue to discuss the right longer-term solution.

We've touched on this a bit in our syncs with mike/dan, notes are below [1] if you're curious (they're a bit chaotic though)

This kind of touches on your other comment (about disabling indefinitely) - IIUC "indefinitely" just means until page reload. You're correct that DataError requires the user to click before we surface it, however it's not something that's fixable by users - the developer must go in and update the element's attributes, so that's why we felt disabling "indefinitely" fit OK (for now).

I do hear you though that it's a bit odd under the current definitions of disabling, I'm curious though if you're aware of any functional blockers to this invalidReason approach? (We're definitely open to pivoting, but just trying to avoid scope creep as we try to get this OT out the door)

[1] https://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.79v2wor3nopp

File third_party/blink/renderer/core/html/html_permission_element.h
Thomas Nguyen . resolved

It's the best if you can move the <install> related errors out of the generic DisableReason enum (which is used for general disable reasons)

Lia Hiscock

Acknowledged

File third_party/blink/renderer/core/html/html_permission_element.cc
Line 694, Patchset 3 (Latest): DisableClickingIndefinitely(DisableReason::kInstallDataError);
Thomas Nguyen . resolved

This will indefinitely disable clicking and the button will not available anymore.

Lia Hiscock

Acknowledged

Open in Gerrit

Related details

Attention is currently required from:
  • Kristin Lee
  • Thomas Nguyen
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 3
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Lia Hiscock <liahi...@microsoft.com>
Gerrit-CC: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
Gerrit-Comment-Date: Tue, 03 Feb 2026 21:45:17 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Lia Hiscock (Gerrit)

unread,
Feb 3, 2026, 4:46:01 PM (8 days ago) Feb 3
to Kristin Lee, Robert Paveza, Thomas Nguyen, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Kristin Lee and Thomas Nguyen

Lia Hiscock added 1 comment

Patchset-level comments
Lia Hiscock . resolved

Rob on cc as an FYI

Open in Gerrit

Related details

Attention is currently required from:
  • Kristin Lee
  • Thomas Nguyen
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 3
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Lia Hiscock <liahi...@microsoft.com>
Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
Gerrit-CC: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
Gerrit-Comment-Date: Tue, 03 Feb 2026 21:45:52 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Thomas Nguyen (Gerrit)

unread,
Feb 4, 2026, 2:51:06 PM (7 days ago) Feb 4
to Kristin Lee, Robert Paveza, Lia Hiscock, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Kristin Lee

Thomas Nguyen added 1 comment

Patchset-level comments
Thomas Nguyen . unresolved

It seems your error handling refers specifically to installation failures occurring after a user initiates the process via a button click. In this scenario, we assume users will resolve the underlying issue and attempt the installation again by re-clicking the button.

If this is the case, our current approach may not be the right one. The "DisabledReason" is intended to address "pre-click" errors, determining whether an element should be enabled or disabled before any user interaction takes place.

I think, a better approach would be to introduce a separate "error" attribute linked to the "install result" event. However, implementing this change might necessitate modifications to the web API's surface.

Thomas Nguyen

.

Lia Hiscock

Thanks for the thoughts!

We're definitely aware that this is likely not the long-term solution, but I believe we're on the same page with mkwst/dmurph that we're just looking for *somewhere* to surface the DataError so that developers can mess around with it during OT, while we gather feedback and continue to discuss the right longer-term solution.

We've touched on this a bit in our syncs with mike/dan, notes are below [1] if you're curious (they're a bit chaotic though)

This kind of touches on your other comment (about disabling indefinitely) - IIUC "indefinitely" just means until page reload. You're correct that DataError requires the user to click before we surface it, however it's not something that's fixable by users - the developer must go in and update the element's attributes, so that's why we felt disabling "indefinitely" fit OK (for now).

I do hear you though that it's a bit odd under the current definitions of disabling, I'm curious though if you're aware of any functional blockers to this invalidReason approach? (We're definitely open to pivoting, but just trying to avoid scope creep as we try to get this OT out the door)

[1] https://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.79v2wor3nopp

Thomas Nguyen

I don't have a strong objection if there is consensus on "temporarily" putting the error in the DisabledReason of the generic <permission> class (note that we plan to phase out this class shortly).

That said, I do not see this as a viable long-term solution. Please include a TODO comment here and ensure this is addressed later.

For your information, we have explorered other members of the <permission> family; they are expected to follow a error handler pattern similar like:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/html_geolocation_element.idl;l=31

Open in Gerrit

Related details

Attention is currently required from:
  • Kristin Lee
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 3
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Lia Hiscock <liahi...@microsoft.com>
Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
Gerrit-CC: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
Gerrit-Comment-Date: Wed, 04 Feb 2026 19:50:49 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Thomas Nguyen <tun...@chromium.org>
Comment-In-Reply-To: Lia Hiscock <liahi...@microsoft.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Kristin Lee (Gerrit)

unread,
Feb 4, 2026, 6:48:23 PM (7 days ago) Feb 4
to Robert Paveza, Lia Hiscock, Thomas Nguyen, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org

Kristin Lee added 3 comments

Patchset-level comments
Thomas Nguyen . unresolved

It seems your error handling refers specifically to installation failures occurring after a user initiates the process via a button click. In this scenario, we assume users will resolve the underlying issue and attempt the installation again by re-clicking the button.

If this is the case, our current approach may not be the right one. The "DisabledReason" is intended to address "pre-click" errors, determining whether an element should be enabled or disabled before any user interaction takes place.

I think, a better approach would be to introduce a separate "error" attribute linked to the "install result" event. However, implementing this change might necessitate modifications to the web API's surface.

Thomas Nguyen

.

Lia Hiscock

Thanks for the thoughts!

We're definitely aware that this is likely not the long-term solution, but I believe we're on the same page with mkwst/dmurph that we're just looking for *somewhere* to surface the DataError so that developers can mess around with it during OT, while we gather feedback and continue to discuss the right longer-term solution.

We've touched on this a bit in our syncs with mike/dan, notes are below [1] if you're curious (they're a bit chaotic though)

This kind of touches on your other comment (about disabling indefinitely) - IIUC "indefinitely" just means until page reload. You're correct that DataError requires the user to click before we surface it, however it's not something that's fixable by users - the developer must go in and update the element's attributes, so that's why we felt disabling "indefinitely" fit OK (for now).

I do hear you though that it's a bit odd under the current definitions of disabling, I'm curious though if you're aware of any functional blockers to this invalidReason approach? (We're definitely open to pivoting, but just trying to avoid scope creep as we try to get this OT out the door)

[1] https://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.79v2wor3nopp

Thomas Nguyen

I don't have a strong objection if there is consensus on "temporarily" putting the error in the DisabledReason of the generic <permission> class (note that we plan to phase out this class shortly).

That said, I do not see this as a viable long-term solution. Please include a TODO comment here and ensure this is addressed later.

For your information, we have explorered other members of the <permission> family; they are expected to follow a error handler pattern similar like:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/html_geolocation_element.idl;l=31

Kristin Lee

Thank you all for the comments and consensus here. It seems we're all on the same page about moving forward with this approach as a temporary solution for OT. I will add a TODO comment to follow up on updating this to a more appropriate solution after OT: https://issues.chromium.org/issues/481519343.

I will polish this and add tests before requesting another review. Thanks!

File third_party/blink/renderer/core/html/html_permission_element.cc
Line 1421, Patchset 1: if (!is_registered_in_browser_process_) {
return {false, AtomicString("unsuccessful_registration")};
}
Kristin Lee . resolved

A working option that is unclear if recommended or not:

I've attempted to add

```
if (is_install_data_error_) {
return {false, AtomicString("install_data_error")};
}
```

and in `DidInstallFailWithDataError()`, `is_install_data_error_` is set to true which works, but not sure if right approach.

Kristin Lee

No longer relevant.

Line 1429, Patchset 1: // If there's an "indefinitely disabling" for any reason, return that reason.
// Otherwise, we will look into the reason of the current active timer.
for (const auto& it : clicking_disabled_reasons_) {
if (it.value == base::TimeTicks::Max()) {
return {false, DisableReasonToInvalidReasonString(it.key)};
}
}
Kristin Lee . resolved

Note: we're aware this is where the invalidReason is checked and surfaced.

Kristin Lee

Done

Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 3
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Lia Hiscock <liahi...@microsoft.com>
Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
Gerrit-CC: Thomas Nguyen <tun...@chromium.org>
Gerrit-Comment-Date: Wed, 04 Feb 2026 23:48:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Thomas Nguyen <tun...@chromium.org>
Comment-In-Reply-To: Lia Hiscock <liahi...@microsoft.com>
Comment-In-Reply-To: Kristin Lee <krist...@microsoft.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Kristin Lee (Gerrit)

unread,
Feb 5, 2026, 10:32:46 PM (6 days ago) Feb 5
to Thomas Nguyen, Lu Huang, Chromium LUCI CQ, Lia Hiscock, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Lia Hiscock and Thomas Nguyen

Kristin Lee added 1 comment

Patchset-level comments
File-level comment, Patchset 4 (Latest):
Kristin Lee . resolved

Hi Thomas, I added a blink unit test and made a few small changes. If you could help with another early review, that'd be great. Thanks!

Open in Gerrit

Related details

Attention is currently required from:
  • Lia Hiscock
  • Thomas Nguyen
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 4
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-Reviewer: Kristin Lee <krist...@microsoft.com>
Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
Gerrit-Reviewer: Thomas Nguyen <tun...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Lu Huang <lu...@microsoft.com>
Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
Gerrit-Attention: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Lia Hiscock <liahi...@microsoft.com>
Gerrit-Comment-Date: Fri, 06 Feb 2026 03:32:37 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Lia Hiscock (Gerrit)

unread,
Feb 6, 2026, 1:55:39 AM (6 days ago) Feb 6
to Kristin Lee, Thomas Nguyen, Lu Huang, Chromium LUCI CQ, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Kristin Lee and Thomas Nguyen

Lia Hiscock added 3 comments

File third_party/blink/renderer/core/html/html_install_element.cc
Line 200, Patchset 4 (Latest): HandleInstallDataError();
Lia Hiscock . unresolved

can we add an actual comment here to? something like

// Disable the element to prevent future activations and
// inform the developer.

File third_party/blink/renderer/core/html/html_permission_element.h
Line 287, Patchset 4 (Latest): kInstallDataError,
Lia Hiscock . unresolved

nit: add the followup TODO here as well

// TODO(crbug.com/481519343): Move DataError out of invalidReason. Revisit
// how to best surface this for <install>.

Line 166, Patchset 4 (Latest): // Called when an attempted install via <install> element fails with data
// error.
Lia Hiscock . unresolved

nit: Can we make this a bit more descriptive. maybe something like
```
// Called on activation of an <install> element with attributes
// that fail installability checks.`
```

Open in Gerrit

Related details

Attention is currently required from:
  • Kristin Lee
  • Thomas Nguyen
Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
Gerrit-Comment-Date: Fri, 06 Feb 2026 06:55:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Kristin Lee (Gerrit)

unread,
Feb 6, 2026, 2:18:23 PM (5 days ago) Feb 6
to Thomas Nguyen, Lu Huang, Chromium LUCI CQ, Lia Hiscock, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Lia Hiscock and Thomas Nguyen

Kristin Lee added 3 comments

File third_party/blink/renderer/core/html/html_install_element.cc
Line 200, Patchset 4: HandleInstallDataError();
Lia Hiscock . resolved

can we add an actual comment here to? something like

// Disable the element to prevent future activations and
// inform the developer.

Kristin Lee

Yes, we can. Done and thanks!

File third_party/blink/renderer/core/html/html_permission_element.h
Line 287, Patchset 4: kInstallDataError,
Lia Hiscock . resolved

nit: add the followup TODO here as well

// TODO(crbug.com/481519343): Move DataError out of invalidReason. Revisit
// how to best surface this for <install>.

Kristin Lee

Done

Line 166, Patchset 4: // Called when an attempted install via <install> element fails with data
// error.
Lia Hiscock . resolved

nit: Can we make this a bit more descriptive. maybe something like
```
// Called on activation of an <install> element with attributes
// that fail installability checks.`
```

Kristin Lee

Thanks for the suggestion! Done.

Open in Gerrit

Related details

Attention is currently required from:
  • Lia Hiscock
  • Thomas Nguyen
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
Gerrit-Change-Number: 7533031
Gerrit-PatchSet: 5
Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
Gerrit-Reviewer: Kristin Lee <krist...@microsoft.com>
Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
Gerrit-Reviewer: Thomas Nguyen <tun...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Lu Huang <lu...@microsoft.com>
Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
Gerrit-Attention: Thomas Nguyen <tun...@chromium.org>
Gerrit-Attention: Lia Hiscock <liahi...@microsoft.com>
Gerrit-Comment-Date: Fri, 06 Feb 2026 19:18:14 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Lia Hiscock <liahi...@microsoft.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Kristin Lee (Gerrit)

unread,
Feb 6, 2026, 6:35:15 PM (5 days ago) Feb 6
to Mike West, Thomas Nguyen, Lu Huang, Chromium LUCI CQ, Lia Hiscock, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Lia Hiscock and Thomas Nguyen

Kristin Lee added 1 comment

Patchset-level comments
File-level comment, Patchset 3:
Thomas Nguyen . resolved

It seems your error handling refers specifically to installation failures occurring after a user initiates the process via a button click. In this scenario, we assume users will resolve the underlying issue and attempt the installation again by re-clicking the button.

If this is the case, our current approach may not be the right one. The "DisabledReason" is intended to address "pre-click" errors, determining whether an element should be enabled or disabled before any user interaction takes place.

I think, a better approach would be to introduce a separate "error" attribute linked to the "install result" event. However, implementing this change might necessitate modifications to the web API's surface.

Thomas Nguyen

.

Lia Hiscock

Thanks for the thoughts!

We're definitely aware that this is likely not the long-term solution, but I believe we're on the same page with mkwst/dmurph that we're just looking for *somewhere* to surface the DataError so that developers can mess around with it during OT, while we gather feedback and continue to discuss the right longer-term solution.

We've touched on this a bit in our syncs with mike/dan, notes are below [1] if you're curious (they're a bit chaotic though)

This kind of touches on your other comment (about disabling indefinitely) - IIUC "indefinitely" just means until page reload. You're correct that DataError requires the user to click before we surface it, however it's not something that's fixable by users - the developer must go in and update the element's attributes, so that's why we felt disabling "indefinitely" fit OK (for now).

I do hear you though that it's a bit odd under the current definitions of disabling, I'm curious though if you're aware of any functional blockers to this invalidReason approach? (We're definitely open to pivoting, but just trying to avoid scope creep as we try to get this OT out the door)

[1] https://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.79v2wor3nopp

Thomas Nguyen

I don't have a strong objection if there is consensus on "temporarily" putting the error in the DisabledReason of the generic <permission> class (note that we plan to phase out this class shortly).

That said, I do not see this as a viable long-term solution. Please include a TODO comment here and ensure this is addressed later.

For your information, we have explorered other members of the <permission> family; they are expected to follow a error handler pattern similar like:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/html/html_geolocation_element.idl;l=31

Kristin Lee

Thank you all for the comments and consensus here. It seems we're all on the same page about moving forward with this approach as a temporary solution for OT. I will add a TODO comment to follow up on updating this to a more appropriate solution after OT: https://issues.chromium.org/issues/481519343.

I will polish this and add tests before requesting another review. Thanks!

Kristin Lee

Closing this thread.

Open in Gerrit

Related details

Attention is currently required from:
  • Lia Hiscock
  • Thomas Nguyen
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
    Gerrit-Change-Number: 7533031
    Gerrit-PatchSet: 5
    Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
    Gerrit-Reviewer: Kristin Lee <krist...@microsoft.com>
    Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
    Gerrit-Reviewer: Mike West <mk...@chromium.org>
    Gerrit-Reviewer: Thomas Nguyen <tun...@chromium.org>
    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
    Gerrit-CC: Lu Huang <lu...@microsoft.com>
    Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
    Gerrit-Attention: Thomas Nguyen <tun...@chromium.org>
    Gerrit-Attention: Lia Hiscock <liahi...@microsoft.com>
    Gerrit-Comment-Date: Fri, 06 Feb 2026 23:35:05 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Lia Hiscock (Gerrit)

    unread,
    Feb 9, 2026, 6:54:53 PM (2 days ago) Feb 9
    to Kristin Lee, Mike West, Thomas Nguyen, Lu Huang, Chromium LUCI CQ, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Thomas Nguyen

    Lia Hiscock added 1 comment

    Patchset-level comments
    File-level comment, Patchset 4:
    Kristin Lee . unresolved

    Hi Thomas, I added a blink unit test and made a few small changes. If you could help with another early review, that'd be great. Thanks!

    Lia Hiscock

    Friendly bump here @tun...@chromium.org, I'm assuming Mike is waiting for your LGTM before signing off here as well :)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Thomas Nguyen
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
      Gerrit-Change-Number: 7533031
      Gerrit-PatchSet: 5
      Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
      Gerrit-Reviewer: Kristin Lee <krist...@microsoft.com>
      Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
      Gerrit-Reviewer: Mike West <mk...@chromium.org>
      Gerrit-Reviewer: Thomas Nguyen <tun...@chromium.org>
      Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
      Gerrit-CC: Lu Huang <lu...@microsoft.com>
      Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
      Gerrit-Attention: Thomas Nguyen <tun...@chromium.org>
      Gerrit-Comment-Date: Mon, 09 Feb 2026 23:54:44 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Kristin Lee <krist...@microsoft.com>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Thomas Nguyen (Gerrit)

      unread,
      Feb 10, 2026, 3:47:01 AM (2 days ago) Feb 10
      to Kristin Lee, Mike West, Lu Huang, Chromium LUCI CQ, Lia Hiscock, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
      Attention needed from Kristin Lee

      Thomas Nguyen voted and added 1 comment

      Votes added by Thomas Nguyen

      Code-Review+1

      1 comment

      File third_party/blink/renderer/core/html/html_permission_element.cc
      Line 695, Patchset 5 (Latest): MaybeDispatchValidationChangeEvent();
      Thomas Nguyen . unresolved

      Please also add todo here (TODO(crbug.com/481519343) as the validationChange is not what we expected with after interaction error.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Kristin Lee
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement is not satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
        Gerrit-Change-Number: 7533031
        Gerrit-PatchSet: 5
        Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
        Gerrit-Reviewer: Kristin Lee <krist...@microsoft.com>
        Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
        Gerrit-Reviewer: Mike West <mk...@chromium.org>
        Gerrit-Reviewer: Thomas Nguyen <tun...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Lu Huang <lu...@microsoft.com>
        Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
        Gerrit-Attention: Kristin Lee <krist...@microsoft.com>
        Gerrit-Comment-Date: Tue, 10 Feb 2026 08:46:42 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Kristin Lee (Gerrit)

        unread,
        Feb 10, 2026, 1:31:43 PM (2 days ago) Feb 10
        to Thomas Nguyen, Mike West, Lu Huang, Chromium LUCI CQ, Lia Hiscock, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
        Attention needed from Mike West

        Kristin Lee added 2 comments

        Patchset-level comments
        File-level comment, Patchset 4:
        Kristin Lee . resolved

        Hi Thomas, I added a blink unit test and made a few small changes. If you could help with another early review, that'd be great. Thanks!

        Lia Hiscock

        Friendly bump here @tun...@chromium.org, I'm assuming Mike is waiting for your LGTM before signing off here as well :)

        Kristin Lee

        Thanks again, Thomas!
        @mk...@chromium.org - Thomas has approved. Waiting next for your approval, thanks!

        File third_party/blink/renderer/core/html/html_permission_element.cc
        Line 695, Patchset 5: MaybeDispatchValidationChangeEvent();
        Thomas Nguyen . resolved

        Please also add todo here (TODO(crbug.com/481519343) as the validationChange is not what we expected with after interaction error.

        Kristin Lee

        Good call. Done and thanks!

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Mike West
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement is not satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I3bd94180b830b162fc38ec647f5c81a08336a61e
          Gerrit-Change-Number: 7533031
          Gerrit-PatchSet: 7
          Gerrit-Owner: Kristin Lee <krist...@microsoft.com>
          Gerrit-Reviewer: Kristin Lee <krist...@microsoft.com>
          Gerrit-Reviewer: Lia Hiscock <liahi...@microsoft.com>
          Gerrit-Reviewer: Mike West <mk...@chromium.org>
          Gerrit-Reviewer: Thomas Nguyen <tun...@chromium.org>
          Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
          Gerrit-CC: Lu Huang <lu...@microsoft.com>
          Gerrit-CC: Robert Paveza <Rob.P...@microsoft.com>
          Gerrit-Attention: Mike West <mk...@chromium.org>
          Gerrit-Comment-Date: Tue, 10 Feb 2026 18:31:32 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Kristin Lee (Gerrit)

          unread,
          Feb 11, 2026, 6:50:49 PM (6 hours ago) Feb 11
          to Thomas Nguyen, Mike West, Lu Huang, Chromium LUCI CQ, Lia Hiscock, Robert Paveza, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, asvitkine...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
          Attention needed from Mike West

          Kristin Lee added 1 comment

          Patchset-level comments
          Kristin Lee . resolved

          Hi Thomas, I added a blink unit test and made a few small changes. If you could help with another early review, that'd be great. Thanks!

          Lia Hiscock

          Friendly bump here @tun...@chromium.org, I'm assuming Mike is waiting for your LGTM before signing off here as well :)

          Kristin Lee

          Thanks again, Thomas!
          @mk...@chromium.org - Thomas has approved. Waiting next for your approval, thanks!

          Kristin Lee

          @mk...@chromium.org, friendly bump here since Thomas has given his LGTM. Thanks!

          Gerrit-Comment-Date: Wed, 11 Feb 2026 23:50:39 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy
          Reply all
          Reply to author
          Forward
          0 new messages