You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`<style>.sheet` now returns the element's `CSSStyleSheet` (CSSOM): created
lazily once the `<style>` is connected, re-synced from its current text content
(so `cssRules` tracks the text), null when disconnected. This lets an
earlier-inserted script observe a later-inserted `<style>` already applied —
clearing dom/nodes/insertion-removing-steps/Node-appendChild-script-and-style
(the `<style>` cases) and Node-appendChild-text-and-script-in-style. (`<link>`
sheets, which need the fetched resource, are not modelled — those subtests stay
allowlisted.)
The on-attribute handler lookup in dispatch now lower-cases the event type
(`'on' + event.type.toLowerCase()`): IDL on-handler attribute names are
lowercase, but a mixed-case type like `webkitAnimationEnd` mapped to the
non-existent `onwebkitAnimationEnd`. No-op for the standard already-lowercase
types. With this, the prefixed `onwebkitanimation*` / `onwebkittransitionend`
handlers fire on the matching prefixed dispatch.
Because `style.sheet` makes their setup succeed, the four
dom/events/webkit-{animation-end,animation-iteration,animation-start,
transition-end}-event.html files now run (they were vacuously green — setup
threw on the missing `style.sheet`). Their prefixed on-handler/dispatch subtests
(4/file = 16) now pass; the `triggerAnimation()` subtests (9/file = 36) need a
real CSS animation/transition engine to fire a trusted animationend/
transitionend (rule 1 out-of-scope) and are allowlisted.
Gate 660/0/15 (1441 fail subtests: +36 honest out-of-scope animation-engine
exposure, −3 style cleared; +19 real subtests now pass); gem 1586/0/35; Redmine
(inline onclick) green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments