diff options
author | Derek Sollenberger <djsollen@google.com> | 2009-06-15 11:44:16 -0400 |
---|---|---|
committer | Derek Sollenberger <djsollen@google.com> | 2009-06-18 09:12:26 -0400 |
commit | 56ce2fa12f7492cf355cfb37b80b679d7921f6d4 (patch) | |
tree | 321bf366530c55cb9c87988390b0b5cefe4174df /WebKit/android/plugins/PluginWidgetAndroid.cpp | |
parent | 82ffe8c7d96e55d04747f3df250a7a8e5f7c54b8 (diff) | |
download | external_webkit-56ce2fa12f7492cf355cfb37b80b679d7921f6d4.zip external_webkit-56ce2fa12f7492cf355cfb37b80b679d7921f6d4.tar.gz external_webkit-56ce2fa12f7492cf355cfb37b80b679d7921f6d4.tar.bz2 |
Adding touch events for plugins.
Diffstat (limited to 'WebKit/android/plugins/PluginWidgetAndroid.cpp')
-rw-r--r-- | WebKit/android/plugins/PluginWidgetAndroid.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/WebKit/android/plugins/PluginWidgetAndroid.cpp b/WebKit/android/plugins/PluginWidgetAndroid.cpp index 350243e..ddb07bf 100644 --- a/WebKit/android/plugins/PluginWidgetAndroid.cpp +++ b/WebKit/android/plugins/PluginWidgetAndroid.cpp @@ -25,6 +25,9 @@ #include "config.h" #include "android_graphics.h" +#include "Document.h" +#include "Element.h" +#include "Frame.h" #include "PluginPackage.h" #include "PluginView.h" #include "PluginWidgetAndroid.h" @@ -37,6 +40,7 @@ PluginWidgetAndroid::PluginWidgetAndroid(WebCore::PluginView* view) m_flipPixelRef = NULL; m_core = NULL; m_drawingModel = kBitmap_ANPDrawingModel; + m_eventFlags = 0; m_x = m_y = 0; } @@ -156,3 +160,24 @@ bool PluginWidgetAndroid::sendEvent(const ANPEvent& evt) { return false; } +void PluginWidgetAndroid::updateEventFlags(ANPEventFlags flags) { + + // if there are no differences then immediately return + if (m_eventFlags == flags) { + return; + } + + Document* doc = m_pluginView->getParentFrame()->document(); + if((m_eventFlags ^ flags) & kTouch_ANPEventFlag) { + if(flags & kTouch_ANPEventFlag) + doc->addTouchEventListener(m_pluginView->getElement()); + else + doc->removeTouchEventListener(m_pluginView->getElement()); + } + + m_eventFlags = flags; +} + +bool PluginWidgetAndroid::isAcceptingEvent(ANPEventFlag flag) { + return m_eventFlags & flag; +} |