| Index: remoting/host/desktop_session_agent_posix.cc | 
| diff --git a/remoting/host/desktop_session_agent_posix.cc b/remoting/host/desktop_session_agent_posix.cc | 
| index d357d23be8b90cb9f3eece08d47f0a4bf8f16396..0d4f8b23995c9e98abf3abb325855be24be95df5 100644 | 
| --- a/remoting/host/desktop_session_agent_posix.cc | 
| +++ b/remoting/host/desktop_session_agent_posix.cc | 
| @@ -14,6 +14,7 @@ | 
| #include "ipc/ipc_channel.h" | 
| #include "ipc/ipc_channel_proxy.h" | 
| #include "remoting/base/auto_thread_task_runner.h" | 
| +#include "remoting/host/event_executor.h" | 
|  | 
| namespace remoting { | 
|  | 
| @@ -33,6 +34,7 @@ class DesktopSessionAgentPosix : public DesktopSessionAgent { | 
| virtual bool CreateChannelForNetworkProcess( | 
| IPC::PlatformFileForTransit* client_out, | 
| scoped_ptr<IPC::ChannelProxy>* server_out) OVERRIDE; | 
| +  virtual scoped_ptr<EventExecutor> CreateEventExecutor() OVERRIDE; | 
|  | 
| private: | 
| DISALLOW_COPY_AND_ASSIGN(DesktopSessionAgentPosix); | 
| @@ -88,6 +90,13 @@ bool DesktopSessionAgentPosix::CreateChannelForNetworkProcess( | 
| return true; | 
| } | 
|  | 
| +scoped_ptr<EventExecutor> DesktopSessionAgentPosix::CreateEventExecutor() { | 
| +  DCHECK(caller_task_runner()->BelongsToCurrentThread()); | 
| + | 
| +  return EventExecutor::Create(input_task_runner(), | 
| +                               caller_task_runner()).Pass(); | 
| +} | 
| + | 
| // static | 
| scoped_refptr<DesktopSessionAgent> DesktopSessionAgent::Create( | 
| scoped_refptr<AutoThreadTaskRunner> caller_task_runner, | 
|  |