[anchor] Main thread animation if first frame doesn't change anything. [chromium/src : main]

0 views
Skip to first unread message

Morten Stenshorne (Gerrit)

unread,
Jan 14, 2026, 9:55:17 AM (9 days ago) Jan 14
to Rune Lillesveen, Stefan Zager, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Rune Lillesveen and Stefan Zager

Morten Stenshorne added 2 comments

Commit Message
Line 7, Patchset 4:[anchor] Request main frame animation for delayed animation start.
Rune Lillesveen . unresolved

"start" and "delayed" have very specific meanings in the animation space. This is about running animations where the applied effect does not change the style of the element, right?

Morten Stenshorne

That's right. If there are no style changes at the very beginning of the animation, layout would fail to respond on any style changes that would happen later on during the animation.

Rune Lillesveen

I don't understand why.

Morten Stenshorne

We have discussed on the outside of this review already, and I've also updated the CL's description. Hopefully this is clearer now.

Line 12, Patchset 4:needed.
Rune Lillesveen . unresolved

Why don't we get a re-layout when the applied translateX() animation starts applying translations different from 0 on the main thread without the change in this CL?

Morten Stenshorne

Because it all happens on the compositor thread otherwise, I suppose.

Rune Lillesveen

The animation has to apply its effects on the main thread too. Otherwise you get the wrong results from getComputedStyle().

Morten Stenshorne

getComputedStyle() itself will run on the main thread, and therefore ensure that the styles are updated before it returns. However, if the animation is running on the compositor thread, and nothing plucks the main thread in the meantime (getComputedStyle(), wiggling the mouse, etc.) computed style won't be updated for the entire duration of the animation.

Open in Gerrit

Related details

Attention is currently required from:
  • Rune Lillesveen
  • Stefan Zager
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement 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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
Gerrit-Change-Number: 7451459
Gerrit-PatchSet: 6
Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
Gerrit-Attention: Stefan Zager <sza...@chromium.org>
Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
Gerrit-Comment-Date: Wed, 14 Jan 2026 14:55:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Rune Lillesveen <fut...@chromium.org>
Comment-In-Reply-To: Morten Stenshorne <mste...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Stefan Zager (Gerrit)

unread,
Jan 14, 2026, 3:55:01 PM (9 days ago) Jan 14
to Morten Stenshorne, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Morten Stenshorne and Rune Lillesveen

Stefan Zager voted and added 1 comment

Votes added by Stefan Zager

Code-Review+1

1 comment

Patchset-level comments
File-level comment, Patchset 6 (Latest):
Stefan Zager . resolved

lgtm

Open in Gerrit

Related details

Attention is currently required from:
  • Morten Stenshorne
  • Rune Lillesveen
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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
    Gerrit-Change-Number: 7451459
    Gerrit-PatchSet: 6
    Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
    Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Comment-Date: Wed, 14 Jan 2026 20:54:49 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Jan 15, 2026, 4:21:40 AM (8 days ago) Jan 15
    to Morten Stenshorne, Stefan Zager, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from Morten Stenshorne

    Rune Lillesveen added 1 comment

    Commit Message
    Line 7, Patchset 4:[anchor] Request main frame animation for delayed animation start.
    Rune Lillesveen . unresolved

    "start" and "delayed" have very specific meanings in the animation space. This is about running animations where the applied effect does not change the style of the element, right?

    Morten Stenshorne

    That's right. If there are no style changes at the very beginning of the animation, layout would fail to respond on any style changes that would happen later on during the animation.

    Rune Lillesveen

    I don't understand why.

    Morten Stenshorne

    We have discussed on the outside of this review already, and I've also updated the CL's description. Hopefully this is clearer now.

    Rune Lillesveen

    More discussion outside the review: we think the IsRunningTransformRelatedAnimationOnCompositor flag should not be custom_compare anymore, since it can affect invalidation.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Morten Stenshorne
    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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
    Gerrit-Change-Number: 7451459
    Gerrit-PatchSet: 6
    Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
    Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
    Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
    Gerrit-Comment-Date: Thu, 15 Jan 2026 09:21:27 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Morten Stenshorne (Gerrit)

    unread,
    Jan 16, 2026, 3:28:29 AM (7 days ago) Jan 16
    to Stefan Zager, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from Rune Lillesveen and Stefan Zager

    Morten Stenshorne added 1 comment

    Commit Message
    Line 7, Patchset 4:[anchor] Request main frame animation for delayed animation start.
    Rune Lillesveen . unresolved

    "start" and "delayed" have very specific meanings in the animation space. This is about running animations where the applied effect does not change the style of the element, right?

    Morten Stenshorne

    That's right. If there are no style changes at the very beginning of the animation, layout would fail to respond on any style changes that would happen later on during the animation.

    Rune Lillesveen

    I don't understand why.

    Morten Stenshorne

    We have discussed on the outside of this review already, and I've also updated the CL's description. Hopefully this is clearer now.

    Rune Lillesveen

    More discussion outside the review: we think the IsRunningTransformRelatedAnimationOnCompositor flag should not be custom_compare anymore, since it can affect invalidation.

    Morten Stenshorne

    I did this in the latest patch set, uploaded yesterday. However, this change will break the `ComputedStyleTest.AnimationFlags` unit test.

    The test currently allows for two types of results. A flag change is expected to either trigger `!HasDifference()` and `ComputedStyle::Difference::kEqual`, or it should trigger `HasDifference()` and a specific expected `ComputedStyle::Difference` value.

    Now we end up with `!HasDifference()` and `ComputedStyle::Difference::kNonInherited`.

    Not sure if we should allow for that to happen.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Rune Lillesveen
    • Stefan Zager
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement 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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
      Gerrit-Change-Number: 7451459
      Gerrit-PatchSet: 8
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
      Gerrit-Comment-Date: Fri, 16 Jan 2026 08:28:12 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rune Lillesveen (Gerrit)

      unread,
      Jan 16, 2026, 3:50:17 AM (7 days ago) Jan 16
      to Morten Stenshorne, Stefan Zager, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Morten Stenshorne and Stefan Zager

      Rune Lillesveen added 1 comment

      Commit Message
      Line 7, Patchset 4:[anchor] Request main frame animation for delayed animation start.
      Rune Lillesveen . unresolved

      "start" and "delayed" have very specific meanings in the animation space. This is about running animations where the applied effect does not change the style of the element, right?

      Morten Stenshorne

      That's right. If there are no style changes at the very beginning of the animation, layout would fail to respond on any style changes that would happen later on during the animation.

      Rune Lillesveen

      I don't understand why.

      Morten Stenshorne

      We have discussed on the outside of this review already, and I've also updated the CL's description. Hopefully this is clearer now.

      Rune Lillesveen

      More discussion outside the review: we think the IsRunningTransformRelatedAnimationOnCompositor flag should not be custom_compare anymore, since it can affect invalidation.

      Morten Stenshorne

      I did this in the latest patch set, uploaded yesterday. However, this change will break the `ComputedStyleTest.AnimationFlags` unit test.

      The test currently allows for two types of results. A flag change is expected to either trigger `!HasDifference()` and `ComputedStyle::Difference::kEqual`, or it should trigger `HasDifference()` and a specific expected `ComputedStyle::Difference` value.

      Now we end up with `!HasDifference()` and `ComputedStyle::Difference::kNonInherited`.

      Not sure if we should allow for that to happen.

      Rune Lillesveen

      I think that's expected if you don't have an `invalidation` entry for your property/flag in the relevant json file.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Morten Stenshorne
      • Stefan Zager
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement 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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
      Gerrit-Change-Number: 7451459
      Gerrit-PatchSet: 8
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Comment-Date: Fri, 16 Jan 2026 08:50:02 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Morten Stenshorne (Gerrit)

      unread,
      Jan 16, 2026, 6:36:39 AM (7 days ago) Jan 16
      to Stefan Zager, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Rune Lillesveen and Stefan Zager

      Morten Stenshorne added 1 comment

      Commit Message
      Line 7, Patchset 4:[anchor] Request main frame animation for delayed animation start.
      Rune Lillesveen . resolved

      "start" and "delayed" have very specific meanings in the animation space. This is about running animations where the applied effect does not change the style of the element, right?

      Morten Stenshorne

      That's right. If there are no style changes at the very beginning of the animation, layout would fail to respond on any style changes that would happen later on during the animation.

      Rune Lillesveen

      I don't understand why.

      Morten Stenshorne

      We have discussed on the outside of this review already, and I've also updated the CL's description. Hopefully this is clearer now.

      Rune Lillesveen

      More discussion outside the review: we think the IsRunningTransformRelatedAnimationOnCompositor flag should not be custom_compare anymore, since it can affect invalidation.

      Morten Stenshorne

      I did this in the latest patch set, uploaded yesterday. However, this change will break the `ComputedStyleTest.AnimationFlags` unit test.

      The test currently allows for two types of results. A flag change is expected to either trigger `!HasDifference()` and `ComputedStyle::Difference::kEqual`, or it should trigger `HasDifference()` and a specific expected `ComputedStyle::Difference` value.

      Now we end up with `!HasDifference()` and `ComputedStyle::Difference::kNonInherited`.

      Not sure if we should allow for that to happen.

      Rune Lillesveen

      I think that's expected if you don't have an `invalidation` entry for your property/flag in the relevant json file.

      Morten Stenshorne

      Ok, fixed the test.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Rune Lillesveen
      • Stefan Zager
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement 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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
      Gerrit-Change-Number: 7451459
      Gerrit-PatchSet: 12
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
      Gerrit-Comment-Date: Fri, 16 Jan 2026 11:36:22 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rune Lillesveen (Gerrit)

      unread,
      Jan 16, 2026, 7:31:35 AM (7 days ago) Jan 16
      to Morten Stenshorne, Stefan Zager, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Morten Stenshorne and Stefan Zager

      Rune Lillesveen added 3 comments

      Commit Message
      Rune Lillesveen . resolved

      Why don't we get a re-layout when the applied translateX() animation starts applying translations different from 0 on the main thread without the change in this CL?

      Morten Stenshorne

      Because it all happens on the compositor thread otherwise, I suppose.

      Rune Lillesveen

      The animation has to apply its effects on the main thread too. Otherwise you get the wrong results from getComputedStyle().

      Morten Stenshorne

      getComputedStyle() itself will run on the main thread, and therefore ensure that the styles are updated before it returns. However, if the animation is running on the compositor thread, and nothing plucks the main thread in the meantime (getComputedStyle(), wiggling the mouse, etc.) computed style won't be updated for the entire duration of the animation.

      Rune Lillesveen

      Acknowledged

      File third_party/blink/web_tests/external/wpt/css/css-anchor-position/transform-016.html
      Line 2, Patchset 4:<title>Animated anchor transform, delayed animation start</title>
      Rune Lillesveen . unresolved

      I don't see any delayed start of the animation here? You mean the animation stays at translateX(0) for half the animation?

      Morten Stenshorne

      Yes, that's it.

      Rune Lillesveen

      "animation effect not changing computed value" or something, then?

      Line 51, Patchset 4: try { await done.promise; } catch(e) {}
      Rune Lillesveen . unresolved

      Why try/catch this one?

      Morten Stenshorne

      I think I got the test runner to freeze or crash otherwise, at least if the test fails.

      Rune Lillesveen

      If this throws an exception while got_halfway is set to true, we will silently pass, right?

      We should make catching an exception here make the test fail, right?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Morten Stenshorne
      • Stefan Zager
      Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement 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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
      Gerrit-Change-Number: 7451459
      Gerrit-PatchSet: 12
      Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
      Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Stefan Zager <sza...@chromium.org>
      Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
      Gerrit-Comment-Date: Fri, 16 Jan 2026 12:31:22 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Morten Stenshorne (Gerrit)

      unread,
      Jan 19, 2026, 3:52:43 AM (4 days ago) Jan 19
      to Stefan Zager, Rune Lillesveen, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
      Attention needed from Rune Lillesveen and Stefan Zager

      Morten Stenshorne added 2 comments

      File third_party/blink/web_tests/external/wpt/css/css-anchor-position/transform-016.html
      Line 2, Patchset 4:<title>Animated anchor transform, delayed animation start</title>
      Rune Lillesveen . resolved

      I don't see any delayed start of the animation here? You mean the animation stays at translateX(0) for half the animation?

      Morten Stenshorne

      Yes, that's it.

      Rune Lillesveen

      "animation effect not changing computed value" or something, then?

      Morten Stenshorne

      Done

      Line 51, Patchset 4: try { await done.promise; } catch(e) {}
      Rune Lillesveen . resolved

      Why try/catch this one?

      Morten Stenshorne

      I think I got the test runner to freeze or crash otherwise, at least if the test fails.

      Rune Lillesveen

      If this throws an exception while got_halfway is set to true, we will silently pass, right?

      We should make catching an exception here make the test fail, right?

      Morten Stenshorne

      Since I don't quite remember why I added this, and since it passes without it, I'll just remove the try-catch.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Rune Lillesveen
      • Stefan Zager
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement 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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
        Gerrit-Change-Number: 7451459
        Gerrit-PatchSet: 13
        Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
        Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
        Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
        Gerrit-Attention: Stefan Zager <sza...@chromium.org>
        Gerrit-Attention: Rune Lillesveen <fut...@chromium.org>
        Gerrit-Comment-Date: Mon, 19 Jan 2026 08:52:31 +0000
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Rune Lillesveen (Gerrit)

        unread,
        Jan 19, 2026, 3:55:05 AM (4 days ago) Jan 19
        to Morten Stenshorne, Rune Lillesveen, Stefan Zager, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
        Attention needed from Morten Stenshorne and Stefan Zager

        Rune Lillesveen voted and added 1 comment

        Votes added by Rune Lillesveen

        Code-Review+1

        1 comment

        File third_party/blink/web_tests/external/wpt/css/css-anchor-position/transform-016.html
        Line 51, Patchset 4: try { await done.promise; } catch(e) {}
        Rune Lillesveen . resolved

        Why try/catch this one?

        Morten Stenshorne

        I think I got the test runner to freeze or crash otherwise, at least if the test fails.

        Rune Lillesveen

        If this throws an exception while got_halfway is set to true, we will silently pass, right?

        We should make catching an exception here make the test fail, right?

        Morten Stenshorne

        Since I don't quite remember why I added this, and since it passes without it, I'll just remove the try-catch.

        Rune Lillesveen

        👍

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Morten Stenshorne
        • Stefan Zager
        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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
          Gerrit-Change-Number: 7451459
          Gerrit-PatchSet: 13
          Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
          Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
          Gerrit-Attention: Stefan Zager <sza...@chromium.org>
          Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Comment-Date: Mon, 19 Jan 2026 08:54:49 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Blink W3C Test Autoroller (Gerrit)

          unread,
          Jan 19, 2026, 3:57:15 AM (4 days ago) Jan 19
          to Morten Stenshorne, Rune Lillesveen, Stefan Zager, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
          Attention needed from Morten Stenshorne and Stefan Zager

          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/57230.

          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:
          • Morten Stenshorne
          • Stefan Zager
          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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
          Gerrit-Change-Number: 7451459
          Gerrit-PatchSet: 13
          Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
          Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          Gerrit-Attention: Stefan Zager <sza...@chromium.org>
          Gerrit-Attention: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Comment-Date: Mon, 19 Jan 2026 08:57:02 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: No
          satisfied_requirement
          open
          diffy

          Morten Stenshorne (Gerrit)

          unread,
          Jan 19, 2026, 5:26:45 AM (4 days ago) Jan 19
          to Blink W3C Test Autoroller, Rune Lillesveen, Stefan Zager, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org
          Attention needed from Stefan Zager

          Morten Stenshorne voted Commit-Queue+2

          Commit-Queue+2
          Open in Gerrit

          Related details

          Attention is currently required from:
          • Stefan Zager
          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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
          Gerrit-Change-Number: 7451459
          Gerrit-PatchSet: 14
          Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
          Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          Gerrit-Attention: Stefan Zager <sza...@chromium.org>
          Gerrit-Comment-Date: Mon, 19 Jan 2026 10:26:30 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          open
          diffy

          Chromium LUCI CQ (Gerrit)

          unread,
          Jan 19, 2026, 6:13:01 AM (4 days ago) Jan 19
          to Morten Stenshorne, Blink W3C Test Autoroller, Rune Lillesveen, Stefan Zager, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.org

          Chromium LUCI CQ submitted the change

          Unreviewed changes

          13 is the latest approved patch-set.
          No files were changed between the latest approved patch-set and the submitted one.

          Change information

          Commit message:
          [anchor] Main thread animation if first frame doesn't change anything.

          This is a follow-up to https://crrev.com/c/7123703 , but it was blocked
          on other problems, which got fixed by https://crrev.com/c/7239030 . We
          can now get anchor animations that don't change any styles right away
          (i.e. no visual updates until further into the animation) to trigger
          relayout of anchor-positioned elements when needed.

          If the very first animation frame actually has style changes that affect
          layout (e.g. transforms that affect an anchor), we still haven't moved
          the work off the main thread, and we'll therefore lay out, and by doing
          that, HasRunningAnchorTransformAnimation() in PhysicalFragment will
          return true, which in turn will make sure that the animation keeps
          running on the main thread. This was already working.

          On the other hand, if the first frame of an animation *doesn't* change
          style that affects layout, the animation would be moved to the
          compositor thread, and we'd never hear from it again, not even when any
          style changes actually occur later on. To fix this, detect that a
          transform-related animation wants to run on the compositor, mark for
          layout, so that the physical fragments get updated for
          HasRunningAnchorTransformAnimation(), so that we'll be able to keep the
          animation on the main thread

          Note: The test included would only fail with run_wpt_tests, not
          run_web_tests.
          Bug: 382294252
          Change-Id: I193c354f0e28b4b908d75ce1b200c2c8142be43c
          Commit-Queue: Morten Stenshorne <mste...@chromium.org>
          Reviewed-by: Rune Lillesveen <fut...@chromium.org>
          Cr-Commit-Position: refs/heads/main@{#1571069}
          Files:
          • M third_party/blink/renderer/core/layout/layout_object.cc
          • M third_party/blink/renderer/core/style/computed_style.h
          • M third_party/blink/renderer/core/style/computed_style_extra_fields.json5
          • M third_party/blink/renderer/core/style/computed_style_test.cc
          • A third_party/blink/web_tests/external/wpt/css/css-anchor-position/transform-016.html
          Change size: M
          Delta: 5 files changed, 76 insertions(+), 20 deletions(-)
          Branch: refs/heads/main
          Submit Requirements:
          • requirement satisfiedCode-Review: +1 by Rune Lillesveen
          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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
          Gerrit-Change-Number: 7451459
          Gerrit-PatchSet: 15
          Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
          open
          diffy
          satisfied_requirement

          Blink W3C Test Autoroller (Gerrit)

          unread,
          Jan 19, 2026, 6:47:50 AM (4 days ago) Jan 19
          to Chromium LUCI CQ, Morten Stenshorne, Rune Lillesveen, Stefan Zager, AyeAye, chromium...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-revie...@chromium.org, blink-...@chromium.org, zol...@webkit.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/57230

          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: I193c354f0e28b4b908d75ce1b200c2c8142be43c
          Gerrit-Change-Number: 7451459
          Gerrit-PatchSet: 15
          Gerrit-Owner: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
          Gerrit-Reviewer: Morten Stenshorne <mste...@chromium.org>
          Gerrit-Reviewer: Rune Lillesveen <fut...@chromium.org>
          Gerrit-Reviewer: Stefan Zager <sza...@chromium.org>
          Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
          Gerrit-Comment-Date: Mon, 19 Jan 2026 11:47:44 +0000
          Gerrit-HasComments: No
          Gerrit-Has-Labels: No
          satisfied_requirement
          open
          diffy
          Reply all
          Reply to author
          Forward
          0 new messages