| Index: remoting/protocol/host_message_dispatcher.cc
|
| diff --git a/remoting/protocol/host_message_dispatcher.cc b/remoting/protocol/host_message_dispatcher.cc
|
| index 807234e2193edc075b57b3295ff16bba60c30e33..c2b6423836b3306247ef90a599359d707a2e8765 100644
|
| --- a/remoting/protocol/host_message_dispatcher.cc
|
| +++ b/remoting/protocol/host_message_dispatcher.cc
|
| @@ -52,16 +52,14 @@ void HostMessageDispatcher::Initialize(
|
|
|
| void HostMessageDispatcher::OnControlMessageReceived(
|
| ControlMessage* message, Task* done_task) {
|
| - // TODO(sergeyu): Add message validation.
|
| if (message->has_begin_session_request()) {
|
| - host_stub_->BeginSessionRequest(
|
| - &message->begin_session_request().credentials(), done_task);
|
| - return;
|
| - }
|
| - if (message->has_suggest_resolution()) {
|
| - host_stub_->SuggestResolution(&message->suggest_resolution(), done_task);
|
| - return;
|
| + const BeginSessionRequest& request = message->begin_session_request();
|
| + if (request.has_credentials() && request.credentials().has_type()) {
|
| + host_stub_->BeginSessionRequest(&request.credentials(), done_task);
|
| + return;
|
| + }
|
| }
|
| +
|
| LOG(WARNING) << "Invalid control message received.";
|
| done_task->Run();
|
| delete done_task;
|
| @@ -69,16 +67,19 @@ void HostMessageDispatcher::OnControlMessageReceived(
|
|
|
| void HostMessageDispatcher::OnEventMessageReceived(
|
| EventMessage* message, Task* done_task) {
|
| - // TODO(sergeyu): Add message validation.
|
| connection_->UpdateSequenceNumber(message->sequence_number());
|
| +
|
| if (message->has_key_event()) {
|
| - input_stub_->InjectKeyEvent(&message->key_event(), done_task);
|
| - return;
|
| - }
|
| - if (message->has_mouse_event()) {
|
| + const KeyEvent& event = message->key_event();
|
| + if (event.has_keycode() && event.has_pressed()) {
|
| + input_stub_->InjectKeyEvent(&event, done_task);
|
| + return;
|
| + }
|
| + } else if (message->has_mouse_event()) {
|
| input_stub_->InjectMouseEvent(&message->mouse_event(), done_task);
|
| return;
|
| }
|
| +
|
| LOG(WARNING) << "Invalid event message received.";
|
| done_task->Run();
|
| delete done_task;
|
|
|