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 1c837a3d2a8ed10b7e4ee476d38e907cb3d6a2c7..bb0269741efccd9b24630077dc1303acc8a49880 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.
 2010-02-26  Arno Renevier  <arno@renevier.net>
 
         Reviewed by Gustavo Noronha Silva.
index 078dcf19e9cb58ecae2fbc2483600b91448e203e..f174d23bf131b010ee4f59bc42527ee8674a0608 100644 (file)
@@ -60,6 +60,12 @@ namespace WebCore {
 
         virtual v8::Local<v8::Value> callListenerFunction(ScriptExecutionContext*, v8::Handle<v8::Value> jsEvent, Event*);
 
 
         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;
         String m_functionName;
         bool m_isSVGEvent;
         String m_code;