From dcab27c390251a3b534b8eeb1fa5b8301686b1ab Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Mon, 7 Dec 2009 16:18:43 -0500 Subject: Switching from activity based full screen plugins to a view system overlay. --- WebKit/android/plugins/ANPWindowInterface.cpp | 10 +++++++++- WebKit/android/plugins/android_npapi.h | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'WebKit/android/plugins') 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); }; /////////////////////////////////////////////////////////////////////////////// -- cgit v1.1