summaryrefslogtreecommitdiffstats
path: root/WebKit/android/plugins/PluginWidgetAndroid.cpp
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2009-06-15 11:44:16 -0400
committerDerek Sollenberger <djsollen@google.com>2009-06-18 09:12:26 -0400
commit56ce2fa12f7492cf355cfb37b80b679d7921f6d4 (patch)
tree321bf366530c55cb9c87988390b0b5cefe4174df /WebKit/android/plugins/PluginWidgetAndroid.cpp
parent82ffe8c7d96e55d04747f3df250a7a8e5f7c54b8 (diff)
downloadexternal_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.cpp25
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;
+}