[anchor] Request main frame animation for delayed animation start. [chromium/src : main]

0 views
Skip to first unread message

Morten Stenshorne (Gerrit)

unread,
Jan 14, 2026, 6:09:21 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 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

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: 2
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 11:09:08 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Rune Lillesveen (Gerrit)

unread,
Jan 14, 2026, 6:22:24 AM (9 days ago) Jan 14
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 added 2 comments

File third_party/blink/renderer/core/dom/element.cc
Line 5750, Patchset 2 (Latest): } else if (layout_object->MayContainAnchor() && old_style &&
Rune Lillesveen . unresolved

Can you have a layout_object and a null old_style at the same time? We do access old_style without a nullptr check a bit further up.

Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

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: 2
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: Wed, 14 Jan 2026 11:22:10 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Morten Stenshorne <mste...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Morten Stenshorne (Gerrit)

unread,
Jan 14, 2026, 6:28:35 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

File third_party/blink/renderer/core/dom/element.cc
Line 5750, Patchset 2 (Latest): } else if (layout_object->MayContainAnchor() && old_style &&
Rune Lillesveen . unresolved

Can you have a layout_object and a null old_style at the same time? We do access old_style without a nullptr check a bit further up.

Morten Stenshorne

Uhm.. yeah, that seems impossible. I was unsure about old_style. There are some scattered nullptr checks above, but not consistently so.

I'll deal with this if we decide to keep the code here.

Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

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: 2
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 11:28:19 +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

Rune Lillesveen (Gerrit)

unread,
Jan 14, 2026, 6:30:34 AM (9 days ago) Jan 14
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 added 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

Rune Lillesveen

OK, so that's the reason. The pattern we've used before is to force apply_changes to kYes. Will that be a problem in this case?

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: 2
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: Wed, 14 Jan 2026 11:30:17 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Morten Stenshorne (Gerrit)

unread,
Jan 14, 2026, 6:37:13 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 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

Rune Lillesveen

OK, so that's the reason. The pattern we've used before is to force apply_changes to kYes. Will that be a problem in this case?

Morten Stenshorne

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

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: 2
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 11:36:53 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Rune Lillesveen (Gerrit)

unread,
Jan 14, 2026, 6:51:01 AM (9 days ago) Jan 14
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 added 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

Rune Lillesveen

OK, so that's the reason. The pattern we've used before is to force apply_changes to kYes. Will that be a problem in this case?

Morten Stenshorne

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

I haven't seen the 'spaghetti', so it's a bit hard to tell, but I'm leaning towards having the logic in LayoutObject. How 'spaghetti' is it?

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: 2
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: Wed, 14 Jan 2026 11:50:43 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Morten Stenshorne (Gerrit)

unread,
Jan 14, 2026, 7:11:50 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 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

Rune Lillesveen

OK, so that's the reason. The pattern we've used before is to force apply_changes to kYes. Will that be a problem in this case?

Morten Stenshorne

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

I haven't seen the 'spaghetti', so it's a bit hard to tell, but I'm leaning towards having the logic in LayoutObject. How 'spaghetti' is it?

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: 2
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 12:11:30 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Rune Lillesveen (Gerrit)

unread,
Jan 14, 2026, 7:13:45 AM (9 days ago) Jan 14
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 added 1 comment

File third_party/blink/renderer/core/dom/element.cc
Line 5757, Patchset 2 (Latest): layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . unresolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

Rune Lillesveen

OK, so that's the reason. The pattern we've used before is to force apply_changes to kYes. Will that be a problem in this case?

Morten Stenshorne

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

I haven't seen the 'spaghetti', so it's a bit hard to tell, but I'm leaning towards having the logic in LayoutObject. How 'spaghetti' is it?

Morten Stenshorne

Oh, it's just this: https://chromium-review.googlesource.com/c/chromium/src/+/7451459/1/third_party/blink/renderer/core/layout/layout_object.cc

Maybe it's just macaroni.

Rune Lillesveen

I love macaroni.

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: 2
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: Wed, 14 Jan 2026 12:13:28 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Morten Stenshorne (Gerrit)

unread,
Jan 14, 2026, 8:02:47 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

File third_party/blink/renderer/core/dom/element.cc
Line 5750, Patchset 2: } else if (layout_object->MayContainAnchor() && old_style &&
Rune Lillesveen . resolved

Can you have a layout_object and a null old_style at the same time? We do access old_style without a nullptr check a bit further up.

Morten Stenshorne

Uhm.. yeah, that seems impossible. I was unsure about old_style. There are some scattered nullptr checks above, but not consistently so.

I'll deal with this if we decide to keep the code here.

Morten Stenshorne

Done

Line 5757, Patchset 2: layout_object->SetNeedsLayout(layout_invalidation_reason::kStyleChange);
Morten Stenshorne . resolved

Okay with SetNeedsLayout() here?
Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

Why can't we handle this in LayoutObject::SetStyle() instead?

Morten Stenshorne

Sure, we can do that - before the `apply_changes == ApplyStyleChanges::kNo` check. Would you prefer that?

Rune Lillesveen

OK, so that's the reason. The pattern we've used before is to force apply_changes to kYes. Will that be a problem in this case?

Morten Stenshorne

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

Rune Lillesveen

I don't think so, and it was my actually my initial approach, before I came up with this, which was less "spaghetti" and easier to reason about (well, that was my impression, anyway).

In fact, this alternative approach is also what I'm asking about in my first comment here:

Another option would be to set apply_changes to yes here, and then mark for layout somewhere in Style{Will,Did}Change.

I haven't seen the 'spaghetti', so it's a bit hard to tell, but I'm leaning towards having the logic in LayoutObject. How 'spaghetti' is it?

Morten Stenshorne

Oh, it's just this: https://chromium-review.googlesource.com/c/chromium/src/+/7451459/1/third_party/blink/renderer/core/layout/layout_object.cc

Maybe it's just macaroni.

Rune Lillesveen

I love macaroni.

Morten Stenshorne

Done

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: 4
    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 13:02:33 +0000
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Rune Lillesveen (Gerrit)

    unread,
    Jan 14, 2026, 8:20:57 AM (9 days ago) Jan 14
    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 added 4 comments

    Commit Message
    Line 7, Patchset 4 (Latest):[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?

    Line 12, Patchset 4 (Latest):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?

    File third_party/blink/web_tests/external/wpt/css/css-anchor-position/transform-016.html
    Line 2, Patchset 4 (Latest):<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?

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

    Why try/catch this one?

    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: 4
      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: Wed, 14 Jan 2026 13:20:38 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Morten Stenshorne (Gerrit)

      unread,
      Jan 14, 2026, 8:27:20 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 4 comments

      Commit Message
      Line 7, Patchset 4 (Latest):[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 . 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.

      File third_party/blink/web_tests/external/wpt/css/css-anchor-position/transform-016.html
      Line 2, Patchset 4 (Latest):<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.

      Line 51, Patchset 4 (Latest): 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.

      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: 4
      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 13:27:02 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Rune Lillesveen <fut...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Rune Lillesveen (Gerrit)

      unread,
      Jan 14, 2026, 8:31:29 AM (9 days ago) Jan 14
      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 added 2 comments

      Commit Message
      Line 7, Patchset 4 (Latest):[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.

      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().

      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: 4
      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: Wed, 14 Jan 2026 13:31:10 +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
      Reply all
      Reply to author
      Forward
      0 new messages