2010-02-26 Robert Kroeger <rjkroege@chromium.org>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 27 Feb 2010 01:17:55 +0000 (01:17 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 27 Feb 2010 01:17:55 +0000 (01:17 +0000)
        Reviewed by Nate Chapin

        To fire each event handler registered on an SVG node once per
        event, Chromium needs an implementation of wasCreatedFromMarkup
        added to V8LazyEventListener.h that matches the one in
        WebKit/WebCore/bindings/js/JSLazyEventListener.h.

        This patch adds such a matching implementation of wasCreatedFromMarkup
        to V8LazyEventListener.h.

        https://bugs.webkit.org/show_bug.cgi?id=35325

        * bindings/v8/V8LazyEventListener.h:
        (WebCore::V8LazyEventListener::wasCreatedFromMarkup):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@55326 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bindings/v8/V8LazyEventListener.h

index 1c837a3..bb02697 100644 (file)
@@ -1,3 +1,20 @@
+2010-02-26  Robert Kroeger  <rjkroege@chromium.org>
+
+        Reviewed by Nate Chapin
+
+        To fire each event handler registered on an SVG node once per
+        event, Chromium needs an implementation of wasCreatedFromMarkup
+        added to V8LazyEventListener.h that matches the one in
+        WebKit/WebCore/bindings/js/JSLazyEventListener.h.
+        
+        This patch adds such a matching implementation of wasCreatedFromMarkup
+        to V8LazyEventListener.h.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=35325
+
+        * bindings/v8/V8LazyEventListener.h:
+        (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
+
 2010-02-26  Arno Renevier  <arno@renevier.net>
 
         Reviewed by Gustavo Noronha Silva.
index 078dcf1..f174d23 100644 (file)
@@ -60,6 +60,12 @@ namespace WebCore {
 
         virtual v8::Local<v8::Value> callListenerFunction(ScriptExecutionContext*, v8::Handle<v8::Value> jsEvent, Event*);
 
+        // Needs to return true for all event handlers implemented in JavaScript so that
+        // the SVG code does not add the event handler in both
+        // SVGUseElement::buildShadowTree and again in
+        // SVGUseElement::transferEventListenersToShadowTree
+        virtual bool wasCreatedFromMarkup() const { return true; }
+
         String m_functionName;
         bool m_isSVGEvent;
         String m_code;