summaryrefslogtreecommitdiffstats
path: root/WebKit/android/plugins/PluginWidgetAndroid.cpp
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2011-01-27 17:28:03 -0500
committerDerek Sollenberger <djsollen@google.com>2011-01-27 18:09:44 -0500
commit9bd15c56f90a9621fccfd28b9017ef1c3dba5ad7 (patch)
tree5914a7b6c1555e09c56a58d2c861103dabc3e595 /WebKit/android/plugins/PluginWidgetAndroid.cpp
parent00e7bdac2cb1be80a07ab5f78d2fa4b7210e8026 (diff)
downloadexternal_webkit-9bd15c56f90a9621fccfd28b9017ef1c3dba5ad7.zip
external_webkit-9bd15c56f90a9621fccfd28b9017ef1c3dba5ad7.tar.gz
external_webkit-9bd15c56f90a9621fccfd28b9017ef1c3dba5ad7.tar.bz2
Add Plugin API for controling the device power states
This is an initial API that will allow the plugin to request to keep the screen on. companion change is in frameworks/base bug: 3331493 Change-Id: Id807dc3a3e5aaf12fc63558edeceee0d35561768
Diffstat (limited to 'WebKit/android/plugins/PluginWidgetAndroid.cpp')
-rw-r--r--WebKit/android/plugins/PluginWidgetAndroid.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/WebKit/android/plugins/PluginWidgetAndroid.cpp b/WebKit/android/plugins/PluginWidgetAndroid.cpp
index 73fe18a..4dc12a3 100644
--- a/WebKit/android/plugins/PluginWidgetAndroid.cpp
+++ b/WebKit/android/plugins/PluginWidgetAndroid.cpp
@@ -72,12 +72,14 @@ PluginWidgetAndroid::PluginWidgetAndroid(WebCore::PluginView* view)
m_acceptEvents = false;
m_isSurfaceClippedOut = false;
m_layer = 0;
+ m_powerState = kDefault_ANPPowerState;
}
PluginWidgetAndroid::~PluginWidgetAndroid() {
PLUGIN_LOG("%p Deleting Plugin", m_pluginView->instance());
m_acceptEvents = false;
if (m_core) {
+ setPowerState(kDefault_ANPPowerState);
m_core->removePlugin(this);
if (m_isFullScreen) {
exitFullScreen(true);
@@ -635,3 +637,28 @@ void PluginWidgetAndroid::requestCenterFitZoom() {
m_pluginWindow->width, m_pluginWindow->height);
}
+void PluginWidgetAndroid::setPowerState(ANPPowerState powerState) {
+ if(m_powerState == powerState)
+ return;
+
+ // cleanup the old power state
+ switch (m_powerState) {
+ case kDefault_ANPPowerState:
+ break;
+ case kScreenOn_ANPPowerState:
+ m_core->keepScreenOn(false);
+ break;
+ }
+
+ // setup the new power state
+ switch (powerState) {
+ case kDefault_ANPPowerState:
+ break;
+ case kScreenOn_ANPPowerState:
+ m_core->keepScreenOn(true);
+ break;
+ }
+
+ m_powerState = powerState;
+}
+