summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authorsimonmorris@chromium.org <simonmorris@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-02 01:05:32 +0000
committersimonmorris@chromium.org <simonmorris@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-02 01:05:32 +0000
commit3f9c39433359eff4626a3aa947ad81b6585baa30 (patch)
treee90b1035c140cdc8107db2cebcf7cbd72bb689ec /remoting
parenta24cea825d6a804ab54fcc04697c6a0328b19752 (diff)
downloadchromium_src-3f9c39433359eff4626a3aa947ad81b6585baa30.zip
chromium_src-3f9c39433359eff4626a3aa947ad81b6585baa30.tar.gz
chromium_src-3f9c39433359eff4626a3aa947ad81b6585baa30.tar.bz2
[Chromoting] Enable clipboard for the Windows Me2Me host.
BUG=117473 Review URL: https://chromiumcodereview.appspot.com/10449101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140148 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r--remoting/host/session_event_executor_win.cc30
1 files changed, 27 insertions, 3 deletions
diff --git a/remoting/host/session_event_executor_win.cc b/remoting/host/session_event_executor_win.cc
index f6366c7..079a44d 100644
--- a/remoting/host/session_event_executor_win.cc
+++ b/remoting/host/session_event_executor_win.cc
@@ -70,16 +70,40 @@ SessionEventExecutorWin::~SessionEventExecutorWin() {
void SessionEventExecutorWin::OnSessionStarted(
scoped_ptr<protocol::ClipboardStub> client_clipboard) {
- // TODO(simonmorris): Delegate to the nested executor.
+ if (MessageLoop::current() != message_loop_) {
+ message_loop_->PostTask(
+ FROM_HERE,
+ base::Bind(&SessionEventExecutorWin::OnSessionStarted,
+ base::Unretained(this), base::Passed(&client_clipboard)));
+ return;
+ }
+
+ nested_executor_->OnSessionStarted(client_clipboard.Pass());
}
void SessionEventExecutorWin::OnSessionFinished() {
- // TODO(simonmorris): Delegate to the nested executor.
+ if (MessageLoop::current() != message_loop_) {
+ message_loop_->PostTask(
+ FROM_HERE,
+ base::Bind(&SessionEventExecutorWin::OnSessionFinished,
+ base::Unretained(this)));
+ return;
+ }
+
+ nested_executor_->OnSessionFinished();
}
void SessionEventExecutorWin::InjectClipboardEvent(
const ClipboardEvent& event) {
- // TODO(simonmorris): Delegate to the nested executor.
+ if (MessageLoop::current() != message_loop_) {
+ message_loop_->PostTask(
+ FROM_HERE,
+ base::Bind(&SessionEventExecutorWin::InjectClipboardEvent,
+ base::Unretained(this), event));
+ return;
+ }
+
+ nested_executor_->InjectClipboardEvent(event);
}
void SessionEventExecutorWin::InjectKeyEvent(const KeyEvent& event) {