RESOLVED FIXED 114784
CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=114784
Summary CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReac...
Jer Noble
Reported 2013-04-17 21:55:04 PDT
For classes which inherit from EventTarget, the generator should add an isFiringEventListeners() check to the generated isReachableFromOpaqueRoots() function.
Attachments
Patch (1.91 KB, patch)
2013-04-17 22:05 PDT, Jer Noble
no flags
Jer Noble
Comment 1 2013-04-17 22:05:10 PDT
Andreas Kling
Comment 2 2013-04-18 05:53:52 PDT
Can we remove the isFiringEventListeners() checks from the custom bindings for Node, TextTrack, TextTrackCue and TextTrackList with this change?
Jer Noble
Comment 3 2013-04-18 08:18:16 PDT
(In reply to comment #2) > Can we remove the isFiringEventListeners() checks from the custom bindings for Node, TextTrack, TextTrackCue and TextTrackList with this change? I was going to do it in a follow-up patch, but yes, we totally could.
Geoffrey Garen
Comment 4 2013-04-18 10:48:18 PDT
Comment on attachment 198679 [details] Patch r=me
WebKit Commit Bot
Comment 5 2013-04-18 13:38:16 PDT
Comment on attachment 198679 [details] Patch Clearing flags on attachment: 198679 Committed r148700: <http://trac.webkit.org/changeset/148700>
WebKit Commit Bot
Comment 6 2013-04-18 13:38:18 PDT
All reviewed patches have been landed. Closing bug.
Jessie Berlin
Comment 7 2013-04-18 16:09:08 PDT
This patch broke the bindings-generation tests: http://build.webkit.org/builders/Apple%20Lion%20Debug%20WK1%20%28Tests%29/builds/8189/steps/bindings-generation-tests/logs/stdio PASS: (JS) JSTestCallback.cpp PASS: (JS) JSTestCallback.h PASS: (JS) JSTestCustomNamedGetter.cpp PASS: (JS) JSTestCustomNamedGetter.h PASS: (JS) JSTestActiveDOMObject.cpp PASS: (JS) JSTestActiveDOMObject.h PASS: (JS) JSTestEventConstructor.cpp PASS: (JS) JSTestEventConstructor.h FAIL: (JS) JSTestEventTarget.cpp --- WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2013-04-18 13:26:25.000000000 -0700 +++ /var/folders/_c/vr7s8m291vz90n5ffhf72nnw0000gn/T/tmp7N_ZlU/JSTestEventTarget.cpp 2013-04-18 15:31:34.000000000 -0700 @@ -326,6 +326,8 @@ bool JSTestEventTargetOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSTestEventTarget* jsTestEventTarget = jsCast<JSTestEventTarget*>(handle.get().asCell()); + if (jsTestEventTarget->impl()->isFiringEventListeners()) + return true; if (!isObservable(jsTestEventTarget)) return false; UNUSED_PARAM(visitor); I notified Jer and he is going to fix them.
Note You need to log in before you can comment on or make changes to this bug.