| Index: content/renderer/renderer_blink_platform_impl.cc
|
| diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
| index 5ef967ff13781964c738c093bb290e854658fc53..e2d537f0f841c29ecced8e3d6aae036b9bb7934c 100644
|
| --- a/content/renderer/renderer_blink_platform_impl.cc
|
| +++ b/content/renderer/renderer_blink_platform_impl.cc
|
| @@ -52,6 +52,7 @@
|
| #include "content/public/common/webplugininfo.h"
|
| #include "content/public/renderer/content_renderer_client.h"
|
| #include "content/public/renderer/media_stream_api.h"
|
| +#include "content/renderer/battery_status/battery_status_dispatcher.h"
|
| #include "content/renderer/cache_storage/webserviceworkercachestorage_impl.h"
|
| #include "content/renderer/device_sensors/device_light_event_pump.h"
|
| #include "content/renderer/device_sensors/device_motion_event_pump.h"
|
| @@ -84,6 +85,7 @@
|
| #include "storage/common/quota/quota_types.h"
|
| #include "third_party/WebKit/public/platform/FilePathConversion.h"
|
| #include "third_party/WebKit/public/platform/URLConversion.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/WebFileInfo.h"
|
| @@ -176,6 +178,9 @@
|
| g_test_device_motion_data = LAZY_INSTANCE_INITIALIZER;
|
| base::LazyInstance<blink::WebDeviceOrientationData>::Leaky
|
| g_test_device_orientation_data = LAZY_INSTANCE_INITIALIZER;
|
| +// Set in startListening() when running layout tests, unset in stopListening(),
|
| +// not owned by us.
|
| +blink::WebBatteryStatusListener* g_test_battery_status_listener = nullptr;
|
|
|
| } // namespace
|
|
|
| @@ -1153,31 +1158,28 @@
|
| void RendererBlinkPlatformImpl::SetPlatformEventObserverForTesting(
|
| blink::WebPlatformEventType type,
|
| scoped_ptr<PlatformEventObserverBase> observer) {
|
| + DCHECK(type != blink::WebPlatformEventTypeBattery);
|
| +
|
| if (platform_event_observers_.Lookup(type))
|
| platform_event_observers_.Remove(type);
|
| platform_event_observers_.AddWithID(observer.release(), type);
|
| }
|
|
|
| -void RendererBlinkPlatformImpl::connectToRemoteService(
|
| - const char* name,
|
| - mojo::ScopedMessagePipeHandle handle) {
|
| - // In the layout test mode, mock services should be used instead.
|
| - // TODO(yukishiino): We'd like to inject mock services implemented in
|
| - // JavaScript. Remove the following hack once we support JS-bindings
|
| - // of Mojo and service mocking in JS.
|
| - if (RenderThreadImpl::current() &&
|
| - RenderThreadImpl::current()->layout_test_mode())
|
| - return;
|
| -
|
| - if (ServiceRegistry* registry = RenderThread::Get()->GetServiceRegistry()) {
|
| - // registry can be null during testing.
|
| - registry->ConnectToRemoteService(name, std::move(handle));
|
| - }
|
| -}
|
| -
|
| void RendererBlinkPlatformImpl::startListening(
|
| blink::WebPlatformEventType type,
|
| blink::WebPlatformEventListener* listener) {
|
| + if (type == blink::WebPlatformEventTypeBattery) {
|
| + if (RenderThreadImpl::current() &&
|
| + RenderThreadImpl::current()->layout_test_mode()) {
|
| + g_test_battery_status_listener =
|
| + static_cast<blink::WebBatteryStatusListener*>(listener);
|
| + } else {
|
| + battery_status_dispatcher_.reset(new BatteryStatusDispatcher(
|
| + static_cast<blink::WebBatteryStatusListener*>(listener)));
|
| + }
|
| + return;
|
| + }
|
| +
|
| PlatformEventObserverBase* observer = platform_event_observers_.Lookup(type);
|
| if (!observer) {
|
| observer = CreatePlatformEventObserverFromType(type);
|
| @@ -1237,6 +1239,12 @@
|
|
|
| void RendererBlinkPlatformImpl::stopListening(
|
| blink::WebPlatformEventType type) {
|
| + if (type == blink::WebPlatformEventTypeBattery) {
|
| + g_test_battery_status_listener = nullptr;
|
| + battery_status_dispatcher_.reset();
|
| + return;
|
| + }
|
| +
|
| PlatformEventObserverBase* observer = platform_event_observers_.Lookup(type);
|
| if (!observer)
|
| return;
|
| @@ -1261,6 +1269,15 @@
|
|
|
| //------------------------------------------------------------------------------
|
|
|
| +void RendererBlinkPlatformImpl::MockBatteryStatusChangedForTesting(
|
| + const blink::WebBatteryStatus& status) {
|
| + if (!g_test_battery_status_listener)
|
| + return;
|
| + g_test_battery_status_listener->updateBatteryStatus(status);
|
| +}
|
| +
|
| +//------------------------------------------------------------------------------
|
| +
|
| blink::WebTrialTokenValidator*
|
| RendererBlinkPlatformImpl::trialTokenValidator() {
|
| return &trial_token_validator_;
|
|
|