| Index: remoting/host/ipc_mouse_cursor_monitor.cc | 
| diff --git a/remoting/host/ipc_mouse_cursor_monitor.cc b/remoting/host/ipc_mouse_cursor_monitor.cc | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..e4f4bc3f80b077dd7c4b24e2a2f0fc412af87614 | 
| --- /dev/null | 
| +++ b/remoting/host/ipc_mouse_cursor_monitor.cc | 
| @@ -0,0 +1,42 @@ | 
| +// Copyright 2013 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#include "remoting/host/ipc_mouse_cursor_monitor.h" | 
| + | 
| +#include "remoting/host/desktop_session_proxy.h" | 
| +#include "third_party/webrtc/modules/desktop_capture/mouse_cursor.h" | 
| + | 
| +namespace remoting { | 
| + | 
| +IpcMouseCursorMonitor::IpcMouseCursorMonitor( | 
| +    scoped_refptr<DesktopSessionProxy> desktop_session_proxy) | 
| +    : callback_(NULL), | 
| +      desktop_session_proxy_(desktop_session_proxy), | 
| +      weak_factory_(this) { | 
| +} | 
| + | 
| +IpcMouseCursorMonitor::~IpcMouseCursorMonitor() {} | 
| + | 
| +void IpcMouseCursorMonitor::Init(Callback* callback, Mode mode) { | 
| +  DCHECK(!callback_); | 
| +  DCHECK(callback); | 
| +  DCHECK_EQ(webrtc::MouseCursorMonitor::SHAPE_ONLY, mode); | 
| +  callback_ = callback; | 
| +  desktop_session_proxy_->SetMouseCursorMonitor(weak_factory_.GetWeakPtr()); | 
| +} | 
| + | 
| +void IpcMouseCursorMonitor::Capture() { | 
| +  // Ignore. DesktopSessionAgent will capture the cursor at the same time it | 
| +  // captures a screen frame when |IpcVideoFrameCapturer::Capture()| is called. | 
| +  // This saves an IPC roundtrip. | 
| +} | 
| + | 
| +void IpcMouseCursorMonitor::OnMouseCursor( | 
| +    scoped_ptr<webrtc::MouseCursor> cursor) { | 
| +  DCHECK(callback_); | 
| +  callback_->OnMouseCursor(cursor.release()); | 
| +} | 
| + | 
| +}  // namespace remoting | 
| + | 
|  |