diff options
author | simonmorris@chromium.org <simonmorris@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-30 01:40:48 +0000 |
---|---|---|
committer | simonmorris@chromium.org <simonmorris@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-30 01:40:48 +0000 |
commit | 8640956ae7b2e82acdb8bf962a6483edec07a74c (patch) | |
tree | 04ba4d84d39391af14a3b23ad7006d6dd47a6adc /remoting/client | |
parent | e607239e7f1db8cac8214e44755b37d79b89fd36 (diff) | |
download | chromium_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.cc | 15 | ||||
-rw-r--r-- | remoting/client/plugin/chromoting_instance.h | 3 |
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. |