[animation-trigger] Implement trigger-scope [chromium/src : main]

0 views
Skip to first unread message

David Awogbemila (Gerrit)

unread,
Dec 4, 2025, 7:25:29 PM (5 days ago) Dec 4
to Anders Hartvoll Ruud, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from Anders Hartvoll Ruud

David Awogbemila added 1 comment

Patchset-level comments
File-level comment, Patchset 7 (Latest):
David Awogbemila . resolved

Hi Anders, ptal at this trigger-scope implementation, thanks.
I've tried to unify the parts that are shared with anchor-scope.

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 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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
Gerrit-Change-Number: 7222830
Gerrit-PatchSet: 7
Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
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, 05 Dec 2025 00:25:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Anders Hartvoll Ruud (Gerrit)

unread,
Dec 5, 2025, 8:26:29 AM (5 days ago) Dec 5
to David Awogbemila, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
Attention needed from David Awogbemila

Anders Hartvoll Ruud added 8 comments

Patchset-level comments
File-level comment, Patchset 8 (Latest):
Anders Hartvoll Ruud . resolved

Generally looks reasonable. I just have some comments on naming/readability, etc.

File third_party/blink/renderer/core/dom/trigger_scope.h
Line 20, Patchset 8 (Latest):typedef GCedHeapHashMap<Member<const ScopedTrigger>, Member<AnimationTrigger>>
Anders Hartvoll Ruud . unresolved

I think we prefer `using`?

Line 16, Patchset 8 (Latest):using ScopedTrigger = NamingScope;
Anders Hartvoll Ruud . unresolved

`TriggerScopedName`?


It's tricky, because these terms are overloaded in multiple ways:

"Scope triggers" is already something you can add to an element in relation to something else (`@scope`): https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/resolver/scoped_style_resolver.cc;bpv=1;bpt=1;l=490?q=StyleResolver::AddImplicitScopeTrigger . Although it's not a widely-known concept, I'd like to avoid confusing these as much as possible.

"Scoped" already means "scoped as in TreeScope/ShadowDOM" in many cases. We've since gained other kinds of scoping: anchor-scope-scoping, trigger-scope-scoping. `TriggerScopedName` _hopefully_ indicates that this is scoped per `trigger-scope`, and not some other scoping mechanism.

Suggestion:

```
// A name scoped according to the 'trigger-scope' property.
//
// https://link-to-property-in-spec
using TriggerScopedName = NamingScope;
```

And similarly for `AnchorScopedName`.

Line 5, Patchset 8 (Latest):#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_TRIGGER_SCOPE_H_
Anders Hartvoll Ruud . unresolved

I think we should call this `trigger_scoped_name.h/cc`.

(`anchor_scope.h` should probably also have been `anchor_scoped_name.h/cc`)

File third_party/blink/renderer/core/layout/fragment_builder.cc
Line 353, Patchset 8 (Latest): PropagateScopedTriggers(child);
Anders Hartvoll Ruud . unresolved

As mentioned elsewhere, I'd avoid "ScopedTrigger". I think we can probably just keep "NamedTrigger" for the function names, but now deal with objects of type `TriggerScopedName`s?

File third_party/blink/renderer/core/layout/naming_scope.h
Line 37, Patchset 8 (Latest): static const Element* FindScopeElement(
const ScopedCSSName& name,
const Element& start_element,
base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
Anders Hartvoll Ruud . unresolved

Let's explain a bit here:

```suggestion
// This function finds an element in the inclusive-ancestor chain
// of `start_element` that scopes `name` to that element via some property,
// e.g. 'anchor-scope'.
static const Element* FindScopeElement(
const ScopedCSSName& name,
const Element& start_element,
base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
```
Line 16, Patchset 8 (Latest):class CORE_EXPORT NamingScope : public GarbageCollected<NamingScope> {
Anders Hartvoll Ruud . unresolved

Especially now as a more general util, this could really use some documentation explaining what it's for.

File third_party/blink/renderer/core/style/style_name_scope.h
Line 46, Patchset 8 (Latest): static bool IsWithinScope(const ScopedCSSName& lookup_name,
const StyleNameScope& scope);
static const Element* FindScopeElement(
const ScopedCSSName& name,
const Element& start_element,
base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
Anders Hartvoll Ruud . unresolved

I guess these ended up not being defined in `StyleNameScope`?

Open in Gerrit

Related details

Attention is currently required from:
  • David Awogbemila
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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
    Gerrit-Change-Number: 7222830
    Gerrit-PatchSet: 8
    Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: David Awogbemila <awogb...@chromium.org>
    Gerrit-Comment-Date: Fri, 05 Dec 2025 13:26:15 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    David Awogbemila (Gerrit)

    unread,
    Dec 5, 2025, 12:11:31 PM (4 days ago) Dec 5
    to Anders Hartvoll Ruud, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from Anders Hartvoll Ruud

    David Awogbemila added 7 comments

    File third_party/blink/renderer/core/dom/trigger_scope.h
    Line 20, Patchset 8:typedef GCedHeapHashMap<Member<const ScopedTrigger>, Member<AnimationTrigger>>
    Anders Hartvoll Ruud . resolved

    I think we prefer `using`?

    David Awogbemila

    Done

    Line 16, Patchset 8:using ScopedTrigger = NamingScope;
    Anders Hartvoll Ruud . unresolved

    `TriggerScopedName`?


    It's tricky, because these terms are overloaded in multiple ways:

    "Scope triggers" is already something you can add to an element in relation to something else (`@scope`): https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/resolver/scoped_style_resolver.cc;bpv=1;bpt=1;l=490?q=StyleResolver::AddImplicitScopeTrigger . Although it's not a widely-known concept, I'd like to avoid confusing these as much as possible.

    "Scoped" already means "scoped as in TreeScope/ShadowDOM" in many cases. We've since gained other kinds of scoping: anchor-scope-scoping, trigger-scope-scoping. `TriggerScopedName` _hopefully_ indicates that this is scoped per `trigger-scope`, and not some other scoping mechanism.

    Suggestion:

    ```
    // A name scoped according to the 'trigger-scope' property.
    //
    // https://link-to-property-in-spec
    using TriggerScopedName = NamingScope;
    ```

    And similarly for `AnchorScopedName`.

    David Awogbemila

    `TriggerScopedName` sounds good.

    Line 5, Patchset 8:#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_TRIGGER_SCOPE_H_
    Anders Hartvoll Ruud . resolved

    I think we should call this `trigger_scoped_name.h/cc`.

    (`anchor_scope.h` should probably also have been `anchor_scoped_name.h/cc`)

    David Awogbemila

    Sounds good. Done. (Will send a separate refactor to rename anchor_scope.h/cc)

    File third_party/blink/renderer/core/layout/fragment_builder.cc
    Line 353, Patchset 8: PropagateScopedTriggers(child);
    Anders Hartvoll Ruud . resolved

    As mentioned elsewhere, I'd avoid "ScopedTrigger". I think we can probably just keep "NamedTrigger" for the function names, but now deal with objects of type `TriggerScopedName`s?

    David Awogbemila

    Sounds good. Done.

    File third_party/blink/renderer/core/layout/naming_scope.h
    Line 37, Patchset 8: static const Element* FindScopeElement(

    const ScopedCSSName& name,
    const Element& start_element,
    base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
    Anders Hartvoll Ruud . unresolved

    Let's explain a bit here:

    ```suggestion
    // This function finds an element in the inclusive-ancestor chain
    // of `start_element` that scopes `name` to that element via some property,
    // e.g. 'anchor-scope'.
    static const Element* FindScopeElement(
    const ScopedCSSName& name,
    const Element& start_element,
    base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
    ```
    David Awogbemila

    Done

    Line 16, Patchset 8:class CORE_EXPORT NamingScope : public GarbageCollected<NamingScope> {
    Anders Hartvoll Ruud . unresolved

    Especially now as a more general util, this could really use some documentation explaining what it's for.

    David Awogbemila

    Done

    File third_party/blink/renderer/core/style/style_name_scope.h
    Line 46, Patchset 8: static bool IsWithinScope(const ScopedCSSName& lookup_name,

    const StyleNameScope& scope);
    static const Element* FindScopeElement(
    const ScopedCSSName& name,
    const Element& start_element,
    base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
    Anders Hartvoll Ruud . resolved

    I guess these ended up not being defined in `StyleNameScope`?

    David Awogbemila

    Yeah. 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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
    Gerrit-Change-Number: 7222830
    Gerrit-PatchSet: 9
    Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
    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, 05 Dec 2025 17:11:25 +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,
    4:50 AM (18 hours ago) 4:50 AM
    to David Awogbemila, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org
    Attention needed from David Awogbemila

    Anders Hartvoll Ruud voted and added 8 comments

    Votes added by Anders Hartvoll Ruud

    Code-Review+1

    8 comments

    File third_party/blink/renderer/core/animation/animation_trigger.h
    Line 79, Patchset 9 (Latest): Member<Element> owning_element_;
    Anders Hartvoll Ruud . unresolved

    What retains `AnimationTrigger`? Could this lead to elements being held on to for too long?

    (I don't know the answer, I just want to make sure you thought about it.)

    File third_party/blink/renderer/core/animation/document_animations.cc
    Line 125, Patchset 9 (Latest): ancestors_named_triggers->Set(entry.key, entry.value);
    Anders Hartvoll Ruud . unresolved

    So I guess it's possible for multiple elements in an ancestor chain (within the same trigger-scope) to define the same trigger name. Do we indeed want outer names to overwrite inner names?

    I'd add a test similar to trigger-scope-scoped-tree-order.tentative.html, but with competing definitions in the ancestor chain.

    Line 129, Patchset 9 (Latest): element = element->parentElement();
    Anders Hartvoll Ruud . resolved

    Not changed in this CL, but should this indeed be the parent in the light tree?

    File third_party/blink/renderer/core/layout/naming_scope.h
    Line 37, Patchset 8: static const Element* FindScopeElement(
    const ScopedCSSName& name,
    const Element& start_element,
    base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
    Anders Hartvoll Ruud . resolved

    Let's explain a bit here:

    ```suggestion
    // This function finds an element in the inclusive-ancestor chain
    // of `start_element` that scopes `name` to that element via some property,
    // e.g. 'anchor-scope'.
    static const Element* FindScopeElement(
    const ScopedCSSName& name,
    const Element& start_element,
    base::FunctionRef<StyleNameScope(const ComputedStyle& style)> get_scope);
    ```
    David Awogbemila

    Done

    Anders Hartvoll Ruud

    👍

    Line 16, Patchset 8:class CORE_EXPORT NamingScope : public GarbageCollected<NamingScope> {
    Anders Hartvoll Ruud . resolved

    Especially now as a more general util, this could really use some documentation explaining what it's for.

    David Awogbemila

    Done

    Anders Hartvoll Ruud

    👍

    File third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-in-scope-source.tentative.html
    Line 38, Patchset 9 (Latest): animation-trigger: --trigger play-forwards play-backwards;
    Anders Hartvoll Ruud . unresolved

    Enlighten me: what is the effect of playing both forwards and backwards?

    Line 63, Patchset 9 (Latest): // The in-scope target should be attached to the trigger and paused at
    Anders Hartvoll Ruud . unresolved

    So it's automatically paused on creation because we specified an `animation-trigger`?

    Line 70, Patchset 9 (Latest): // are yet to be paused by the trigger.
    Anders Hartvoll Ruud . unresolved

    This doesn't make sense given the text that comes before it.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • David Awogbemila
    Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement 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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
    Gerrit-Change-Number: 7222830
    Gerrit-PatchSet: 9
    Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
    Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
    Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
    Gerrit-CC: Menard, Alexis <alexis...@intel.com>
    Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
    Gerrit-Attention: David Awogbemila <awogb...@chromium.org>
    Gerrit-Comment-Date: Tue, 09 Dec 2025 09:50:31 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: David Awogbemila <awogb...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    David Awogbemila (Gerrit)

    unread,
    10:01 AM (13 hours ago) 10:01 AM
    to Anders Hartvoll Ruud, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org

    David Awogbemila added 7 comments

    File third_party/blink/renderer/core/animation/animation_trigger.h
    Line 79, Patchset 9: Member<Element> owning_element_;
    Anders Hartvoll Ruud . resolved

    What retains `AnimationTrigger`? Could this lead to elements being held on to for too long?

    (I don't know the answer, I just want to make sure you thought about it.)

    David Awogbemila

    Ah right, I think this should be a WeakMember. If the element goes away the trigger should also go away.

    What retains `AnimationTrigger`?

    In the case of TimelineTrigger the [timeline](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/animation_timeline.h;l=177?q=animation_timeline.h&ss=chromium%2Fchromium%2Fsrc). If the trigger has no animations, we [remove](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/timeline_trigger.cc;l=412?q=timelinetrigger::didremoveanimation&ss=chromium%2Fchromium%2Fsrc) it form the timeline's list.

    In the case of an EventTrigger, the [EventListener](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/event_trigger.cc;l=28). If there are no animations attached, the listener is [removed](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/event_trigger.cc;l=82)

    File third_party/blink/renderer/core/animation/document_animations.cc
    Line 125, Patchset 9: ancestors_named_triggers->Set(entry.key, entry.value);
    Anders Hartvoll Ruud . resolved

    So I guess it's possible for multiple elements in an ancestor chain (within the same trigger-scope) to define the same trigger name. Do we indeed want outer names to overwrite inner names?

    I'd add a test similar to trigger-scope-scoped-tree-order.tentative.html, but with competing definitions in the ancestor chain.

    David Awogbemila

    This won't cause outer names to overwrite inner names. In the fragment builder propagation code, the ancestor should see the descendant with the same name and do the last-in-tree-order comparison and pick the descendant.

    I've tested that this works as expected (descendant is picked). Will add a competing ancestor chain test in follow-up patch (just so I can keep the current +1 and check this in asap :) ).

    Line 129, Patchset 9: element = element->parentElement();
    Anders Hartvoll Ruud . resolved

    Not changed in this CL, but should this indeed be the parent in the light tree?

    David Awogbemila

    Will look into this. I filed crbug.com/467317879 to track it.

    File third_party/blink/renderer/core/dom/trigger_scope.h
    Line 16, Patchset 8:using ScopedTrigger = NamingScope;
    Anders Hartvoll Ruud . resolved

    `TriggerScopedName`?


    It's tricky, because these terms are overloaded in multiple ways:

    "Scope triggers" is already something you can add to an element in relation to something else (`@scope`): https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/resolver/scoped_style_resolver.cc;bpv=1;bpt=1;l=490?q=StyleResolver::AddImplicitScopeTrigger . Although it's not a widely-known concept, I'd like to avoid confusing these as much as possible.

    "Scoped" already means "scoped as in TreeScope/ShadowDOM" in many cases. We've since gained other kinds of scoping: anchor-scope-scoping, trigger-scope-scoping. `TriggerScopedName` _hopefully_ indicates that this is scoped per `trigger-scope`, and not some other scoping mechanism.

    Suggestion:

    ```
    // A name scoped according to the 'trigger-scope' property.
    //
    // https://link-to-property-in-spec
    using TriggerScopedName = NamingScope;
    ```

    And similarly for `AnchorScopedName`.

    David Awogbemila

    `TriggerScopedName` sounds good.

    David Awogbemila

    Done

    File third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-in-scope-source.tentative.html
    Line 38, Patchset 9: animation-trigger: --trigger play-forwards play-backwards;
    Anders Hartvoll Ruud . resolved

    Enlighten me: what is the effect of playing both forwards and backwards?

    David Awogbemila

    This, combined with the timeline-trigger definition, is effectively saying "play forwards when scrolled into view, play backwards when scrolled out of view", not "play forwards and backwards."

    Triggers work with a notion of activate/deactivate "events." The first value in `animation-trigger` specifies the action to take on "activate", and the second value is the action to take on "deactivate."

    Line 63, Patchset 9: // The in-scope target should be attached to the trigger and paused at
    Anders Hartvoll Ruud . resolved

    So it's automatically paused on creation because we specified an `animation-trigger`?

    David Awogbemila

    Yes, this will be stated more plainly when the web animations spec gets updated. It was one of the outcomes of the discussion in [#12119](https://github.com/w3c/csswg-drafts/issues/12119#issuecomment-2922467450) about how to keep an animation that is waiting for its trigger condition displaying its first keyframe (fill-mode-dependent).

    Line 70, Patchset 9: // are yet to be paused by the trigger.
    Anders Hartvoll Ruud . resolved

    This doesn't make sense given the text that comes before it.

    David Awogbemila

    Right, left over from prior iterations. Updated.

    Open in Gerrit

    Related details

    Attention set is empty
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement 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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
      Gerrit-Change-Number: 7222830
      Gerrit-PatchSet: 10
      Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
      Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
      Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
      Gerrit-CC: Menard, Alexis <alexis...@intel.com>
      Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
      Gerrit-Comment-Date: Tue, 09 Dec 2025 15:01:11 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      David Awogbemila (Gerrit)

      unread,
      10:47 AM (12 hours ago) 10:47 AM
      to Anders Hartvoll Ruud, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org

      David Awogbemila voted Code-Review+1

      Code-Review+1
      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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
        Gerrit-Change-Number: 7222830
        Gerrit-PatchSet: 10
        Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
        Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
        Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
        Gerrit-Comment-Date: Tue, 09 Dec 2025 15:47:21 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        David Awogbemila (Gerrit)

        unread,
        10:47 AM (12 hours ago) 10:47 AM
        to Anders Hartvoll Ruud, AyeAye, Chromium LUCI CQ, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org

        David Awogbemila voted Commit-Queue+2

        Commit-Queue+2
        Gerrit-Comment-Date: Tue, 09 Dec 2025 15:47:28 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: Yes
        satisfied_requirement
        open
        diffy

        Chromium LUCI CQ (Gerrit)

        unread,
        11:23 AM (12 hours ago) 11:23 AM
        to David Awogbemila, Anders Hartvoll Ruud, AyeAye, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@chromium.org, blink-...@chromium.org, zol...@webkit.org

        Chromium LUCI CQ submitted the change

        Change information

        Commit message:
        [animation-trigger] Implement trigger-scope
        Bug: 390314945, 466134208
        Change-Id: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
        Reviewed-by: David Awogbemila <awogb...@chromium.org>
        Commit-Queue: David Awogbemila <awogb...@chromium.org>
        Reviewed-by: Anders Hartvoll Ruud <and...@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#1556161}
        Files:
        • M third_party/blink/renderer/core/animation/animation_trigger.cc
        • M third_party/blink/renderer/core/animation/animation_trigger.h
        • M third_party/blink/renderer/core/animation/css/css_animations.cc
        • M third_party/blink/renderer/core/animation/css/css_animations_test.cc
        • M third_party/blink/renderer/core/animation/document_animations.cc
        • M third_party/blink/renderer/core/animation/timeline_trigger.cc
        • M third_party/blink/renderer/core/animation/timeline_trigger.h
        • M third_party/blink/renderer/core/css/css_trigger_attachment_value.cc
        • M third_party/blink/renderer/core/css/css_trigger_attachment_value.h
        • M third_party/blink/renderer/core/css/css_value.cc
        • M third_party/blink/renderer/core/dom/build.gni
        • A third_party/blink/renderer/core/dom/trigger_scoped_name.cc
        • A third_party/blink/renderer/core/dom/trigger_scoped_name.h
        • M third_party/blink/renderer/core/layout/anchor_scope.cc
        • M third_party/blink/renderer/core/layout/anchor_scope.h
        • M third_party/blink/renderer/core/layout/build.gni
        • M third_party/blink/renderer/core/layout/fragment_builder.cc
        • M third_party/blink/renderer/core/layout/fragment_builder.h
        • A third_party/blink/renderer/core/layout/naming_scope.cc
        • A third_party/blink/renderer/core/layout/naming_scope.h
        • M third_party/blink/renderer/core/layout/physical_fragment.h
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/support/trigger-scope-support.js
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-in-scope-source.tentative.html
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-named.tentative.html
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-oof.tentative.html
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-out-of-scope-source.tentative.html
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-scoped-tree-order.tentative.html
        • A third_party/blink/web_tests/external/wpt/scroll-animations/animation-trigger/trigger-scope-unscoped-tree-order.tentative.html
        Change size: XL
        Delta: 28 files changed, 1005 insertions(+), 146 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Anders Hartvoll Ruud, +1 by David Awogbemila
        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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
        Gerrit-Change-Number: 7222830
        Gerrit-PatchSet: 11
        Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
        Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
        open
        diffy
        satisfied_requirement

        Blink W3C Test Autoroller (Gerrit)

        unread,
        12:27 PM (11 hours ago) 12:27 PM
        to David Awogbemila, Chromium LUCI CQ, Anders Hartvoll Ruud, AyeAye, Menard, Alexis, chromium...@chromium.org, Olga Gerchikov, blink-rev...@chromium.org, blink-revie...@chromium.org, apavlo...@chromium.org, blink-revie...@chromium.org, blink-re...@chromium.org, blink-re...@chromium.org, blink-revi...@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/56601

        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: Ib1045aad44d9fe20930fc8b1c0663bcbcbb37e2a
        Gerrit-Change-Number: 7222830
        Gerrit-PatchSet: 11
        Gerrit-Owner: David Awogbemila <awogb...@chromium.org>
        Gerrit-Reviewer: Anders Hartvoll Ruud <and...@chromium.org>
        Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
        Gerrit-Reviewer: David Awogbemila <awogb...@chromium.org>
        Gerrit-CC: Blink W3C Test Autoroller <blink-w3c-te...@chromium.org>
        Gerrit-CC: Menard, Alexis <alexis...@intel.com>
        Gerrit-CC: Olga Gerchikov <gerc...@microsoft.com>
        Gerrit-Comment-Date: Tue, 09 Dec 2025 17:27:10 +0000
        Gerrit-HasComments: No
        Gerrit-Has-Labels: No
        satisfied_requirement
        open
        diffy
        Reply all
        Reply to author
        Forward
        0 new messages