summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authortimvolodine <timvolodine@chromium.org>2014-12-06 05:49:01 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-06 13:49:29 +0000
commit8e29c14638adbc5121a1514d041d5287e1116ca2 (patch)
tree61264f62068238ec7ac70a72b18898c4b94862b2 /content/renderer
parentef8183177b9be23c032c414d13f3bbb2a8bf3463 (diff)
downloadchromium_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.gn1
-rw-r--r--content/renderer/DEPS1
-rw-r--r--content/renderer/renderer_blink_platform_impl.cc16
-rw-r--r--content/renderer/renderer_blink_platform_impl.h5
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);