| Index: remoting/host/desktop_process.h | 
| diff --git a/remoting/host/desktop_process.h b/remoting/host/desktop_process.h | 
| index e95971ee00067a7a1a13ad2fdaaad441a1d29e9b..606dab5d212371d62cb873bfd2f0edb50e2b8708 100644 | 
| --- a/remoting/host/desktop_process.h | 
| +++ b/remoting/host/desktop_process.h | 
| @@ -11,7 +11,9 @@ | 
| #include "base/compiler_specific.h" | 
| #include "base/memory/ref_counted.h" | 
| #include "base/memory/scoped_ptr.h" | 
| +#include "base/memory/weak_ptr.h" | 
| #include "ipc/ipc_listener.h" | 
| +#include "remoting/host/desktop_session_agent.h" | 
|  | 
| namespace IPC { | 
| class ChannelProxy; | 
| @@ -22,12 +24,18 @@ namespace remoting { | 
| class AutoThreadTaskRunner; | 
| class DesktopSessionAgent; | 
|  | 
| -class DesktopProcess : public IPC::Listener { | 
| +class DesktopProcess : public DesktopSessionAgent::Delegate, | 
| +                       public IPC::Listener, | 
| +                       public base::SupportsWeakPtr<DesktopProcess> { | 
| public: | 
| DesktopProcess(scoped_refptr<AutoThreadTaskRunner> caller_task_runner, | 
| const std::string& daemon_channel_name); | 
| virtual ~DesktopProcess(); | 
|  | 
| +  // DesktopSessionAgent::Delegate implementation. | 
| +  virtual void OnNetworkProcessDisconnected() OVERRIDE; | 
| +  virtual void InjectSas() OVERRIDE; | 
| + | 
| // IPC::Listener implementation. | 
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 
| virtual void OnChannelConnected(int32 peer_pid) OVERRIDE; | 
|  |