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 3c9197ad638f50af92a85dbb0109b21a81d60483..2ba96b743acf2ba39b1d61794c8849d551158e9f 100644 |
| --- a/content/renderer/renderer_webkitplatformsupport_impl.cc |
| +++ b/content/renderer/renderer_webkitplatformsupport_impl.cc |
| @@ -888,12 +888,6 @@ void RendererWebKitPlatformSupportImpl::sampleGamepads(WebGamepads& gamepads) { |
| gamepad_provider_->SampleGamepads(gamepads); |
| } |
| -void RendererWebKitPlatformSupportImpl::setGamepadListener( |
| - blink::WebGamepadListener* listener) { |
| - DCHECK(gamepad_provider_); |
| - gamepad_provider_->SetGamepadListener(listener); |
| -} |
| - |
| //------------------------------------------------------------------------------ |
| WebRTCPeerConnectionHandler* |
| @@ -1021,24 +1015,6 @@ blink::WebString RendererWebKitPlatformSupportImpl::convertIDNToUnicode( |
| //------------------------------------------------------------------------------ |
| -void RendererWebKitPlatformSupportImpl::setDeviceLightListener( |
| - blink::WebDeviceLightListener* listener) { |
| - if (g_test_device_light_data < 0) { |
| - 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) { |
| @@ -1047,7 +1023,92 @@ void RendererWebKitPlatformSupportImpl::SetMockDeviceLightDataForTesting( |
| //------------------------------------------------------------------------------ |
| -void RendererWebKitPlatformSupportImpl::setDeviceMotionListener( |
| +// static |
| +void RendererWebKitPlatformSupportImpl::SetMockDeviceMotionDataForTesting( |
| + const blink::WebDeviceMotionData& data) { |
| + g_test_device_motion_data.Get() = data; |
| +} |
| + |
| +//------------------------------------------------------------------------------ |
| + |
| +// static |
| +void RendererWebKitPlatformSupportImpl::SetMockDeviceOrientationDataForTesting( |
| + const blink::WebDeviceOrientationData& data) { |
| + g_test_device_orientation_data.Get() = data; |
| +} |
| + |
| +//------------------------------------------------------------------------------ |
| + |
| +void RendererWebKitPlatformSupportImpl::vibrate(unsigned int milliseconds) { |
| + RenderThread::Get()->Send( |
| + new ViewHostMsg_Vibrate(base::checked_cast<int64>(milliseconds))); |
| +} |
| + |
| +void RendererWebKitPlatformSupportImpl::cancelVibration() { |
| + RenderThread::Get()->Send(new ViewHostMsg_CancelVibration()); |
| +} |
| + |
| +//------------------------------------------------------------------------------ |
| + |
| +void RendererWebKitPlatformSupportImpl::startListening( |
| + blink::WebPlatformEventType type, |
| + blink::WebPlatformEventListener* listener) { |
| + switch (type) { |
| + case blink::WebPlatformEventDeviceMotion: |
| + SetDeviceMotionListener( |
| + static_cast<blink::WebDeviceMotionListener*>(listener)); |
| + break; |
| + case blink::WebPlatformEventDeviceOrientation: |
| + SetDeviceOrientationListener( |
| + static_cast<blink::WebDeviceOrientationListener*>(listener)); |
| + break; |
| + case blink::WebPlatformEventDeviceLight: |
| + SetDeviceLightListener( |
| + static_cast<blink::WebDeviceLightListener*>(listener)); |
| + break; |
| + case blink::WebPlatformEventBattery: |
| + SetBatteryStatusListener( |
| + static_cast<blink::WebBatteryStatusListener*>(listener)); |
| + break; |
| + case blink::WebPlatformEventGamepad: |
| + SetGamepadListener( |
| + static_cast<blink::WebGamepadListener*>(listener)); |
| + break; |
| + default: |
| + // A default statement is required to prevent compilation errors when Blink |
| + // adds a new type. |
| + LOG(ERROR) << "RendererWebKitPlatformSupportImpl::startListening() with " |
| + "unknown type."; |
| + } |
| +} |
| + |
| +void RendererWebKitPlatformSupportImpl::stopListening( |
| + blink::WebPlatformEventType type) { |
| + switch (type) { |
| + case blink::WebPlatformEventDeviceMotion: |
| + SetDeviceMotionListener(0); |
| + break; |
| + case blink::WebPlatformEventDeviceOrientation: |
| + SetDeviceOrientationListener(0); |
| + break; |
| + case blink::WebPlatformEventDeviceLight: |
| + SetDeviceLightListener(0); |
| + break; |
| + case blink::WebPlatformEventBattery: |
| + SetBatteryStatusListener(0); |
| + break; |
| + case blink::WebPlatformEventGamepad: |
| + SetGamepadListener(0); |
| + break; |
| + default: |
| + // A default statement is required to prevent compilation errors when Blink |
| + // adds a new type. |
| + LOG(ERROR) << "RendererWebKitPlatformSupportImpl::stopListening() with " |
|
jochen (gone - plz use gerrit)
2014/08/04 12:44:20
VLOG(1) ?
mlamouri (slow - plz ping)
2014/08/04 14:28:44
Done. For startListening() too.
|
| + "unknown type."; |
| + } |
| +} |
| + |
| +void RendererWebKitPlatformSupportImpl::SetDeviceMotionListener( |
| blink::WebDeviceMotionListener* listener) { |
| if (g_test_device_motion_data == 0) { |
| if (!device_motion_event_pump_) { |
| @@ -1065,15 +1126,7 @@ void RendererWebKitPlatformSupportImpl::setDeviceMotionListener( |
| } |
| } |
| -// static |
| -void RendererWebKitPlatformSupportImpl::SetMockDeviceMotionDataForTesting( |
| - const blink::WebDeviceMotionData& data) { |
| - g_test_device_motion_data.Get() = data; |
| -} |
| - |
| -//------------------------------------------------------------------------------ |
| - |
| -void RendererWebKitPlatformSupportImpl::setDeviceOrientationListener( |
| +void RendererWebKitPlatformSupportImpl::SetDeviceOrientationListener( |
| blink::WebDeviceOrientationListener* listener) { |
| if (g_test_device_orientation_data == 0) { |
| if (!device_orientation_event_pump_) { |
| @@ -1092,21 +1145,46 @@ void RendererWebKitPlatformSupportImpl::setDeviceOrientationListener( |
| } |
| } |
| -// static |
| -void RendererWebKitPlatformSupportImpl::SetMockDeviceOrientationDataForTesting( |
| - const blink::WebDeviceOrientationData& data) { |
| - g_test_device_orientation_data.Get() = data; |
| +void RendererWebKitPlatformSupportImpl::SetDeviceLightListener( |
| + blink::WebDeviceLightListener* listener) { |
| + if (g_test_device_light_data < 0) { |
| + 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)); |
| + } |
| } |
| -//------------------------------------------------------------------------------ |
| - |
| -void RendererWebKitPlatformSupportImpl::vibrate(unsigned int milliseconds) { |
| - RenderThread::Get()->Send( |
| - new ViewHostMsg_Vibrate(base::checked_cast<int64>(milliseconds))); |
| +void RendererWebKitPlatformSupportImpl::SetGamepadListener( |
| + blink::WebGamepadListener* listener) { |
| + DCHECK(gamepad_provider_); |
| + gamepad_provider_->SetGamepadListener(listener); |
| } |
| -void RendererWebKitPlatformSupportImpl::cancelVibration() { |
| - RenderThread::Get()->Send(new ViewHostMsg_CancelVibration()); |
| +void RendererWebKitPlatformSupportImpl::SetBatteryStatusListener( |
| + blink::WebBatteryStatusListener* listener) { |
| + if (RenderThreadImpl::current() && |
| + RenderThreadImpl::current()->layout_test_mode()) { |
| + // If we are in test mode, we want to use a fake battery status dispatcher, |
| + // which does not communicate with the browser process. Battery status |
| + // changes are signalled by invoking MockBatteryStatusChangedForTesting(). |
| + g_test_battery_status_dispatcher.Get().SetListener(listener); |
| + return; |
| + } |
| + |
| + if (!battery_status_dispatcher_) { |
| + battery_status_dispatcher_.reset( |
| + new BatteryStatusDispatcher(RenderThreadImpl::current())); |
| + } |
| + battery_status_dispatcher_->SetListener(listener); |
| } |
| //------------------------------------------------------------------------------ |
| @@ -1127,24 +1205,6 @@ void RendererWebKitPlatformSupportImpl::queryStorageUsageAndQuota( |
| //------------------------------------------------------------------------------ |
| -void RendererWebKitPlatformSupportImpl::setBatteryStatusListener( |
| - blink::WebBatteryStatusListener* listener) { |
| - if (RenderThreadImpl::current() && |
| - RenderThreadImpl::current()->layout_test_mode()) { |
| - // If we are in test mode, we want to use a fake battery status dispatcher, |
| - // which does not communicate with the browser process. Battery status |
| - // changes are signalled by invoking MockBatteryStatusChangedForTesting(). |
| - g_test_battery_status_dispatcher.Get().SetListener(listener); |
| - return; |
| - } |
| - |
| - if (!battery_status_dispatcher_) { |
| - battery_status_dispatcher_.reset( |
| - new BatteryStatusDispatcher(RenderThreadImpl::current())); |
| - } |
| - battery_status_dispatcher_->SetListener(listener); |
| -} |
| - |
| // static |
| void RendererWebKitPlatformSupportImpl::MockBatteryStatusChangedForTesting( |
| const blink::WebBatteryStatus& status) { |