diff options
author | Derek Sollenberger <djsollen@google.com> | 2011-01-27 17:28:03 -0500 |
---|---|---|
committer | Derek Sollenberger <djsollen@google.com> | 2011-01-27 18:09:44 -0500 |
commit | 9bd15c56f90a9621fccfd28b9017ef1c3dba5ad7 (patch) | |
tree | 5914a7b6c1555e09c56a58d2c861103dabc3e595 /WebKit/android/plugins/PluginWidgetAndroid.cpp | |
parent | 00e7bdac2cb1be80a07ab5f78d2fa4b7210e8026 (diff) | |
download | external_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.cpp | 27 |
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; +} + |