[Webkit-unassigned] [Bug 281404] New: SVG Animation Event names might need to be special-cased
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Oct 13 17:38:01 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=281404
Bug ID: 281404
Summary: SVG Animation Event names might need to be
special-cased
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: DOM
Assignee: webkit-unassigned at lists.webkit.org
Reporter: ahmad.saleem792 at gmail.com
CC: rniwa at webkit.org
Hi Team,
While looking into why we don't have following EventHandlers in the `SVGAnimationElement.idl`:
attribute EventHandler onbegin;
attribute EventHandler onend;
attribute EventHandler onrepeat;
Web Specification: https://svgwg.org/specs/animations/#InterfaceSVGAnimationElement
__
When we have to add them in bug 275669 (PR - https://github.com/WebKit/WebKit/pull/29984), it is something where we need to add.
`begin` in (EventNames), where this can be linked with `onbegin` instead of `EventNames` automatically linking with `beginEvent` (which we already have).
Without adding `begin`, we fail `idlharness.html` tests in `svg` directory.
___
We have following already.
`beginEvent`
`endEvent`
in EventNames.json but if I add just `idl` bits, it does not compile and give error (at least for begin) but if I add `begin` then it compiles.
Although, it leads to another WPT test failures.
____
So now why we need special case:
1) We already have `end` and `endEvent` in `EventNames.json`
2) Now if I add `attribute EventHandler.json
3) It compiles and progress one test in WPT but at the same time leads to this failure.
FAILURE: https://wpt.fyi/results/svg/animations/custom-events.html?label=experimental&label=master&aligned
___
Now look into failure:
First test -> custom events with the name 'end' should only call the event listener for the event 'end' and no attribute handlers or IDL listeners
Second -> custom events with the name 'endEvent' should call 'onend' attribute handlers and IDL property listeners, and 'endEvent' listeners
By adding `IDL`, we start failing first one.
___
We need to make sure, `endEvent` map to `onend` and similarly for other `beginEvent` map to `onbegin` etc.
____
This was done via something like this in blink:
+ DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(begin, beginEvent);
+ DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(end, endEvent);
+ DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(repeat, repeatEvent);
Commit - https://codereview.chromium.org/201673003
___
We have removed `DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER` macro as well.
____
If we add `begin` in EventNames.json, it leads to following `Safe C++` [Smart Pointer] violation: https://ews-build.webkit.org/#/builders/120/builds/1177
'Found 1 new failure in JSSVGAnimationElement.cpp'
=> UncountedCallArgsChecker
JSSVGAnimationElement.cpp
___
Just raising so we can fix it.
Thanks!
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20241014/282dd45f/attachment.htm>
More information about the webkit-unassigned
mailing list