Skip to content

Dispatch finite CSS animation events - #119

Merged
wieslawsoltes merged 2 commits into
mainfrom
fix/css-animation-event-lifecycle
Sep 16, 2026
Merged

wieslawsoltes merged 2 commits into
mainfrom
fix/css-animation-event-lifecycle

Conversation

@wieslawsoltes

@wieslawsoltes wieslawsoltes commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Finite CSS keyframe animations advanced visually but did not dispatch their terminal animationend event. VS Code's language-status icon removes its finite wiggle class from that event, so the missing event could retain visible frame demand after the animation completed.

Change

  • Retain and dispatch a browser-shaped finite animationend record with animationName, elapsedTime, pseudoElement, bubbles, and cancelable.
  • Preserve the animation start timestamp across an unrelated recascade and dispatch the terminal event exactly once.
  • Allow the event listener to remove the triggering class and release host frame demand.
  • Keep the uncommon event queue lazy through unique_ptr; the existing 384-byte native_document static footprint gate remains intact.
  • Add a product-neutral WPT contract and component-profile coverage.

Focused validation

  • Release native engine with real V8, html5ever, cssparser, Servo selectors, generated WebIDL bindings, and graphics: built successfully.
  • finite-keyframe-animation-end: 25/25 focused passes.
  • css-animation-end-class-removal.html: 1/1 document and 1/1 subtest passed against the rebuilt native engine.
  • The cumulative stack gate animation-logical-inset-isolation: 50/50 passes.
  • git diff --check: passed.

Closes #113.

Stack

  1. Dispatch finite CSS animation events #119 — animation lifecycle and lazy event queue
  2. Isolate logical inset transition test time #122 — cumulative logical-inset timeline isolation

Native GitHub Stack #190. Validate and merge from the cumulative top.

@wieslawsoltes
wieslawsoltes force-pushed the fix/css-animation-event-lifecycle branch from bf4a838 to d38df85 Compare September 16, 2026 10:04
@wieslawsoltes
wieslawsoltes changed the base branch from review/code-oss-animation-base to main September 16, 2026 10:20
@wieslawsoltes
wieslawsoltes force-pushed the fix/css-animation-event-lifecycle branch from d38df85 to 07f8f89 Compare September 16, 2026 21:29
@wieslawsoltes
wieslawsoltes marked this pull request as ready for review September 16, 2026 21:30
@wieslawsoltes
wieslawsoltes merged commit bdc91ea into main Sep 16, 2026
0 of 15 checks passed
@wieslawsoltes
wieslawsoltes deleted the fix/css-animation-event-lifecycle branch September 16, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dispatch finite CSS animation events and release host frame demand

1 participant