| Index: remoting/protocol/client_control_dispatcher.cc
|
| diff --git a/remoting/protocol/client_control_dispatcher.cc b/remoting/protocol/client_control_dispatcher.cc
|
| index 3ce2f95d619667ff340599cdbf985a5897881f6a..6ee42564f70c9bd4c132c0badeb720704f5a21c3 100644
|
| --- a/remoting/protocol/client_control_dispatcher.cc
|
| +++ b/remoting/protocol/client_control_dispatcher.cc
|
| @@ -59,13 +59,7 @@ bool CursorShapeIsValid(const CursorShapeInfo& cursor_shape) {
|
| } // namespace
|
|
|
| ClientControlDispatcher::ClientControlDispatcher()
|
| - : ChannelDispatcherBase(kControlChannelName),
|
| - client_stub_(nullptr),
|
| - clipboard_stub_(nullptr),
|
| - parser_(base::Bind(&ClientControlDispatcher::OnMessageReceived,
|
| - base::Unretained(this)),
|
| - reader()) {}
|
| -
|
| + : ChannelDispatcherBase(kControlChannelName) {}
|
| ClientControlDispatcher::~ClientControlDispatcher() {}
|
|
|
| void ClientControlDispatcher::InjectClipboardEvent(
|
| @@ -115,11 +109,16 @@ void ClientControlDispatcher::DeliverClientMessage(
|
| writer()->Write(SerializeAndFrameMessage(control_message), base::Closure());
|
| }
|
|
|
| -void ClientControlDispatcher::OnMessageReceived(
|
| - scoped_ptr<ControlMessage> message) {
|
| +void ClientControlDispatcher::OnIncomingMessage(
|
| + scoped_ptr<CompoundBuffer> buffer) {
|
| DCHECK(client_stub_);
|
| DCHECK(clipboard_stub_);
|
|
|
| + scoped_ptr<ControlMessage> message =
|
| + ParseMessage<ControlMessage>(buffer.get());
|
| + if (!message)
|
| + return;
|
| +
|
| if (message->has_clipboard_event()) {
|
| clipboard_stub_->InjectClipboardEvent(message->clipboard_event());
|
| } else if (message->has_capabilities()) {
|
|
|