summaryrefslogtreecommitdiffstats
path: root/WebKit/android/plugins
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2009-12-07 16:18:43 -0500
committerDerek Sollenberger <djsollen@google.com>2009-12-08 08:12:09 -0500
commitdcab27c390251a3b534b8eeb1fa5b8301686b1ab (patch)
tree07feedde2b9064535a2c2e0e3840cf87dde26686 /WebKit/android/plugins
parent168aa9a1c8da72a4929e086ad8d65555be0ef184 (diff)
downloadexternal_webkit-dcab27c390251a3b534b8eeb1fa5b8301686b1ab.zip
external_webkit-dcab27c390251a3b534b8eeb1fa5b8301686b1ab.tar.gz
external_webkit-dcab27c390251a3b534b8eeb1fa5b8301686b1ab.tar.bz2
Switching from activity based full screen plugins to a view system overlay.
Diffstat (limited to 'WebKit/android/plugins')
-rw-r--r--WebKit/android/plugins/ANPWindowInterface.cpp10
-rw-r--r--WebKit/android/plugins/android_npapi.h4
2 files changed, 13 insertions, 1 deletions
diff --git a/WebKit/android/plugins/ANPWindowInterface.cpp b/WebKit/android/plugins/ANPWindowInterface.cpp
index 543332d..6d7b8e5 100644
--- a/WebKit/android/plugins/ANPWindowInterface.cpp
+++ b/WebKit/android/plugins/ANPWindowInterface.cpp
@@ -55,7 +55,14 @@ static void anp_showKeyboard(NPP instance, bool value) {
static void anp_requestFullScreen(NPP instance) {
PluginView* pluginView = pluginViewForInstance(instance);
PluginWidgetAndroid* pluginWidget = pluginView->platformPluginWidget();
- pluginWidget->webViewCore()->startFullScreenPluginActivity(instance);
+ jobject javaPlugin = pluginWidget->getJavaPluginInstance();
+ pluginWidget->webViewCore()->showFullScreenPlugin(javaPlugin);
+}
+
+static void anp_exitFullScreen(NPP instance) {
+ PluginView* pluginView = pluginViewForInstance(instance);
+ PluginWidgetAndroid* pluginWidget = pluginView->platformPluginWidget();
+ pluginWidget->webViewCore()->hideFullScreenPlugin();
}
///////////////////////////////////////////////////////////////////////////////
@@ -69,4 +76,5 @@ void ANPWindowInterfaceV0_Init(ANPInterface* value) {
ASSIGN(i, clearVisibleRects);
ASSIGN(i, showKeyboard);
ASSIGN(i, requestFullScreen);
+ ASSIGN(i, exitFullScreen);
}
diff --git a/WebKit/android/plugins/android_npapi.h b/WebKit/android/plugins/android_npapi.h
index 40a31fa..e52debb 100644
--- a/WebKit/android/plugins/android_npapi.h
+++ b/WebKit/android/plugins/android_npapi.h
@@ -647,6 +647,10 @@ struct ANPWindowInterfaceV0 : ANPInterface {
asynchronously to provide a View object to be displayed full screen.
*/
void (*requestFullScreen)(NPP instance);
+ /** Called when a plugin wishes to exit from full screen mode. As a result,
+ the plugin's full screen view will be discarded by the view system.
+ */
+ void (*exitFullScreen)(NPP instance);
};
///////////////////////////////////////////////////////////////////////////////