Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Unified Diff: components/arc/arc_bridge_service_impl.cc

Issue 1495723004: Minimum implementation of ARC clipboard Bridge (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased to catch arc++ notification cl Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/arc/arc_bridge_service_impl.cc
diff --git a/components/arc/arc_bridge_service_impl.cc b/components/arc/arc_bridge_service_impl.cc
index df66d7cd5c41897167f129baa05e035474bd1d45..697b255d288084a2201f5c2db6ea6a4019e6f6bc 100644
--- a/components/arc/arc_bridge_service_impl.cc
+++ b/components/arc/arc_bridge_service_impl.cc
@@ -156,6 +156,19 @@ bool ArcBridgeServiceImpl::RequestAppIcon(const std::string& package,
scale_factor));
}
+bool ArcBridgeServiceImpl::SendClipboardContentToAndroid(
+ const ClipboardData data) {
+ DCHECK(origin_task_runner()->RunsTasksOnCurrentThread());
+ if (state() != State::READY) {
+ LOG(ERROR) << "Called SendClipboardContentToAndroid when the service is"
jochen (gone - plz use gerrit) 2015/12/07 15:45:09 no LOG please use DVLOG/VLOG the user won't see
+ << " not ready";
+ return false;
+ }
+
+ return ipc_channel_->Send(
+ new ArcInstanceMsg_SendClipboardContentToAndroid(data));
+}
+
void ArcBridgeServiceImpl::SocketConnect(const base::FilePath& socket_path) {
DCHECK(origin_task_runner()->RunsTasksOnCurrentThread());
if (state() != State::STOPPED) {
@@ -294,6 +307,10 @@ bool ArcBridgeServiceImpl::OnMessageReceived(const IPC::Message& message) {
OnNotificationPostedFromAndroid)
IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_NotificationRemoved,
OnNotificationRemovedFromAndroid)
+ IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_SetClipboardContent,
+ OnSetClipboardContent)
+ IPC_MESSAGE_HANDLER(ArcInstanceHostMsg_GetClipboardContent,
+ OnGetClipboardContent)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -319,6 +336,19 @@ void ArcBridgeServiceImpl::OnAppIcon(
OnAppIcon(package, activity, scale_factor, icon_png_data));
}
+void ArcBridgeServiceImpl::OnSetClipboardContent(
+ const ClipboardData& data) {
+ DCHECK(origin_task_runner()->RunsTasksOnCurrentThread());
+ FOR_EACH_OBSERVER(ClipboardObserver, clipboard_observer_list(),
+ OnSetClipboardContent(data));
+}
+
+void ArcBridgeServiceImpl::OnGetClipboardContent() {
+ DCHECK(origin_task_runner()->RunsTasksOnCurrentThread());
+ FOR_EACH_OBSERVER(ClipboardObserver, clipboard_observer_list(),
+ OnGetClipboardContent());
+}
+
void ArcBridgeServiceImpl::OnArcAvailable(bool arc_available) {
DCHECK(origin_task_runner()->RunsTasksOnCurrentThread());
if (available() == arc_available)

Powered by Google App Engine
This is Rietveld 408576698