Remove webkit-inner-spin-button UA styles for temporal inputs and guard its usage. [chromium/src : main]

0 views
Skip to first unread message

Luke (Gerrit)

unread,
Apr 16, 2026, 12:20:13 PM (14 days ago) Apr 16
to android-bu...@system.gserviceaccount.com, chromium...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from Luke

Message from Luke

Set Ready For Review

Open in Gerrit

Related details

Attention is currently required from:
  • Luke
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: I6ed1a323fe2842b367f73e92c7b3059aba2f9392
Gerrit-Change-Number: 7735267
Gerrit-PatchSet: 3
Gerrit-Owner: Luke <lwa...@igalia.com>
Gerrit-Reviewer: Luke <lwa...@igalia.com>
Gerrit-Attention: Luke <lwa...@igalia.com>
Gerrit-Comment-Date: Thu, 16 Apr 2026 16:19:53 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Luke (Gerrit)

unread,
Apr 16, 2026, 12:20:32 PM (14 days ago) Apr 16
to Mason Freed, Chromium LUCI CQ, android-bu...@system.gserviceaccount.com, chromium...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
Attention needed from Mason Freed

Luke added 1 comment

Attention is currently required from:
  • Mason Freed
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: I6ed1a323fe2842b367f73e92c7b3059aba2f9392
    Gerrit-Change-Number: 7735267
    Gerrit-PatchSet: 3
    Gerrit-Owner: Luke <lwa...@igalia.com>
    Gerrit-Reviewer: Luke <lwa...@igalia.com>
    Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
    Gerrit-Attention: Mason Freed <mas...@chromium.org>
    Gerrit-Comment-Date: Thu, 16 Apr 2026 16:20:18 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Luke <lwa...@igalia.com>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Mason Freed (Gerrit)

    unread,
    Apr 16, 2026, 8:30:00 PM (13 days ago) Apr 16
    to Luke, Chromium LUCI CQ, android-bu...@system.gserviceaccount.com, chromium...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
    Attention needed from Luke

    Mason Freed added 3 comments

    Commit Message
    Line 10, Patchset 3 (Latest):This pseudo hasn't been used for temporal inputs since the form
    Mason Freed . unresolved

    But these are web-exposed, right? So there are compat implications of doing this. I think this needs at least a PSA, and likely some use counters (or other intuition) about why this isn't a compat problem.

    File third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
    Line 263, Patchset 3 (Latest): CHECK(!RuntimeEnabledFeatures::
    HTMLInputElementTemporalDropWebkitSpinButtonEnabled());
    Mason Freed . unresolved

    I don't think you can do this right? I.e. this patch just removes those pseudo elements from the UA stylesheet, but if a developer stylesheet uses them, you'll hit many of these `CHECK`s, right? I.e. this will show the spin buttons always:

    ```
    input::-webkit-inner-spin-button {
    opacity: 1;
    }
    ```

    I'm realizing now that the same comments might also apply to https://chromium-review.git.corp.google.com/c/chromium/src/+/7738961, right? Though there wasn't an actual populated clear button in that case, so maybe not.

    File third_party/blink/renderer/platform/runtime_enabled_features.json5
    Line 3268, Patchset 3 (Latest): name: "HTMLInputElementTemporalDropWebkitSpinButton",
    Mason Freed . unresolved

    Generally, it's an anti-pattern to have "negative" features. It's too hard to follow what `DropEnabled` means - is it dropped or enabled?

    So ideally you make this `HTMLInputElementTemporalWebkitSpinButton` and make the default case (if you're trying to ship this now) have no `status: ""` line at all. Then the killswitch is to enabled it, if things go bad.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Luke
    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: I6ed1a323fe2842b367f73e92c7b3059aba2f9392
      Gerrit-Change-Number: 7735267
      Gerrit-PatchSet: 3
      Gerrit-Owner: Luke <lwa...@igalia.com>
      Gerrit-Reviewer: Luke <lwa...@igalia.com>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: Luke <lwa...@igalia.com>
      Gerrit-Comment-Date: Fri, 17 Apr 2026 00:29:49 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Luke (Gerrit)

      unread,
      Apr 17, 2026, 4:08:49 AM (13 days ago) Apr 17
      to Mason Freed, Chromium LUCI CQ, android-bu...@system.gserviceaccount.com, chromium...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
      Attention needed from Mason Freed

      Luke added 3 comments

      Commit Message
      Line 10, Patchset 3 (Latest):This pseudo hasn't been used for temporal inputs since the form
      Mason Freed . unresolved

      But these are web-exposed, right? So there are compat implications of doing this. I think this needs at least a PSA, and likely some use counters (or other intuition) about why this isn't a compat problem.

      Luke

      This pseudo does still exist and get used but *specifically* for number inputs. NOT temporal inputs.

      File third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
      Line 263, Patchset 3 (Latest): CHECK(!RuntimeEnabledFeatures::
      HTMLInputElementTemporalDropWebkitSpinButtonEnabled());
      Mason Freed . unresolved

      I don't think you can do this right? I.e. this patch just removes those pseudo elements from the UA stylesheet, but if a developer stylesheet uses them, you'll hit many of these `CHECK`s, right? I.e. this will show the spin buttons always:

      ```
      input::-webkit-inner-spin-button {
      opacity: 1;
      }
      ```

      I'm realizing now that the same comments might also apply to https://chromium-review.git.corp.google.com/c/chromium/src/+/7738961, right? Though there wasn't an actual populated clear button in that case, so maybe not.

      Luke

      Like mentioned above this won't show the spin button for temporal inputs, only number inputs which I haven't touched in this change.

      The other change also doesn't make use of the clear button so it's not an issue either.

      File third_party/blink/renderer/platform/runtime_enabled_features.json5
      Line 3268, Patchset 3 (Latest): name: "HTMLInputElementTemporalDropWebkitSpinButton",
      Mason Freed . unresolved

      Generally, it's an anti-pattern to have "negative" features. It's too hard to follow what `DropEnabled` means - is it dropped or enabled?

      So ideally you make this `HTMLInputElementTemporalWebkitSpinButton` and make the default case (if you're trying to ship this now) have no `status: ""` line at all. Then the killswitch is to enabled it, if things go bad.

      Luke

      Ah didn't realise you could do no status. Will swap that around.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Mason Freed
      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: I6ed1a323fe2842b367f73e92c7b3059aba2f9392
      Gerrit-Change-Number: 7735267
      Gerrit-PatchSet: 3
      Gerrit-Owner: Luke <lwa...@igalia.com>
      Gerrit-Reviewer: Luke <lwa...@igalia.com>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: Mason Freed <mas...@chromium.org>
      Gerrit-Comment-Date: Fri, 17 Apr 2026 08:08:33 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Mason Freed (Gerrit)

      unread,
      Apr 22, 2026, 5:02:14 PM (8 days ago) Apr 22
      to Luke, Chromium LUCI CQ, android-bu...@system.gserviceaccount.com, chromium...@chromium.org, blink-rev...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, zol...@webkit.org
      Attention needed from Luke

      Mason Freed added 3 comments

      Patchset-level comments
      File-level comment, Patchset 3 (Latest):
      Mason Freed . resolved

      Ok, just the feature inversion needed here, I think.

      Commit Message
      Line 10, Patchset 3 (Latest):This pseudo hasn't been used for temporal inputs since the form
      Mason Freed . resolved

      But these are web-exposed, right? So there are compat implications of doing this. I think this needs at least a PSA, and likely some use counters (or other intuition) about why this isn't a compat problem.

      Luke

      This pseudo does still exist and get used but *specifically* for number inputs. NOT temporal inputs.

      Mason Freed

      Ok, right, not for temporal, just for number. Thanks, and sorry.

      File third_party/blink/renderer/core/html/forms/multiple_fields_temporal_input_type_view.cc
      Line 263, Patchset 3 (Latest): CHECK(!RuntimeEnabledFeatures::
      HTMLInputElementTemporalDropWebkitSpinButtonEnabled());
      Mason Freed . resolved

      I don't think you can do this right? I.e. this patch just removes those pseudo elements from the UA stylesheet, but if a developer stylesheet uses them, you'll hit many of these `CHECK`s, right? I.e. this will show the spin buttons always:

      ```
      input::-webkit-inner-spin-button {
      opacity: 1;
      }
      ```

      I'm realizing now that the same comments might also apply to https://chromium-review.git.corp.google.com/c/chromium/src/+/7738961, right? Though there wasn't an actual populated clear button in that case, so maybe not.

      Luke

      Like mentioned above this won't show the spin button for temporal inputs, only number inputs which I haven't touched in this change.

      The other change also doesn't make use of the clear button so it's not an issue either.

      Mason Freed

      Ok, fair, thanks.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Luke
      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: I6ed1a323fe2842b367f73e92c7b3059aba2f9392
      Gerrit-Change-Number: 7735267
      Gerrit-PatchSet: 3
      Gerrit-Owner: Luke <lwa...@igalia.com>
      Gerrit-Reviewer: Luke <lwa...@igalia.com>
      Gerrit-Reviewer: Mason Freed <mas...@chromium.org>
      Gerrit-Attention: Luke <lwa...@igalia.com>
      Gerrit-Comment-Date: Wed, 22 Apr 2026 21:02:06 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Luke <lwa...@igalia.com>
      Comment-In-Reply-To: Mason Freed <mas...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages