Web updates

CSS Houdini e971a0fe9728

Remove usage of AnimationEffectReadonly and update WorkletGroupEffect (#102) Remove usage of AnimationEffectReadonly and update WorkletGroupEffect - Replace AnimationEffectReadonly with AnimationEffect since it no longer exist in upstream. - Update WorkletGroupEffect interface to match proposal here. Note that this removes dependency on web-animation level-2 spec since it conflicts with web-animation level-2. Minor clean ups: - use xml for idls instead of pre so we don't need to escape. See - Remove unused interface definitions Fixed #101

Majid Valipour

HTML 753e9fe231b9

Rewrite event handlers section for more rigor and correctness * Move the "When an event handler H of an EventTarget object T is first set to a non-null value" steps into a dedicated "activate an event handler" algorithm. Create a corresponding "deactivate an event handler" algorithm, called in the circumstances outlined in #3836, thereby fixing #3836. * Define "When an event handler content attribute is set" and "When an event handler content attribute is removed" steps rigorously using the attribute change steps hook in DOM. Care is taken to clarify certain edge cases, such as calling removeAttribute() on a nonexistent event handler content attribute but with a corresponding event handler IDL attribute defined, and calling setAttribute() an attribute with the same value as it currently possesses but with the event handler deactivated (exhibit B in #3836). * Formalize multiple definitions: * event handler as a struct containing a value and an event listener * location of event handlers and the concept of event handler target * rigorous set of steps on how to obtain the target of an event handler through the "determine the target of an event handler" algorithm. The latter algorithm supersedes the handwavy and inconsistently-applied "If an event handler IDL attribute exposes an event handler of an object that doesn't exist" steps. * storage of event handlers in the event handler map * More descriptive variable names: H → eventHandler, T → eventTarget, and E → event, in various algorithms. Tests: Follow-up issue to improve clarity by breaking this up into smaller sections: #3861.

Timothy Gu

CSS Houdini 26264503e48e

Use webidl algorithms for construction and invocation (#104) We resolved to continue using the "cache" props approach [here]( but we still need to be consistent in using webidl algorithms for invoking and construction operation. The following changes fix this: - Use VoidFunction type for constructor, and Function type for animate and destroy callbacks - Use convert algorithm to convert incoming values to proper types upon registration - Use invoke/construct algorithms to call or construct. This ensure the proper setup in place which addresses the original reported issue. Fixes #94

Majid Valipour