summaryrefslogtreecommitdiffstats
path: root/remoting/client
diff options
context:
space:
mode:
authorsimonmorris@chromium.org <simonmorris@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-30 01:40:48 +0000
committersimonmorris@chromium.org <simonmorris@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-30 01:40:48 +0000
commit8640956ae7b2e82acdb8bf962a6483edec07a74c (patch)
tree04ba4d84d39391af14a3b23ad7006d6dd47a6adc /remoting/client
parente607239e7f1db8cac8214e44755b37d79b89fd36 (diff)
downloadchromium_src-8640956ae7b2e82acdb8bf962a6483edec07a74c.zip
chromium_src-8640956ae7b2e82acdb8bf962a6483edec07a74c.tar.gz
chromium_src-8640956ae7b2e82acdb8bf962a6483edec07a74c.tar.bz2
[Chromoting] Let the webapp send text clipboard items to the client plugin.
BUG=117473 Review URL: http://codereview.chromium.org/9834036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129757 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/client')
-rw-r--r--remoting/client/plugin/chromoting_instance.cc15
-rw-r--r--remoting/client/plugin/chromoting_instance.h3
2 files changed, 17 insertions, 1 deletions
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
index 341411b..d357ce5 100644
--- a/remoting/client/plugin/chromoting_instance.cc
+++ b/remoting/client/plugin/chromoting_instance.cc
@@ -25,6 +25,7 @@
#include "ppapi/cpp/rect.h"
// TODO(wez): Remove this when crbug.com/86353 is complete.
#include "ppapi/cpp/private/var_private.h"
+#include "remoting/base/constants.h"
#include "remoting/base/util.h"
#include "remoting/client/client_config.h"
#include "remoting/client/chromoting_client.h"
@@ -248,6 +249,15 @@ void ChromotingInstance::HandleMessage(const pp::Var& message) {
OnIncomingIq(iq);
} else if (method == "releaseAllKeys") {
ReleaseAllKeys();
+ } else if (method == "sendClipboardItem") {
+ std::string mime_type;
+ std::string item;
+ if (!data->GetString("mimeType", &mime_type) ||
+ !data->GetString("item", &item)) {
+ LOG(ERROR) << "Invalid sendClipboardItem() data.";
+ return;
+ }
+ SendClipboardItem(mime_type, item);
}
}
@@ -395,6 +405,11 @@ void ChromotingInstance::ReleaseAllKeys() {
}
}
+void ChromotingInstance::SendClipboardItem(const std::string& mime_type,
+ const std::string& item) {
+ // TODO(simonmorris): Plumb this in to a ClipboardStub.
+}
+
ChromotingStats* ChromotingInstance::GetStats() {
if (!client_.get())
return NULL;
diff --git a/remoting/client/plugin/chromoting_instance.h b/remoting/client/plugin/chromoting_instance.h
index 84780d6..adc40e0 100644
--- a/remoting/client/plugin/chromoting_instance.h
+++ b/remoting/client/plugin/chromoting_instance.h
@@ -86,7 +86,7 @@ class ChromotingInstance :
// Plugin API version. This should be incremented whenever the API
// interface changes.
- static const int kApiVersion = 5;
+ static const int kApiVersion = 6;
// Backward-compatibility version used by for the messaging
// interface. Should be updated whenever we remove support for
@@ -129,6 +129,7 @@ class ChromotingInstance :
void Disconnect();
void OnIncomingIq(const std::string& iq);
void ReleaseAllKeys();
+ void SendClipboardItem(const std::string& mime_type, const std::string& item);
// Return statistics record by ChromotingClient.
// If no connection is currently active then NULL will be returned.