Index: content/renderer/wake_lock/wake_lock_dispatcher.cc |
diff --git a/content/renderer/wake_lock/wake_lock_dispatcher.cc b/content/renderer/wake_lock/wake_lock_dispatcher.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1fc65b8f922e5a9d6a1679d8fc0353447892f9e7 |
--- /dev/null |
+++ b/content/renderer/wake_lock/wake_lock_dispatcher.cc |
@@ -0,0 +1,84 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "content/renderer/wake_lock/wake_lock_dispatcher.h" |
+ |
+#include "content/common/wake_lock_messages.h" |
+#include "third_party/WebKit/public/platform/WebString.h" |
+#include "third_party/WebKit/public/platform/WebWakeLockRequestCallback.h" |
+#include "third_party/WebKit/public/web/WebSecurityOrigin.h" |
+ |
+namespace content { |
+ |
+WakeLockDispatcher::WakeLockDispatcher(RenderView* render_view) |
+ : RenderViewObserver(render_view), |
+ blink::WebWakeLockClient(), |
+ callback_(0) { |
+} |
+ |
+WakeLockDispatcher::~WakeLockDispatcher() {} |
+ |
+bool WakeLockDispatcher::OnMessageReceived(const IPC::Message& message) { |
+ bool handled = true; |
+ IPC_BEGIN_MESSAGE_MAP(WakeLockDispatcher, message) |
+ IPC_MESSAGE_HANDLER(WakeLockViewMsg_LockedSuccessful, |
+ OnCreatedWakeLockSuccessful) |
+ IPC_MESSAGE_HANDLER(WakeLockViewMsg_LockedFailed, |
+ OnCreatedWakeLockFailed) |
+ IPC_MESSAGE_HANDLER(WakeLockViewMsg_UnlockedSuccessful, |
+ OnUnlockedWakeLockSuccessful) |
+ IPC_MESSAGE_HANDLER(WakeLockViewMsg_UnlockedFailed, |
+ OnUnlockedWakeLockFailed) |
+ IPC_MESSAGE_UNHANDLED(handled = false) |
+ IPC_END_MESSAGE_MAP() |
+ return handled; |
+} |
+ |
+void WakeLockDispatcher::requestWakeLock( |
+ const blink::WakeLockRequestInfo& info, |
+ const blink::WebSecurityOrigin& origin) { |
+ Send(new WakeLockViewHostMsg_RequestLock( |
+ routing_id(), info, GURL(origin.toString()))); |
+} |
+ |
+void WakeLockDispatcher::requestWakeUnlock( |
+ const blink::WakeLockRequestInfo& info) { |
+ Send(new WakeLockViewHostMsg_RequestUnlock( |
+ routing_id(), info)); |
+} |
+ |
+void WakeLockDispatcher::OnCreatedWakeLockSuccessful(int request_id) { |
+ if (callback_) { |
+ callback_->onCreatedWakeLockSuccessful(request_id); |
+ } |
+} |
+ |
+void WakeLockDispatcher::OnCreatedWakeLockFailed(int request_id) { |
+ if (callback_) { |
+ callback_->onCreatedWakeLockFailed(request_id); |
+ } |
+} |
+ |
+void WakeLockDispatcher::OnUnlockedWakeLockSuccessful(int request_id) { |
+ if (callback_) { |
+ callback_->onUnlockedWakeLockSuccessful(request_id); |
+ } |
+} |
+ |
+void WakeLockDispatcher::OnUnlockedWakeLockFailed(int request_id) { |
+ if (callback_) { |
+ callback_->onUnlockedWakeLockFailed(request_id); |
+ } |
+} |
+ |
+void WakeLockDispatcher::wakeLockDestroyed() { |
+ callback_ = 0; |
+} |
+ |
+void WakeLockDispatcher::setRequestCallback( |
+ blink::WebWakeLockRequestCallback* callback) { |
+ callback_ = callback; |
+} |
+ |
+} // namespace content |