Add a fast path for comparing fields in “transition: all”. [chromium/src : main]

0 views
Skip to first unread message

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jan 20, 2026, 10:11:37 AMJan 20
to Steinar H Gunderson, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/16461686710000

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
Gerrit-Change-Number: 7493822
Gerrit-PatchSet: 3
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
Gerrit-Comment-Date: Tue, 20 Jan 2026 15:11:27 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jan 21, 2026, 5:41:58 AMJan 21
to Steinar H Gunderson, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/103b3362710000

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
Gerrit-Change-Number: 7493822
Gerrit-PatchSet: 5
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
Gerrit-Comment-Date: Wed, 21 Jan 2026 10:41:48 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jan 21, 2026, 9:01:34 AMJan 21
to Steinar H Gunderson, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/15432c9a710000

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
Gerrit-Change-Number: 7493822
Gerrit-PatchSet: 6
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
Gerrit-Comment-Date: Wed, 21 Jan 2026 14:01:22 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jan 21, 2026, 5:44:15 PMJan 21
to Steinar H Gunderson, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/12b08701710000

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
Gerrit-Change-Number: 7493822
Gerrit-PatchSet: 7
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
Gerrit-Comment-Date: Wed, 21 Jan 2026 22:44:06 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jan 23, 2026, 6:28:34 AMJan 23
to Steinar H Gunderson, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/1218b3fc710000

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
Gerrit-Change-Number: 7493822
Gerrit-PatchSet: 8
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
Gerrit-Comment-Date: Fri, 23 Jan 2026 11:28:25 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

chromeperf@appspot.gserviceaccount.com (Gerrit)

unread,
Jan 23, 2026, 7:37:20 AMJan 23
to Steinar H Gunderson, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Message from chrom...@appspot.gserviceaccount.com

📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

See results at: https://pinpoint-dot-chromeperf.appspot.com/job/12eb0ed6710000

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
Gerrit-Change-Number: 7493822
Gerrit-PatchSet: 9
Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
Gerrit-CC: Menard, Alexis <alexis...@intel.com>
Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
Gerrit-Comment-Date: Fri, 23 Jan 2026 12:37:10 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Anders Hartvoll Ruud (Gerrit)

unread,
Jan 28, 2026, 5:08:42 AMJan 28
to Steinar H Gunderson, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
Attention needed from Steinar H Gunderson

Anders Hartvoll Ruud added 4 comments

File third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
Line 288, Patchset 11 (Latest):{% macro transition_all_diff(computed_style, properties, with_discrete) %}
Anders Hartvoll Ruud . unresolved

Assuming I'm reading this correctly, it looks like we dig into fields, and then compare in a property-centric way within that (using `CSSPropertyEquality`). That feels more roundabout than it needs to be:

Why Can't We Just(TM):

 - Know which properties (CSSPropertyIDs) any given field is associated with (from possibly new information in json5---you may have basically added this already).
- Diff fields "naively" (like DebugDiff), and set property bits defensively (i.e. marking all properties that could be affected by the field).
- Leave `CSSPropertyEquality` calls to the existing place that happens in the animation update.
File third_party/blink/renderer/core/animation/css/css_animations.cc
Line 2769, Patchset 11 (Latest): return;
Anders Hartvoll Ruud . unresolved

It's risky to assume that we have test coverage here. I'd expect most properties that test transitions do so with a specific property, not via transition:all. When the "all" path and specific path diverge, we effectively no longer test if some specific property can be transitioned correctly via "all".

Line 2819, Patchset 11 (Latest): // it's not used anyway.
Anders Hartvoll Ruud . unresolved

I'd prefer to not make that assumption here. Maybe refactor to make the property handle optional.

Line 2845, Patchset 11 (Latest): // Very similar to the loop in CalculateTransitionUpdateForStandardProperty(),
// just a bit more streamlined and adding the Has() check.
Anders Hartvoll Ruud . unresolved

It would be more clean if we could return the `CSSBitset` as a filter, set all bits on the failure paths, and add the `continue`-check to the existing loop.

Open in Gerrit

Related details

Attention is currently required from:
  • Steinar H Gunderson
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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 11
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Wed, 28 Jan 2026 10:08:25 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 28, 2026, 6:03:27 AMJan 28
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 2 comments

    File third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
    Line 288, Patchset 11 (Latest):{% macro transition_all_diff(computed_style, properties, with_discrete) %}
    Anders Hartvoll Ruud . unresolved

    Assuming I'm reading this correctly, it looks like we dig into fields, and then compare in a property-centric way within that (using `CSSPropertyEquality`). That feels more roundabout than it needs to be:

    Why Can't We Just(TM):

     - Know which properties (CSSPropertyIDs) any given field is associated with (from possibly new information in json5---you may have basically added this already).
    - Diff fields "naively" (like DebugDiff), and set property bits defensively (i.e. marking all properties that could be affected by the field).
    - Leave `CSSPropertyEquality` calls to the existing place that happens in the animation update.
    Steinar H Gunderson

    Isn't this what this patch is doing already? I'm not sure if I understand the difference (no pun intended). Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar? That sounds just wrong to me, we would be setting a zillion background properties if a pointer changed and nothing about FillLayersEqual would be right. (I believe I did this initially, but had to change to using the equality code because a fair amount of tests were failing.)

    File third_party/blink/renderer/core/animation/css/css_animations.cc
    Line 2845, Patchset 11 (Latest): // Very similar to the loop in CalculateTransitionUpdateForStandardProperty(),
    // just a bit more streamlined and adding the Has() check.
    Anders Hartvoll Ruud . unresolved

    It would be more clean if we could return the `CSSBitset` as a filter, set all bits on the failure paths, and add the `continue`-check to the existing loop.

    Steinar H Gunderson

    The biggest problem is that the loop is already doing double duty (longhands versus shorthands). If we're making it also handle the bitset case, I believe it becomes even more convoluted. And we'd have to make a fully-set bitset for each longhand property we want to transition?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 11
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Comment-Date: Wed, 28 Jan 2026 11:03:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Anders Hartvoll Ruud (Gerrit)

    unread,
    Jan 28, 2026, 6:30:58 AMJan 28
    to Steinar H Gunderson, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Steinar H Gunderson

    Anders Hartvoll Ruud added 1 comment

    File third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
    Line 288, Patchset 11 (Latest):{% macro transition_all_diff(computed_style, properties, with_discrete) %}
    Anders Hartvoll Ruud . unresolved

    Assuming I'm reading this correctly, it looks like we dig into fields, and then compare in a property-centric way within that (using `CSSPropertyEquality`). That feels more roundabout than it needs to be:

    Why Can't We Just(TM):

     - Know which properties (CSSPropertyIDs) any given field is associated with (from possibly new information in json5---you may have basically added this already).
    - Diff fields "naively" (like DebugDiff), and set property bits defensively (i.e. marking all properties that could be affected by the field).
    - Leave `CSSPropertyEquality` calls to the existing place that happens in the animation update.
    Steinar H Gunderson

    Isn't this what this patch is doing already? I'm not sure if I understand the difference (no pun intended). Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar? That sounds just wrong to me, we would be setting a zillion background properties if a pointer changed and nothing about FillLayersEqual would be right. (I believe I did this initially, but had to change to using the equality code because a fair amount of tests were failing.)

    Anders Hartvoll Ruud

    Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar?

    Yes.

    That sounds just wrong to me

    Not if the question is "which properties are _possibly_ affected by the field diffs".

    zillion background properties

    Nine properties, yes.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Steinar H Gunderson
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 11
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Wed, 28 Jan 2026 11:30:40 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
    Comment-In-Reply-To: Steinar H Gunderson <se...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Jan 30, 2026, 7:39:03 AMJan 30
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 2 comments

    File third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
    Line 288, Patchset 11:{% macro transition_all_diff(computed_style, properties, with_discrete) %}
    Anders Hartvoll Ruud . resolved

    Assuming I'm reading this correctly, it looks like we dig into fields, and then compare in a property-centric way within that (using `CSSPropertyEquality`). That feels more roundabout than it needs to be:

    Why Can't We Just(TM):

     - Know which properties (CSSPropertyIDs) any given field is associated with (from possibly new information in json5---you may have basically added this already).
    - Diff fields "naively" (like DebugDiff), and set property bits defensively (i.e. marking all properties that could be affected by the field).
    - Leave `CSSPropertyEquality` calls to the existing place that happens in the animation update.
    Steinar H Gunderson

    Isn't this what this patch is doing already? I'm not sure if I understand the difference (no pun intended). Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar? That sounds just wrong to me, we would be setting a zillion background properties if a pointer changed and nothing about FillLayersEqual would be right. (I believe I did this initially, but had to change to using the equality code because a fair amount of tests were failing.)

    Anders Hartvoll Ruud

    Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar?

    Yes.

    That sounds just wrong to me

    Not if the question is "which properties are _possibly_ affected by the field diffs".

    zillion background properties

    Nine properties, yes.

    Steinar H Gunderson

    Done

    File third_party/blink/renderer/core/animation/css/css_animations.cc
    Anders Hartvoll Ruud . unresolved

    It's risky to assume that we have test coverage here. I'd expect most properties that test transitions do so with a specific property, not via transition:all. When the "all" path and specific path diverge, we effectively no longer test if some specific property can be transitioned correctly via "all".

    Steinar H Gunderson

    From a quick look, we have about 40 different properties that are tested by means of something that is not “transition: all”. Should we try to extend the test coverage by making most of those tests also run an extra time with “transition: all”? Would that be enough?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 13
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Comment-Date: Fri, 30 Jan 2026 12:38:29 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Feb 2, 2026, 5:29:58 AM (11 days ago) Feb 2
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 1 comment

    File third_party/blink/renderer/core/animation/css/css_animations.cc
    Line 2819, Patchset 11: // it's not used anyway.
    Anders Hartvoll Ruud . resolved

    I'd prefer to not make that assumption here. Maybe refactor to make the property handle optional.

    Steinar H Gunderson

    Done. (Depends on the previous patch in the chain.)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 17
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 10:29:44 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Anders Hartvoll Ruud (Gerrit)

    unread,
    Feb 2, 2026, 7:29:29 AM (11 days ago) Feb 2
    to Steinar H Gunderson, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Steinar H Gunderson

    Anders Hartvoll Ruud added 4 comments

    File third_party/blink/renderer/build/scripts/core/style/make_computed_style_base.py
    Line 381, Patchset 16: property_.field = field
    field.property = property_
    Anders Hartvoll Ruud . unresolved

    I think it would be nice if we somehow communicated that this is the _main_ field for a given property, e.g.:

    ```
    property_.main_field = field
    field.is_main_field_for_property = property
    ```

    Otherwise, readers e.g. `{% field.property %}` may assume that's always set, or assume a 1:1 relationship between fields and properties.

    File third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
    Line 288, Patchset 11:{% macro transition_all_diff(computed_style, properties, with_discrete) %}
    Anders Hartvoll Ruud . resolved

    Assuming I'm reading this correctly, it looks like we dig into fields, and then compare in a property-centric way within that (using `CSSPropertyEquality`). That feels more roundabout than it needs to be:

    Why Can't We Just(TM):

     - Know which properties (CSSPropertyIDs) any given field is associated with (from possibly new information in json5---you may have basically added this already).
    - Diff fields "naively" (like DebugDiff), and set property bits defensively (i.e. marking all properties that could be affected by the field).
    - Leave `CSSPropertyEquality` calls to the existing place that happens in the animation update.
    Steinar H Gunderson

    Isn't this what this patch is doing already? I'm not sure if I understand the difference (no pun intended). Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar? That sounds just wrong to me, we would be setting a zillion background properties if a pointer changed and nothing about FillLayersEqual would be right. (I believe I did this initially, but had to change to using the equality code because a fair amount of tests were failing.)

    Anders Hartvoll Ruud

    Is it that you don't want to call CSSPropertyEquality here but instead rely on base::ValuesEquivalent() or similar?

    Yes.

    That sounds just wrong to me

    Not if the question is "which properties are _possibly_ affected by the field diffs".

    zillion background properties

    Nine properties, yes.

    Steinar H Gunderson

    Done

    Anders Hartvoll Ruud

    Thanks, looks great.

    Line 318, Patchset 16: indent(2, true)}}
    Anders Hartvoll Ruud . unresolved

    nit: Ew, hard tab.

    File third_party/blink/renderer/core/animation/css/css_animations.cc
    Line 2845, Patchset 11: // Very similar to the loop in CalculateTransitionUpdateForStandardProperty(),

    // just a bit more streamlined and adding the Has() check.
    Anders Hartvoll Ruud . resolved

    It would be more clean if we could return the `CSSBitset` as a filter, set all bits on the failure paths, and add the `continue`-check to the existing loop.

    Steinar H Gunderson

    The biggest problem is that the loop is already doing double duty (longhands versus shorthands). If we're making it also handle the bitset case, I believe it becomes even more convoluted. And we'd have to make a fully-set bitset for each longhand property we want to transition?

    Anders Hartvoll Ruud

    Shame. This would be cleaner as a filter avoiding work rather than a separate (duplicate) path.

    And we'd have to make a fully-set bitset for each longhand property we want to transition?

    You mean for e.g. `transition-property: <not all>`? Yeah. Is that bad? It doesn't necessarily sound that bad.

    But OK, disregard this.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Steinar H Gunderson
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 16
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 12:29:11 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Feb 2, 2026, 7:40:10 AM (11 days ago) Feb 2
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 2 comments

    File third_party/blink/renderer/build/scripts/core/style/make_computed_style_base.py
    Line 381, Patchset 16: property_.field = field
    field.property = property_
    Anders Hartvoll Ruud . unresolved

    I think it would be nice if we somehow communicated that this is the _main_ field for a given property, e.g.:

    ```
    property_.main_field = field
    field.is_main_field_for_property = property
    ```

    Otherwise, readers e.g. `{% field.property %}` may assume that's always set, or assume a 1:1 relationship between fields and properties.

    Steinar H Gunderson

    Not sure if I like the “is_”; it sounds like a bool? (Granted, Jinja likes to play hard and fast with boolification, but…) Can we rename field to main_field but keep “property” as-is? Or “field.main_field_property”?

    File third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
    Line 318, Patchset 16: indent(2, true)}}
    Anders Hartvoll Ruud . resolved

    nit: Ew, hard tab.

    Steinar H Gunderson

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 18
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 12:39:55 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Anders Hartvoll Ruud (Gerrit)

    unread,
    Feb 2, 2026, 7:41:20 AM (11 days ago) Feb 2
    to Steinar H Gunderson, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Anders Hartvoll Ruud added 1 comment

    File third_party/blink/renderer/core/animation/css/css_animations.cc
    Anders Hartvoll Ruud . unresolved

    It's risky to assume that we have test coverage here. I'd expect most properties that test transitions do so with a specific property, not via transition:all. When the "all" path and specific path diverge, we effectively no longer test if some specific property can be transitioned correctly via "all".

    Steinar H Gunderson

    From a quick look, we have about 40 different properties that are tested by means of something that is not “transition: all”. Should we try to extend the test coverage by making most of those tests also run an extra time with “transition: all”? Would that be enough?

    Anders Hartvoll Ruud

    Can we add a test which checks that both transition-property:X works _and_ transition-property:all works such that it's easy to add new cases to the suite? Then add a Reasonable Subset of properties in there for now, and then we can pretend we're going to make it complete later.

    E.g. just something like:

    ```
    let cases = [
    // Property name, from-value, to-value, transition at 50%
    ["width", "100px", "200px", "150px"],
    ["height", "100px", "200px", "150px"],
    ["z-index", "100", "200", "150"],
    ];
    ```

    and then spam test functions from that.

    Gerrit-Comment-Date: Mon, 02 Feb 2026 12:41:01 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Anders Hartvoll Ruud <and...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Feb 2, 2026, 8:28:41 AM (11 days ago) Feb 2
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 1 comment

    File third_party/blink/renderer/core/animation/css/css_animations.cc
    Anders Hartvoll Ruud . resolved

    It's risky to assume that we have test coverage here. I'd expect most properties that test transitions do so with a specific property, not via transition:all. When the "all" path and specific path diverge, we effectively no longer test if some specific property can be transitioned correctly via "all".

    Steinar H Gunderson

    From a quick look, we have about 40 different properties that are tested by means of something that is not “transition: all”. Should we try to extend the test coverage by making most of those tests also run an extra time with “transition: all”? Would that be enough?

    Anders Hartvoll Ruud

    Can we add a test which checks that both transition-property:X works _and_ transition-property:all works such that it's easy to add new cases to the suite? Then add a Reasonable Subset of properties in there for now, and then we can pretend we're going to make it complete later.

    E.g. just something like:

    ```
    let cases = [
    // Property name, from-value, to-value, transition at 50%
    ["width", "100px", "200px", "150px"],
    ["height", "100px", "200px", "150px"],
    ["z-index", "100", "200", "150"],
    ];
    ```

    and then spam test functions from that.

    Steinar H Gunderson

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 19
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 13:28:28 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    chromeperf@appspot.gserviceaccount.com (Gerrit)

    unread,
    Feb 2, 2026, 9:49:25 AM (11 days ago) Feb 2
    to Steinar H Gunderson, Code Review Nudger, Anders Hartvoll Ruud, AyeAye, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud and Steinar H Gunderson

    Message from chrom...@appspot.gserviceaccount.com

    📍 Job mac-m1_mini_2020-perf/speedometer3 complete.

    See results at: https://pinpoint-dot-chromeperf.appspot.com/job/12923260f10000

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    • Steinar H Gunderson
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 19
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 14:49:15 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Feb 2, 2026, 10:30:11 AM (11 days ago) Feb 2
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 1 comment

    File third_party/blink/renderer/build/scripts/core/style/make_computed_style_base.py
    Line 381, Patchset 16: property_.field = field
    field.property = property_
    Anders Hartvoll Ruud . unresolved

    I think it would be nice if we somehow communicated that this is the _main_ field for a given property, e.g.:

    ```
    property_.main_field = field
    field.is_main_field_for_property = property
    ```

    Otherwise, readers e.g. `{% field.property %}` may assume that's always set, or assume a 1:1 relationship between fields and properties.

    Steinar H Gunderson

    Not sure if I like the “is_”; it sounds like a bool? (Granted, Jinja likes to play hard and fast with boolification, but…) Can we rename field to main_field but keep “property” as-is? Or “field.main_field_property”?

    Steinar H Gunderson

    I called it main_field_if_property, sounds OK?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Anders Hartvoll Ruud
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 20
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Comment-Date: Mon, 02 Feb 2026 15:29:58 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Feb 2, 2026, 11:29:35 AM (11 days ago) Feb 2
    to Code Review Nudger, Anders Hartvoll Ruud, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Anders Hartvoll Ruud

    Steinar H Gunderson added 1 comment

    File third_party/blink/renderer/build/scripts/core/style/make_computed_style_base.py
    Line 381, Patchset 16: property_.field = field
    field.property = property_
    Anders Hartvoll Ruud . unresolved

    I think it would be nice if we somehow communicated that this is the _main_ field for a given property, e.g.:

    ```
    property_.main_field = field
    field.is_main_field_for_property = property
    ```

    Otherwise, readers e.g. `{% field.property %}` may assume that's always set, or assume a 1:1 relationship between fields and properties.

    Steinar H Gunderson

    Not sure if I like the “is_”; it sounds like a bool? (Granted, Jinja likes to play hard and fast with boolification, but…) Can we rename field to main_field but keep “property” as-is? Or “field.main_field_property”?

    Steinar H Gunderson

    I called it main_field_if_property, sounds OK?

    Steinar H Gunderson

    Uh, that makes no sense. I mean property_if_main_field.

    Gerrit-Comment-Date: Mon, 02 Feb 2026 16:29:20 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Anders Hartvoll Ruud (Gerrit)

    unread,
    Feb 4, 2026, 4:11:27 AM (9 days ago) Feb 4
    to Steinar H Gunderson, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
    Attention needed from Steinar H Gunderson

    Anders Hartvoll Ruud voted and added 3 comments

    Votes added by Anders Hartvoll Ruud

    Code-Review+1

    3 comments

    Patchset-level comments
    Anders Hartvoll Ruud . resolved

    LGTM. Thanks for the patience on this one.

    File third_party/blink/renderer/build/scripts/core/style/make_computed_style_base.py
    Line 381, Patchset 16: property_.field = field
    field.property = property_
    Anders Hartvoll Ruud . resolved

    I think it would be nice if we somehow communicated that this is the _main_ field for a given property, e.g.:

    ```
    property_.main_field = field
    field.is_main_field_for_property = property
    ```

    Otherwise, readers e.g. `{% field.property %}` may assume that's always set, or assume a 1:1 relationship between fields and properties.

    Steinar H Gunderson

    Not sure if I like the “is_”; it sounds like a bool? (Granted, Jinja likes to play hard and fast with boolification, but…) Can we rename field to main_field but keep “property” as-is? Or “field.main_field_property”?

    Steinar H Gunderson

    I called it main_field_if_property, sounds OK?

    Steinar H Gunderson

    Uh, that makes no sense. I mean property_if_main_field.

    Anders Hartvoll Ruud

    Acknowledged; good point about "is_".

    File third_party/blink/web_tests/external/wpt/css/css-transitions/all-interpolates-same-as-explicit-property.html
    Line 57, Patchset 20 (Latest): promise_test(async t => {
    Anders Hartvoll Ruud . unresolved

    I don't think we need a promise here?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Steinar H Gunderson
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
    Gerrit-Change-Number: 7493822
    Gerrit-PatchSet: 20
    Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
    Gerrit-Comment-Date: Wed, 04 Feb 2026 09:11:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Steinar H Gunderson (Gerrit)

    unread,
    Feb 4, 2026, 4:48:09 AM (9 days ago) Feb 4
    to Anders Hartvoll Ruud, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org

    Steinar H Gunderson voted and added 1 comment

    Votes added by Steinar H Gunderson

    Commit-Queue+2

    1 comment

    File third_party/blink/web_tests/external/wpt/css/css-transitions/all-interpolates-same-as-explicit-property.html
    Line 57, Patchset 20 (Latest): promise_test(async t => {
    Anders Hartvoll Ruud . resolved

    I don't think we need a promise here?

    Steinar H Gunderson

    The addDiv() requires it, seemingly. (I mostly copied another test.)

    Open in Gerrit

    Related details

    Attention set is empty
    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: Iea61d1455265443c131729ae63c20bcbc39deaea
      Gerrit-Change-Number: 7493822
      Gerrit-PatchSet: 20
      Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Steinar H Gunderson <se...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Comment-Date: Wed, 04 Feb 2026 09:47:38 +0000
      satisfied_requirement
      open
      diffy

      Blink W3C Test Autoroller (Gerrit)

      unread,
      Feb 4, 2026, 5:24:48 AM (9 days ago) Feb 4
      to Steinar H Gunderson, Chromium LUCI CQ, Anders Hartvoll Ruud, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org
      Attention needed from Steinar H Gunderson

      Message from Blink W3C Test Autoroller

      Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/57560.

      When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.

      WPT Export docs:
      https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Steinar H Gunderson
      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: Iea61d1455265443c131729ae63c20bcbc39deaea
      Gerrit-Change-Number: 7493822
      Gerrit-PatchSet: 20
      Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Steinar H Gunderson <se...@chromium.org>
      Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Attention: Steinar H Gunderson <se...@chromium.org>
      Gerrit-Comment-Date: Wed, 04 Feb 2026 10:24:40 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy

      Steinar H Gunderson (Gerrit)

      unread,
      Feb 4, 2026, 5:39:26 AM (9 days ago) Feb 4
      to Blink W3C Test Autoroller, Chromium LUCI CQ, Anders Hartvoll Ruud, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org

      Steinar H Gunderson voted Commit-Queue+2

      Commit-Queue+2
      Open in Gerrit

      Related details

      Attention set is empty
      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: Iea61d1455265443c131729ae63c20bcbc39deaea
      Gerrit-Change-Number: 7493822
      Gerrit-PatchSet: 20
      Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Steinar H Gunderson <se...@chromium.org>
      Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Comment-Date: Wed, 04 Feb 2026 10:38:55 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      open
      diffy

      Chromium LUCI CQ (Gerrit)

      unread,
      Feb 4, 2026, 7:38:18 AM (9 days ago) Feb 4
      to Steinar H Gunderson, Blink W3C Test Autoroller, Anders Hartvoll Ruud, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org

      Chromium LUCI CQ submitted the change

      Change information

      Commit message:
      Add a fast path for comparing fields in “transition: all”.

      If the author writes “transition: all”, we essentially treat that
      as a shorthand with 100+ longhands. However, most of the time,
      almost all of those longhands will end up early-aborting due to
      the old and new properties being the same. Do that comparison
      up-front instead; this allows us to skip entire groups if they
      are shared, and also allows straight-line comparison code
      instead of going through a large switch every time.

      Speedometer3 (M1 Pinpoint, LTO but no PGO, significant results
      at 99% CI only):

      TodoMVC-Preact-Complex-DOM [ -1.3%, -0.0%]
      TodoMVC-JavaScript-ES6-Webpack-Complex-DOM [ -1.0%, -0.2%]
      NewsSite-Next [ -1.6%, -1.1%]
      NewsSite-Nuxt [ -1.6%, -1.3%]

      Score [ +0.1%, +0.4%]
      Bug: 475091954
      Change-Id: Iea61d1455265443c131729ae63c20bcbc39deaea
      Reviewed-by: Anders Hartvoll Ruud <and...@chromium.org>
      Commit-Queue: Steinar H Gunderson <se...@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#1579359}
      Files:
      • M third_party/blink/renderer/build/scripts/core/css/css_properties.py
      • M third_party/blink/renderer/build/scripts/core/style/computed_style_fields.py
      • M third_party/blink/renderer/build/scripts/core/style/make_computed_style_base.py
      • M third_party/blink/renderer/build/scripts/core/style/templates/computed_style_base.cc.tmpl
      • M third_party/blink/renderer/build/scripts/core/style/templates/computed_style_base.h.tmpl
      • M third_party/blink/renderer/build/scripts/templates/fields/field.tmpl
      • M third_party/blink/renderer/core/animation/css/css_animations.cc
      • M third_party/blink/renderer/core/animation/css/css_animations.h
      • M third_party/blink/renderer/core/css/css_properties.json5
      • A third_party/blink/web_tests/external/wpt/css/css-transitions/all-interpolates-same-as-explicit-property.html
      Change size: L
      Delta: 10 files changed, 456 insertions(+), 37 deletions(-)
      Branch: refs/heads/main
      Submit Requirements:
      • requirement satisfiedCode-Review: +1 by Anders Hartvoll Ruud
      Open in Gerrit
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: merged
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: Iea61d1455265443c131729ae63c20bcbc39deaea
      Gerrit-Change-Number: 7493822
      Gerrit-PatchSet: 21
      Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Steinar H Gunderson <se...@chromium.org>
      Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
      open
      diffy
      satisfied_requirement

      Blink W3C Test Autoroller (Gerrit)

      unread,
      Feb 4, 2026, 8:28:54 AM (9 days ago) Feb 4
      to Chromium LUCI CQ, Steinar H Gunderson, Anders Hartvoll Ruud, Code Review Nudger, AyeAye, chrom...@appspot.gserviceaccount.com, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-revie...@chromium.org, cblume...@chromium.org, devtools...@chromium.org, penghuan...@chromium.org, apavlo...@chromium.org, blink-re...@chromium.org, blink-revie...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org

      Message from Blink W3C Test Autoroller

      The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/57560

      Open in Gerrit

      Related details

      Attention set is empty
      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: Iea61d1455265443c131729ae63c20bcbc39deaea
      Gerrit-Change-Number: 7493822
      Gerrit-PatchSet: 21
      Gerrit-Owner: Steinar H Gunderson <se...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
      Gerrit-Reviewer: Steinar H Gunderson <se...@chromium.org>
      Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
      Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Comment-Date: Wed, 04 Feb 2026 13:28:49 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages