diff options
author | timvolodine <timvolodine@chromium.org> | 2014-12-06 05:49:01 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-06 13:49:29 +0000 |
commit | 8e29c14638adbc5121a1514d041d5287e1116ca2 (patch) | |
tree | 61264f62068238ec7ac70a72b18898c4b94862b2 /content/renderer | |
parent | ef8183177b9be23c032c414d13f3bbb2a8bf3463 (diff) | |
download | chromium_src-8e29c14638adbc5121a1514d041d5287e1116ca2.zip chromium_src-8e29c14638adbc5121a1514d041d5287e1116ca2.tar.gz chromium_src-8e29c14638adbc5121a1514d041d5287e1116ca2.tar.bz2 |
Vibration API : migrate to device/vibration using mojo.
Migrate Vibration API to use mojo. This patch does the following:
1. move Vibration API to device/vibration,
2. implement a vibration mojo service which is used from platform.
3. delete old filters and ipc messages.
BUG=437537
Review URL: https://codereview.chromium.org/583663003
Cr-Commit-Position: refs/heads/master@{#307176}
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/BUILD.gn | 1 | ||||
-rw-r--r-- | content/renderer/DEPS | 1 | ||||
-rw-r--r-- | content/renderer/renderer_blink_platform_impl.cc | 16 | ||||
-rw-r--r-- | content/renderer/renderer_blink_platform_impl.h | 5 |
4 files changed, 20 insertions, 3 deletions
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn index ad403d6..664d9d4 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn @@ -31,6 +31,7 @@ source_set("renderer") { "//content/public/common:common_sources", "//content/public/common:mojo_bindings", "//device/battery:mojo_bindings", + "//device/vibration:mojo_bindings", "//gin", "//gpu", "//gpu/command_buffer/client:gles2_interface", diff --git a/content/renderer/DEPS b/content/renderer/DEPS index 3ddb644..30359e6 100644 --- a/content/renderer/DEPS +++ b/content/renderer/DEPS @@ -3,6 +3,7 @@ include_rules = [ "+content/public/renderer", "+content/child", "+device/battery", # For battery status service. + "+device/vibration", "+gin", "+jingle/glue", "+media", # For audio input/output and audio/video decoding. diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc index c247612..9b5d791 100644 --- a/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc @@ -35,6 +35,7 @@ #include "content/common/mime_registry_messages.h" #include "content/common/view_messages.h" #include "content/public/common/content_switches.h" +#include "content/public/common/service_registry.h" #include "content/public/common/webplugininfo.h" #include "content/public/renderer/content_renderer_client.h" #include "content/renderer/battery_status/battery_status_dispatcher.h" @@ -1054,12 +1055,21 @@ void RendererBlinkPlatformImpl::SetMockDeviceOrientationDataForTesting( //------------------------------------------------------------------------------ void RendererBlinkPlatformImpl::vibrate(unsigned int milliseconds) { - RenderThread::Get()->Send( - new ViewHostMsg_Vibrate(base::checked_cast<int64>(milliseconds))); + GetConnectedVibrationManagerService()->Vibrate( + base::checked_cast<int64>(milliseconds)); } void RendererBlinkPlatformImpl::cancelVibration() { - RenderThread::Get()->Send(new ViewHostMsg_CancelVibration()); + GetConnectedVibrationManagerService()->Cancel(); +} + +device::VibrationManagerPtr& +RendererBlinkPlatformImpl::GetConnectedVibrationManagerService() { + if (!vibration_manager_) { + RenderThread::Get()->GetServiceRegistry() + ->ConnectToRemoteService(&vibration_manager_); + } + return vibration_manager_; } //------------------------------------------------------------------------------ diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h index 3431d9f..06e599d 100644 --- a/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h @@ -12,6 +12,7 @@ #include "content/child/blink_platform_impl.h" #include "content/common/content_export.h" #include "content/renderer/webpublicsuffixlist_impl.h" +#include "device/vibration/vibration_manager.mojom.h" #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" #include "third_party/WebKit/public/platform/WebIDBFactory.h" #include "third_party/WebKit/public/platform/WebScreenOrientationType.h" @@ -199,6 +200,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { // Use the data previously set via SetMockDevice...DataForTesting() and send // them to the registered listener. void SendFakeDeviceEventDataForTesting(blink::WebPlatformEventType type); + device::VibrationManagerPtr& GetConnectedVibrationManagerService(); scoped_ptr<WebSchedulerImpl> web_scheduler_; @@ -246,6 +248,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { scoped_ptr<BatteryStatusDispatcher> battery_status_dispatcher_; + // Handle to the Vibration mojo service. + device::VibrationManagerPtr vibration_manager_; + IDMap<PlatformEventObserverBase, IDMapOwnPointer> platform_event_observers_; DISALLOW_COPY_AND_ASSIGN(RendererBlinkPlatformImpl); |