Chromium Code Reviews| Index: content/renderer/renderer_webkitplatformsupport_impl.cc |
| diff --git a/content/renderer/renderer_webkitplatformsupport_impl.cc b/content/renderer/renderer_webkitplatformsupport_impl.cc |
| index 2b9a56b34e7deb3ef47919cfcd4b8cec954df845..67df609024335f38b561aaac6a15c1d00a87164d 100644 |
| --- a/content/renderer/renderer_webkitplatformsupport_impl.cc |
| +++ b/content/renderer/renderer_webkitplatformsupport_impl.cc |
| @@ -40,6 +40,7 @@ |
| #include "content/public/renderer/content_renderer_client.h" |
| #include "content/renderer/battery_status/battery_status_dispatcher.h" |
| #include "content/renderer/battery_status/fake_battery_status_dispatcher.h" |
| +#include "content/renderer/device_sensors/device_light_event_pump.h" |
| #include "content/renderer/device_sensors/device_motion_event_pump.h" |
| #include "content/renderer/device_sensors/device_orientation_event_pump.h" |
| #include "content/renderer/dom_storage/webstoragenamespace_impl.h" |
| @@ -66,6 +67,7 @@ |
| #include "net/base/net_util.h" |
| #include "third_party/WebKit/public/platform/WebBatteryStatusListener.h" |
| #include "third_party/WebKit/public/platform/WebBlobRegistry.h" |
| +#include "third_party/WebKit/public/platform/WebDeviceLightListener.h" |
| #include "third_party/WebKit/public/platform/WebDeviceMotionListener.h" |
| #include "third_party/WebKit/public/platform/WebDeviceOrientationListener.h" |
| #include "third_party/WebKit/public/platform/WebFileInfo.h" |
| @@ -143,10 +145,11 @@ namespace content { |
| namespace { |
| -static bool g_sandbox_enabled = true; |
| -static blink::WebGamepadListener* web_gamepad_listener = NULL; |
| +bool g_sandbox_enabled = true; |
| +blink::WebGamepadListener* web_gamepad_listener = NULL; |
| base::LazyInstance<WebGamepads>::Leaky g_test_gamepads = |
| LAZY_INSTANCE_INITIALIZER; |
| +double g_test_device_light_data = -1; |
| base::LazyInstance<blink::WebDeviceMotionData>::Leaky |
| g_test_device_motion_data = LAZY_INSTANCE_INITIALIZER; |
| base::LazyInstance<blink::WebDeviceOrientationData>::Leaky |
| @@ -1089,6 +1092,32 @@ blink::WebString RendererWebKitPlatformSupportImpl::convertIDNToUnicode( |
| //------------------------------------------------------------------------------ |
| +void RendererWebKitPlatformSupportImpl::setDeviceLightListener( |
| + blink::WebDeviceLightListener* listener) { |
| + if (g_test_device_light_data == -1) { |
|
dcheng
2014/06/13 17:01:34
Personally, I'd probably just make this check < 0,
riju_
2014/06/16 10:46:30
Done.
|
| + if (!device_light_event_pump_) { |
| + device_light_event_pump_.reset(new DeviceLightEventPump); |
| + device_light_event_pump_->Attach(RenderThreadImpl::current()); |
| + } |
| + device_light_event_pump_->SetListener(listener); |
| + } else if (listener) { |
| + // Testing mode: just echo the test data to the listener. |
| + base::MessageLoopProxy::current()->PostTask( |
| + FROM_HERE, |
| + base::Bind(&blink::WebDeviceLightListener::didChangeDeviceLight, |
| + base::Unretained(listener), |
| + g_test_device_light_data)); |
| + } |
| +} |
| + |
| +// static |
| +void RendererWebKitPlatformSupportImpl::SetMockDeviceLightDataForTesting( |
| + double data) { |
| + g_test_device_light_data = data; |
| +} |
| + |
| +//------------------------------------------------------------------------------ |
| + |
| void RendererWebKitPlatformSupportImpl::setDeviceMotionListener( |
| blink::WebDeviceMotionListener* listener) { |
| if (g_test_device_motion_data == 0) { |