Add CDP support for @counter-style rules [chromium/src : main]

1 view
Skip to first unread message

Alex Rudenko (Gerrit)

unread,
Apr 21, 2026, 8:48:58 AM (13 days ago) Apr 21
to Eric Leese, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
Attention needed from Eric Leese and Philip Pfaffe

Alex Rudenko added 2 comments

File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
Line 831, Patchset 1 (Latest): LOG(ERROR) << "skipping source data of type " << source_data_->type;
Alex Rudenko . unresolved

forgotten logs?

Line 839, Patchset 1 (Latest): LOG(ERROR) << "skipping invalid property " << name;
Alex Rudenko . unresolved

ditto

Open in Gerrit

Related details

Attention is currently required from:
  • Eric Leese
  • Philip Pfaffe
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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
Gerrit-Change-Number: 7781597
Gerrit-PatchSet: 1
Gerrit-Owner: Eric Leese <le...@chromium.org>
Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
Gerrit-Reviewer: Eric Leese <le...@chromium.org>
Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
Gerrit-Attention: Eric Leese <le...@chromium.org>
Gerrit-Comment-Date: Tue, 21 Apr 2026 12:48:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Eric Leese (Gerrit)

unread,
Apr 21, 2026, 9:31:03 AM (13 days ago) Apr 21
to Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
Attention needed from Alex Rudenko and Philip Pfaffe

Eric Leese added 2 comments

File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
Line 831, Patchset 1: LOG(ERROR) << "skipping source data of type " << source_data_->type;
Alex Rudenko . resolved

forgotten logs?

Eric Leese

Done

Line 839, Patchset 1: LOG(ERROR) << "skipping invalid property " << name;
Alex Rudenko . resolved

ditto

Eric Leese

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Alex Rudenko
  • Philip Pfaffe
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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
    Gerrit-Change-Number: 7781597
    Gerrit-PatchSet: 2
    Gerrit-Owner: Eric Leese <le...@chromium.org>
    Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
    Gerrit-Reviewer: Eric Leese <le...@chromium.org>
    Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
    Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
    Gerrit-Comment-Date: Tue, 21 Apr 2026 13:30:43 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Alex Rudenko <alexr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Alex Rudenko (Gerrit)

    unread,
    Apr 21, 2026, 10:25:05 AM (13 days ago) Apr 21
    to Eric Leese, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
    Attention needed from Anders Hartvoll Ruud, Eric Leese and Philip Pfaffe

    Alex Rudenko added 4 comments

    File third_party/blink/renderer/core/css/css_counter_style_rule.h
    Line 68, Patchset 2 (Latest): } // Is this needed?
    Alex Rudenko . unresolved

    This helper doesn't seem to be used anywhere in this change. If it's intended for future use, it's fine, but otherwise it can be removed along with the "Is this needed?" comment.

    File third_party/blink/renderer/core/css/style_rule_counter_style.h
    Line 9, Patchset 2 (Latest):#include "third_party/blink/renderer/core/css/css_property_value_set.h" // Was this needed?
    Alex Rudenko . unresolved

    This include seems necessary because `MutableProperties()` returns a `MutableCSSPropertyValueSet&`, which requires the full definition of the class (it's a subclass of `CSSPropertyValueSet`). You can remove the "Was this needed?" comment.

    File third_party/blink/renderer/core/inspector/inspector_css_agent.cc
    Line 2188, Patchset 2 (Latest): if (fallback_value.starts_with("--")) {
    Alex Rudenko . unresolved

    Is it fine to check with `--`? AI says it might not be always used/customized?

    File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
    Line 1449, Patchset 2 (Latest): style = counter_style_rule->style();
    Alex Rudenko . unresolved

    AI-generated below but seems plausible? it looks like https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_rule_counter_style.h;l=75;drc=08b2c243ef0d95044d60d5de1d28c1281804c25f needs to be incremented on mutations and we might be bypassing it when editing?

    >>>

    When a `CSSCounterStyleRule`'s properties are modified via the `StyleRuleCSSStyleDeclaration` (which is what `style()` returns), the underlying `StyleRuleCounterStyle`'s `version_` must be incremented.

    Currently, `SetDescriptorValue` increments the version, but that method is only called by CSSOM setters (like `rule.system = '...'`). The inspector uses `setStyleTexts`, which calls `setCSSText` on the `CSSStyleDeclaration`. This modifies the property set directly but doesn't know about the `version_` field.

    If the version isn't incremented, `CounterStyleMap` might not re-resolve the style, and the page won't update to reflect the inspector's changes. You might need to override `DidModify` or similar in `CSSCounterStyleRule` to ensure the internal rule's version is updated when the declaration changes.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    • Eric Leese
    • Philip Pfaffe
    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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 2
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Attention: Eric Leese <le...@chromium.org>
      Gerrit-Comment-Date: Tue, 21 Apr 2026 14:24:46 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eric Leese (Gerrit)

      unread,
      Apr 21, 2026, 10:56:23 AM (13 days ago) Apr 21
      to Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Philip Pfaffe

      Eric Leese added 3 comments

      File third_party/blink/renderer/core/css/css_counter_style_rule.h
      Line 68, Patchset 2: } // Is this needed?
      Alex Rudenko . resolved

      This helper doesn't seem to be used anywhere in this change. If it's intended for future use, it's fine, but otherwise it can be removed along with the "Is this needed?" comment.

      Eric Leese

      Done

      File third_party/blink/renderer/core/css/style_rule_counter_style.h
      Line 9, Patchset 2:#include "third_party/blink/renderer/core/css/css_property_value_set.h" // Was this needed?
      Alex Rudenko . resolved

      This include seems necessary because `MutableProperties()` returns a `MutableCSSPropertyValueSet&`, which requires the full definition of the class (it's a subclass of `CSSPropertyValueSet`). You can remove the "Was this needed?" comment.

      Eric Leese

      Wasn't needed

      File third_party/blink/renderer/core/inspector/inspector_css_agent.cc
      Line 2188, Patchset 2: if (fallback_value.starts_with("--")) {
      Alex Rudenko . resolved

      Is it fine to check with `--`? AI says it might not be always used/customized?

      Eric Leese

      Verified that it is not a requirement.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Anders Hartvoll Ruud
      • Philip Pfaffe
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 3
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Comment-Date: Tue, 21 Apr 2026 14:56:04 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Alex Rudenko <alexr...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Philip Pfaffe (Gerrit)

      unread,
      Apr 21, 2026, 10:57:07 AM (13 days ago) Apr 21
      to Eric Leese, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Eric Leese

      Philip Pfaffe added 3 comments

      File third_party/blink/renderer/core/css/css_counter_style_rule.h
      Line 68, Patchset 2: } // Is this needed?
      Philip Pfaffe . unresolved

      Left over comment?

      Line 42, Patchset 2: CSSStyleDeclaration* style();
      Philip Pfaffe . unresolved

      Does @content have an official CSSOM version? If not, IIRC the convention was to call this `Style()`

      File third_party/blink/renderer/core/inspector/inspector_css_agent.cc
      Line 2163, Patchset 2: AtomicString next_name = counter_style_name;
      Philip Pfaffe . unresolved

      std::move?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Anders Hartvoll Ruud
      • Eric Leese
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 3
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Attention: Eric Leese <le...@chromium.org>
      Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Comment-Date: Tue, 21 Apr 2026 14:56:52 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eric Leese (Gerrit)

      unread,
      Apr 21, 2026, 12:37:28 PM (13 days ago) Apr 21
      to Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Philip Pfaffe

      Eric Leese added 5 comments

      File third_party/blink/renderer/core/css/css_counter_style_rule.h
      Line 68, Patchset 2: } // Is this needed?
      Philip Pfaffe . resolved

      Left over comment?

      Eric Leese

      Done

      Line 68, Patchset 2: } // Is this needed?
      Philip Pfaffe . resolved

      Left over comment?

      Eric Leese

      Done

      Line 42, Patchset 2: CSSStyleDeclaration* style();
      Philip Pfaffe . resolved

      Does @content have an official CSSOM version? If not, IIRC the convention was to call this `Style()`

      Eric Leese

      Done

      File third_party/blink/renderer/core/inspector/inspector_css_agent.cc
      Line 2163, Patchset 2: AtomicString next_name = counter_style_name;
      Philip Pfaffe . resolved

      std::move?

      Eric Leese

      Let's get rid of it.

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Line 1449, Patchset 2: style = counter_style_rule->style();
      Alex Rudenko . unresolved

      AI-generated below but seems plausible? it looks like https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_rule_counter_style.h;l=75;drc=08b2c243ef0d95044d60d5de1d28c1281804c25f needs to be incremented on mutations and we might be bypassing it when editing?

      >>>

      When a `CSSCounterStyleRule`'s properties are modified via the `StyleRuleCSSStyleDeclaration` (which is what `style()` returns), the underlying `StyleRuleCounterStyle`'s `version_` must be incremented.

      Currently, `SetDescriptorValue` increments the version, but that method is only called by CSSOM setters (like `rule.system = '...'`). The inspector uses `setStyleTexts`, which calls `setCSSText` on the `CSSStyleDeclaration`. This modifies the property set directly but doesn't know about the `version_` field.

      If the version isn't incremented, `CounterStyleMap` might not re-resolve the style, and the page won't update to reflect the inspector's changes. You might need to override `DidModify` or similar in `CSSCounterStyleRule` to ensure the internal rule's version is updated when the declaration changes.

      Eric Leese

      There does seem to be some sort of dirty tracking going on in `StyleRuleCounterStyle` that none of the other style rule classes have. I don't see any `DidModify` function or similar. Needs further investigation. The author is on leave. @andruud, any suggestions?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Anders Hartvoll Ruud
      • Philip Pfaffe
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 4
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Comment-Date: Tue, 21 Apr 2026 16:37:09 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Philip Pfaffe <pfa...@chromium.org>
      Comment-In-Reply-To: Alex Rudenko <alexr...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Anders Hartvoll Ruud (Gerrit)

      unread,
      Apr 22, 2026, 4:23:03 AM (12 days ago) Apr 22
      to Eric Leese, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Eric Leese and Philip Pfaffe

      Anders Hartvoll Ruud added 2 comments

      File third_party/blink/renderer/core/css/style_rule_counter_style.h
      Line 26, Patchset 5 (Latest): bool HasValidSymbols(const CSSValue* system,
      Anders Hartvoll Ruud . unresolved

      Did you mean to make this static?

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Line 1449, Patchset 2: style = counter_style_rule->style();
      Alex Rudenko . unresolved

      AI-generated below but seems plausible? it looks like https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_rule_counter_style.h;l=75;drc=08b2c243ef0d95044d60d5de1d28c1281804c25f needs to be incremented on mutations and we might be bypassing it when editing?

      >>>

      When a `CSSCounterStyleRule`'s properties are modified via the `StyleRuleCSSStyleDeclaration` (which is what `style()` returns), the underlying `StyleRuleCounterStyle`'s `version_` must be incremented.

      Currently, `SetDescriptorValue` increments the version, but that method is only called by CSSOM setters (like `rule.system = '...'`). The inspector uses `setStyleTexts`, which calls `setCSSText` on the `CSSStyleDeclaration`. This modifies the property set directly but doesn't know about the `version_` field.

      If the version isn't incremented, `CounterStyleMap` might not re-resolve the style, and the page won't update to reflect the inspector's changes. You might need to override `DidModify` or similar in `CSSCounterStyleRule` to ensure the internal rule's version is updated when the declaration changes.

      Eric Leese

      There does seem to be some sort of dirty tracking going on in `StyleRuleCounterStyle` that none of the other style rule classes have. I don't see any `DidModify` function or similar. Needs further investigation. The author is on leave. @andruud, any suggestions?

      Anders Hartvoll Ruud

      Most at-rules affect how `ComputedStyle`s are produced, and so need to invalidate style when they change. If the `ComputedStyle`s change in a way that affects layout, then layout will be invalidated via the regular mechanisms of diffing the old vs. new `ComputedStyle` objects.

      If I remember correctly, counters don't actually affect `ComputedStyle` objects, but _do_ affect layout. So they need a special path to invalidate layout _directly_.

      So there is indeed a problem here. I need to think a bit about the solution ...

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Eric Leese
      • Philip Pfaffe
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 5
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-Attention: Eric Leese <le...@chromium.org>
      Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Comment-Date: Wed, 22 Apr 2026 08:22:45 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Eric Leese <le...@chromium.org>
      Comment-In-Reply-To: Alex Rudenko <alexr...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eric Leese (Gerrit)

      unread,
      Apr 28, 2026, 8:03:39 AM (6 days ago) Apr 28
      to Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Philip Pfaffe

      Eric Leese added 1 comment

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Line 1449, Patchset 2: style = counter_style_rule->style();
      Alex Rudenko . unresolved

      AI-generated below but seems plausible? it looks like https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_rule_counter_style.h;l=75;drc=08b2c243ef0d95044d60d5de1d28c1281804c25f needs to be incremented on mutations and we might be bypassing it when editing?

      >>>

      When a `CSSCounterStyleRule`'s properties are modified via the `StyleRuleCSSStyleDeclaration` (which is what `style()` returns), the underlying `StyleRuleCounterStyle`'s `version_` must be incremented.

      Currently, `SetDescriptorValue` increments the version, but that method is only called by CSSOM setters (like `rule.system = '...'`). The inspector uses `setStyleTexts`, which calls `setCSSText` on the `CSSStyleDeclaration`. This modifies the property set directly but doesn't know about the `version_` field.

      If the version isn't incremented, `CounterStyleMap` might not re-resolve the style, and the page won't update to reflect the inspector's changes. You might need to override `DidModify` or similar in `CSSCounterStyleRule` to ensure the internal rule's version is updated when the declaration changes.

      Eric Leese

      There does seem to be some sort of dirty tracking going on in `StyleRuleCounterStyle` that none of the other style rule classes have. I don't see any `DidModify` function or similar. Needs further investigation. The author is on leave. @andruud, any suggestions?

      Anders Hartvoll Ruud

      Most at-rules affect how `ComputedStyle`s are produced, and so need to invalidate style when they change. If the `ComputedStyle`s change in a way that affects layout, then layout will be invalidated via the regular mechanisms of diffing the old vs. new `ComputedStyle` objects.

      If I remember correctly, counters don't actually affect `ComputedStyle` objects, but _do_ affect layout. So they need a special path to invalidate layout _directly_.

      So there is indeed a problem here. I need to think a bit about the solution ...

      Eric Leese

      So the straightforward if not pretty solution I see is:

      1. Add an UpdateVersion() method to CSSCounterStyleRule and StyleRuleCounterStyle to bump the version.
      2. Add comments to the header file warning that if you use the style() wrapper to modify the properties you must also call UpdateVersion().
      3. Below this, after the call to setCSSText, check again if it is a CSSCounterStyleRule and call UpdateVersion() then.

      Would that solution be acceptable here?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Anders Hartvoll Ruud
      • Philip Pfaffe
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 5
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Comment-Date: Tue, 28 Apr 2026 12:03:23 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alex Rudenko (Gerrit)

      unread,
      Apr 30, 2026, 6:45:26 AM (4 days ago) Apr 30
      to Eric Leese, Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Anders Hartvoll Ruud, Eric Leese and Philip Pfaffe

      Alex Rudenko added 1 comment

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Line 1449, Patchset 2: style = counter_style_rule->style();
      Alex Rudenko . unresolved

      AI-generated below but seems plausible? it looks like https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_rule_counter_style.h;l=75;drc=08b2c243ef0d95044d60d5de1d28c1281804c25f needs to be incremented on mutations and we might be bypassing it when editing?

      >>>

      When a `CSSCounterStyleRule`'s properties are modified via the `StyleRuleCSSStyleDeclaration` (which is what `style()` returns), the underlying `StyleRuleCounterStyle`'s `version_` must be incremented.

      Currently, `SetDescriptorValue` increments the version, but that method is only called by CSSOM setters (like `rule.system = '...'`). The inspector uses `setStyleTexts`, which calls `setCSSText` on the `CSSStyleDeclaration`. This modifies the property set directly but doesn't know about the `version_` field.

      If the version isn't incremented, `CounterStyleMap` might not re-resolve the style, and the page won't update to reflect the inspector's changes. You might need to override `DidModify` or similar in `CSSCounterStyleRule` to ensure the internal rule's version is updated when the declaration changes.

      Eric Leese

      There does seem to be some sort of dirty tracking going on in `StyleRuleCounterStyle` that none of the other style rule classes have. I don't see any `DidModify` function or similar. Needs further investigation. The author is on leave. @andruud, any suggestions?

      Anders Hartvoll Ruud

      Most at-rules affect how `ComputedStyle`s are produced, and so need to invalidate style when they change. If the `ComputedStyle`s change in a way that affects layout, then layout will be invalidated via the regular mechanisms of diffing the old vs. new `ComputedStyle` objects.

      If I remember correctly, counters don't actually affect `ComputedStyle` objects, but _do_ affect layout. So they need a special path to invalidate layout _directly_.

      So there is indeed a problem here. I need to think a bit about the solution ...

      Eric Leese

      So the straightforward if not pretty solution I see is:

      1. Add an UpdateVersion() method to CSSCounterStyleRule and StyleRuleCounterStyle to bump the version.
      2. Add comments to the header file warning that if you use the style() wrapper to modify the properties you must also call UpdateVersion().
      3. Below this, after the call to setCSSText, check again if it is a CSSCounterStyleRule and call UpdateVersion() then.

      Would that solution be acceptable here?

      Alex Rudenko

      (leaving the decision here to Anders)

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Anders Hartvoll Ruud
      • Eric Leese
      • Philip Pfaffe
      Gerrit-Attention: Eric Leese <le...@chromium.org>
      Gerrit-Comment-Date: Thu, 30 Apr 2026 10:45:07 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eric Leese (Gerrit)

      unread,
      Apr 30, 2026, 8:29:37 AM (4 days ago) Apr 30
      to Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Anders Hartvoll Ruud and Philip Pfaffe

      Eric Leese added 1 comment

      File third_party/blink/renderer/core/css/style_rule_counter_style.h
      Line 26, Patchset 5: bool HasValidSymbols(const CSSValue* system,
      Anders Hartvoll Ruud . resolved

      Did you mean to make this static?

      Eric Leese

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Anders Hartvoll Ruud
      • Philip Pfaffe
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
      Gerrit-Change-Number: 7781597
      Gerrit-PatchSet: 6
      Gerrit-Owner: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Eric Leese <le...@chromium.org>
      Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Comment-Date: Thu, 30 Apr 2026 12:29:16 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Anders Hartvoll Ruud (Gerrit)

      unread,
      Apr 30, 2026, 9:56:46 AM (4 days ago) Apr 30
      to Eric Leese, Code Review Nudger, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Eric Leese and Philip Pfaffe

      Anders Hartvoll Ruud added 1 comment

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Line 1449, Patchset 2: style = counter_style_rule->style();
      Alex Rudenko . unresolved

      AI-generated below but seems plausible? it looks like https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_rule_counter_style.h;l=75;drc=08b2c243ef0d95044d60d5de1d28c1281804c25f needs to be incremented on mutations and we might be bypassing it when editing?

      >>>

      When a `CSSCounterStyleRule`'s properties are modified via the `StyleRuleCSSStyleDeclaration` (which is what `style()` returns), the underlying `StyleRuleCounterStyle`'s `version_` must be incremented.

      Currently, `SetDescriptorValue` increments the version, but that method is only called by CSSOM setters (like `rule.system = '...'`). The inspector uses `setStyleTexts`, which calls `setCSSText` on the `CSSStyleDeclaration`. This modifies the property set directly but doesn't know about the `version_` field.

      If the version isn't incremented, `CounterStyleMap` might not re-resolve the style, and the page won't update to reflect the inspector's changes. You might need to override `DidModify` or similar in `CSSCounterStyleRule` to ensure the internal rule's version is updated when the declaration changes.

      Eric Leese

      There does seem to be some sort of dirty tracking going on in `StyleRuleCounterStyle` that none of the other style rule classes have. I don't see any `DidModify` function or similar. Needs further investigation. The author is on leave. @andruud, any suggestions?

      Anders Hartvoll Ruud

      Most at-rules affect how `ComputedStyle`s are produced, and so need to invalidate style when they change. If the `ComputedStyle`s change in a way that affects layout, then layout will be invalidated via the regular mechanisms of diffing the old vs. new `ComputedStyle` objects.

      If I remember correctly, counters don't actually affect `ComputedStyle` objects, but _do_ affect layout. So they need a special path to invalidate layout _directly_.

      So there is indeed a problem here. I need to think a bit about the solution ...

      Eric Leese

      So the straightforward if not pretty solution I see is:

      1. Add an UpdateVersion() method to CSSCounterStyleRule and StyleRuleCounterStyle to bump the version.
      2. Add comments to the header file warning that if you use the style() wrapper to modify the properties you must also call UpdateVersion().
      3. Below this, after the call to setCSSText, check again if it is a CSSCounterStyleRule and call UpdateVersion() then.

      Would that solution be acceptable here?

      Alex Rudenko

      (leaving the decision here to Anders)

      Anders Hartvoll Ruud

      (Apologies for not getting back to this, like I said I would.)

      OK, let's do roughly what you're saying, Eric, but I think we can make it a little more solid by adding a `CSSStyleDeclaration* CSSCounterStyleRule::MutateStyleForInspector()` [1] which always does `UpdateVersion()` internally? In `SetStyleText`, it seems that once we call `Style()`, we've already made up our mind to modify it, so it wouldn't even over-invalidate? (And if it does, maybe that's non-catastrophic.)

      I would like to avoid explicitly managing versions from the outside. It feels a bit fragile.

      [1] Or some other name that gives a hint that calling the function causes invalidation.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Eric Leese
      • Philip Pfaffe
      Gerrit-Attention: Eric Leese <le...@chromium.org>
      Gerrit-Comment-Date: Thu, 30 Apr 2026 13:56:32 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eric Leese (Gerrit)

      unread,
      Apr 30, 2026, 10:05:29 AM (4 days ago) Apr 30
      to Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Philip Pfaffe

      Eric Leese added 1 comment

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Eric Leese

      Okay, that is even simpler. It feels wrong to bump the version before modifying the value, but since that doesn't directly trigger layout it doesn't matter which order these happen in.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Anders Hartvoll Ruud
      • Philip Pfaffe
      Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
      Gerrit-Comment-Date: Thu, 30 Apr 2026 14:05:12 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Eric Leese (Gerrit)

      unread,
      Apr 30, 2026, 10:44:42 AM (4 days ago) Apr 30
      to Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, Philip Pfaffe, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
      Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Philip Pfaffe

      Eric Leese added 1 comment

      File third_party/blink/renderer/core/inspector/inspector_style_sheet.cc
      Line 1449, Patchset 2: style = counter_style_rule->style();
      Alex Rudenko . resolved
      Eric Leese

      Done

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alex Rudenko
      • Anders Hartvoll Ruud
      • Philip Pfaffe
      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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
        Gerrit-Change-Number: 7781597
        Gerrit-PatchSet: 7
        Gerrit-Owner: Eric Leese <le...@chromium.org>
        Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
        Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
        Gerrit-Reviewer: Eric Leese <le...@chromium.org>
        Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
        Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-Attention: Philip Pfaffe <pfa...@chromium.org>
        Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
        Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
        Gerrit-Comment-Date: Thu, 30 Apr 2026 14:44:28 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Philip Pfaffe (Gerrit)

        unread,
        Apr 30, 2026, 1:58:48 PM (4 days ago) Apr 30
        to Eric Leese, Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
        Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Eric Leese

        Philip Pfaffe voted and added 1 comment

        Votes added by Philip Pfaffe

        Code-Review+1

        1 comment

        File third_party/blink/renderer/core/css/css_counter_style_rule.cc
        Line 300, Patchset 7 (Latest): counter_style_rule_->UpdateVersion();
        Philip Pfaffe . resolved

        Love this!

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Alex Rudenko
        • Anders Hartvoll Ruud
        • Eric Leese
        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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
          Gerrit-Change-Number: 7781597
          Gerrit-PatchSet: 7
          Gerrit-Owner: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
          Gerrit-Reviewer: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
          Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
          Gerrit-CC: Menard, Alexis <alexis...@intel.com>
          Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
          Gerrit-Attention: Eric Leese <le...@chromium.org>
          Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Comment-Date: Thu, 30 Apr 2026 17:58:27 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Philip Pfaffe (Gerrit)

          unread,
          Apr 30, 2026, 1:59:08 PM (4 days ago) Apr 30
          to Eric Leese, Code Review Nudger, Anders Hartvoll Ruud, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
          Attention needed from Alex Rudenko, Anders Hartvoll Ruud and Eric Leese

          Philip Pfaffe added 1 comment

          Patchset-level comments
          File-level comment, Patchset 7 (Latest):
          Philip Pfaffe . resolved

          Inspector LGTM!

          Gerrit-Comment-Date: Thu, 30 Apr 2026 17:58:52 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Anders Hartvoll Ruud (Gerrit)

          unread,
          Apr 30, 2026, 4:15:52 PM (4 days ago) Apr 30
          to Eric Leese, Philip Pfaffe, Code Review Nudger, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
          Attention needed from Alex Rudenko and Eric Leese

          Anders Hartvoll Ruud voted and added 2 comments

          Votes added by Anders Hartvoll Ruud

          Code-Review+1

          2 comments

          Patchset-level comments
          Anders Hartvoll Ruud . resolved

          lgtm if we can remove `UpdateVersion()`.

          File third_party/blink/renderer/core/css/style_rule_counter_style.h
          Line 21, Patchset 7 (Latest): void UpdateVersion() { ++version_; }
          Anders Hartvoll Ruud . unresolved

          I think you should drop this, rename `MutableProperties` to `MutableStyleForInspector`, and do `++version_` on the inside. (And maybe add a comment saying "See CSSCounterStyleRule::MutableStyleForInspector`.)

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alex Rudenko
          • Eric Leese
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement 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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
          Gerrit-Change-Number: 7781597
          Gerrit-PatchSet: 7
          Gerrit-Owner: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
          Gerrit-Reviewer: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
          Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
          Gerrit-CC: Menard, Alexis <alexis...@intel.com>
          Gerrit-Attention: Eric Leese <le...@chromium.org>
          Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Comment-Date: Thu, 30 Apr 2026 20:15:35 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Eric Leese (Gerrit)

          unread,
          7:09 AM (9 hours ago) 7:09 AM
          to Anders Hartvoll Ruud, Philip Pfaffe, Code Review Nudger, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
          Attention needed from Alex Rudenko and Anders Hartvoll Ruud

          Eric Leese added 1 comment

          File third_party/blink/renderer/core/css/style_rule_counter_style.h
          Line 21, Patchset 7 (Latest): void UpdateVersion() { ++version_; }
          Anders Hartvoll Ruud . unresolved

          I think you should drop this, rename `MutableProperties` to `MutableStyleForInspector`, and do `++version_` on the inside. (And maybe add a comment saying "See CSSCounterStyleRule::MutableStyleForInspector`.)

          Eric Leese

          This means we must always update layout when getMatchedStyleForNode is called and it returns a @counter-style rule, even if no styles were changed, and also we can't keep the cssom wrapper object around but must create a new one each time. This isn't necessarily an unreasonable cost, just wanted to note it.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alex Rudenko
          • Anders Hartvoll Ruud
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement 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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
          Gerrit-Change-Number: 7781597
          Gerrit-PatchSet: 7
          Gerrit-Owner: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
          Gerrit-Reviewer: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
          Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
          Gerrit-CC: Menard, Alexis <alexis...@intel.com>
          Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
          Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Comment-Date: Mon, 04 May 2026 11:09:12 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Anders Hartvoll Ruud (Gerrit)

          unread,
          7:52 AM (8 hours ago) 7:52 AM
          to Eric Leese, Philip Pfaffe, Code Review Nudger, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
          Attention needed from Alex Rudenko and Eric Leese

          Anders Hartvoll Ruud added 1 comment

          File third_party/blink/renderer/core/css/style_rule_counter_style.h
          Line 21, Patchset 7 (Latest): void UpdateVersion() { ++version_; }
          Anders Hartvoll Ruud . unresolved

          I think you should drop this, rename `MutableProperties` to `MutableStyleForInspector`, and do `++version_` on the inside. (And maybe add a comment saying "See CSSCounterStyleRule::MutableStyleForInspector`.)

          Eric Leese

          This means we must always update layout when getMatchedStyleForNode is called and it returns a @counter-style rule, even if no styles were changed, and also we can't keep the cssom wrapper object around but must create a new one each time. This isn't necessarily an unreasonable cost, just wanted to note it.

          Anders Hartvoll Ruud

          Even if you add a function here `Properties()` analogous to `CSSCounterStyleRule::Style()` which does _not_ call `++version_`?

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alex Rudenko
          • Eric Leese
          Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement 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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
          Gerrit-Change-Number: 7781597
          Gerrit-PatchSet: 7
          Gerrit-Owner: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
          Gerrit-Reviewer: Eric Leese <le...@chromium.org>
          Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
          Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
          Gerrit-CC: Menard, Alexis <alexis...@intel.com>
          Gerrit-Attention: Eric Leese <le...@chromium.org>
          Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
          Gerrit-Comment-Date: Mon, 04 May 2026 11:52:24 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
          Comment-In-Reply-To: Eric Leese <le...@chromium.org>
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Eric Leese (Gerrit)

          unread,
          9:24 AM (6 hours ago) 9:24 AM
          to Anders Hartvoll Ruud, Philip Pfaffe, Code Review Nudger, Menard, Alexis, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, Alex Rudenko, blink-re...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, devtools...@chromium.org, devtools-re...@chromium.org, apavlo...@chromium.org
          Attention needed from Alex Rudenko

          Eric Leese added 1 comment

          File third_party/blink/renderer/core/css/style_rule_counter_style.h
          Line 21, Patchset 7: void UpdateVersion() { ++version_; }
          Anders Hartvoll Ruud . resolved

          I think you should drop this, rename `MutableProperties` to `MutableStyleForInspector`, and do `++version_` on the inside. (And maybe add a comment saying "See CSSCounterStyleRule::MutableStyleForInspector`.)

          Eric Leese

          This means we must always update layout when getMatchedStyleForNode is called and it returns a @counter-style rule, even if no styles were changed, and also we can't keep the cssom wrapper object around but must create a new one each time. This isn't necessarily an unreasonable cost, just wanted to note it.

          Anders Hartvoll Ruud

          Even if you add a function here `Properties()` analogous to `CSSCounterStyleRule::Style()` which does _not_ call `++version_`?

          Eric Leese

          Done

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Alex Rudenko
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement 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: I89821cd1bc2a467f7e4202c49c844012d9a55b3e
            Gerrit-Change-Number: 7781597
            Gerrit-PatchSet: 8
            Gerrit-Owner: Eric Leese <le...@chromium.org>
            Gerrit-Reviewer: Alex Rudenko <alexr...@chromium.org>
            Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
            Gerrit-Reviewer: Eric Leese <le...@chromium.org>
            Gerrit-Reviewer: Philip Pfaffe <pfa...@chromium.org>
            Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
            Gerrit-CC: Menard, Alexis <alexis...@intel.com>
            Gerrit-Attention: Alex Rudenko <alexr...@chromium.org>
            Gerrit-Comment-Date: Mon, 04 May 2026 13:23:53 +0000
            satisfied_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages