diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 3d7e1f672e12e89c9bbe274ee26438dc31e09f41..5288e4d7b56613afffeea45b5987f9cbd9687ac6 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,18 @@ +2010-08-17 Xan Lopez + + Reviewed by Gustavo Noronha. + + [GTK] Fix wrapping of core Events in the bindings + https://bugs.webkit.org/show_bug.cgi?id=44095 + + Return the proper GObject type instead of hardcoding + WebKitDOMEvent for all Event types. + + * bindings/gobject/GObjectEventListener.cpp: + (WebCore::GObjectEventListener::handleEvent): + * bindings/gobject/WebKitDOMBinding.cpp: + (WebKit::kit): + 2010-08-17 Xan Lopez Reviewed by Gustavo Noronha. diff --git a/WebCore/bindings/gobject/GObjectEventListener.cpp b/WebCore/bindings/gobject/GObjectEventListener.cpp index 1a4f6801cf2e392e474265c6411b4955c4876efe..3ce8461cd46ca1bb4c098b62741f8b53f0c92f99 100644 --- a/WebCore/bindings/gobject/GObjectEventListener.cpp +++ b/WebCore/bindings/gobject/GObjectEventListener.cpp @@ -21,6 +21,7 @@ #include "Event.h" #include "EventListener.h" +#include "webkit/WebKitDOMEvent.h" #include "webkit/WebKitDOMEventPrivate.h" #include #include @@ -30,7 +31,7 @@ namespace WebCore { void GObjectEventListener::handleEvent(ScriptExecutionContext*, Event* event) { gboolean handled = FALSE; - WebKitDOMEvent* gobjectEvent = WebKit::wrapEvent(event); + WebKitDOMEvent* gobjectEvent = WEBKIT_DOM_EVENT(WebKit::kit(event)); g_signal_emit_by_name(m_object, m_signalName.utf8().data(), gobjectEvent, &handled); } diff --git a/WebCore/bindings/gobject/WebKitDOMBinding.cpp b/WebCore/bindings/gobject/WebKitDOMBinding.cpp index 1154d6ccaabdf0455b4e4346780caaac1987601d..3c066e3ebf650ccc6d094565880b9d816ffbc627 100644 --- a/WebCore/bindings/gobject/WebKitDOMBinding.cpp +++ b/WebCore/bindings/gobject/WebKitDOMBinding.cpp @@ -32,6 +32,7 @@ #include "UIEvent.h" #include "WebKitDOMDOMWindowPrivate.h" #include "WebKitDOMElementPrivate.h" +#include "WebKitDOMEventPrivate.h" #include "WebKitDOMNode.h" #include "WebKitDOMNodePrivate.h" #include "WebKitHTMLElementWrapperFactory.h" @@ -140,7 +141,7 @@ gpointer kit(Event* event) else if (event->isUIEvent()) wrappedEvent = wrapUIEvent(static_cast(event)); else - wrappedEvent = 0; + wrappedEvent = wrapEvent(event); return DOMObjectCache::put(event, wrappedEvent); }