| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "remoting/client/plugin/chromoting_instance.h" | 5 #include "remoting/client/plugin/chromoting_instance.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 } else if (method == "pauseVideo") { | 315 } else if (method == "pauseVideo") { |
| 316 bool pause = false; | 316 bool pause = false; |
| 317 if (!data->GetBoolean("pause", &pause)) { | 317 if (!data->GetBoolean("pause", &pause)) { |
| 318 LOG(ERROR) << "Invalid pauseVideo."; | 318 LOG(ERROR) << "Invalid pauseVideo."; |
| 319 return; | 319 return; |
| 320 } | 320 } |
| 321 PauseVideo(pause); | 321 PauseVideo(pause); |
| 322 } | 322 } |
| 323 } | 323 } |
| 324 | 324 |
| 325 void ChromotingInstance::DidChangeView(const pp::Rect& position, | 325 void ChromotingInstance::DidChangeView(const pp::View& view) { |
| 326 const pp::Rect& clip) { | |
| 327 DCHECK(plugin_message_loop_->BelongsToCurrentThread()); | 326 DCHECK(plugin_message_loop_->BelongsToCurrentThread()); |
| 328 | 327 |
| 329 SkISize new_size = SkISize::Make(position.width(), position.height()); | 328 view_->SetView(view); |
| 330 SkIRect new_clip = | |
| 331 SkIRect::MakeXYWH(clip.x(), clip.y(), clip.width(), clip.height()); | |
| 332 | |
| 333 view_->SetView(new_size, new_clip); | |
| 334 | 329 |
| 335 if (mouse_input_filter_.get()) { | 330 if (mouse_input_filter_.get()) { |
| 336 mouse_input_filter_->set_input_size(view_->get_view_size()); | 331 mouse_input_filter_->set_input_size(view_->get_view_size_dips()); |
| 337 } | 332 } |
| 338 } | 333 } |
| 339 | 334 |
| 340 bool ChromotingInstance::HandleInputEvent(const pp::InputEvent& event) { | 335 bool ChromotingInstance::HandleInputEvent(const pp::InputEvent& event) { |
| 341 DCHECK(plugin_message_loop_->BelongsToCurrentThread()); | 336 DCHECK(plugin_message_loop_->BelongsToCurrentThread()); |
| 342 | 337 |
| 343 if (!IsConnected()) | 338 if (!IsConnected()) |
| 344 return false; | 339 return false; |
| 345 | 340 |
| 346 // TODO(wez): When we have a good hook into Host dimensions changes, move | 341 // TODO(wez): When we have a good hook into Host dimensions changes, move |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 380 | 375 |
| 381 host_connection_.reset(new protocol::ConnectionToHost(true)); | 376 host_connection_.reset(new protocol::ConnectionToHost(true)); |
| 382 client_.reset(new ChromotingClient(config, context_.main_task_runner(), | 377 client_.reset(new ChromotingClient(config, context_.main_task_runner(), |
| 383 host_connection_.get(), view_.get(), | 378 host_connection_.get(), view_.get(), |
| 384 rectangle_decoder_.get(), | 379 rectangle_decoder_.get(), |
| 385 audio_player_.get())); | 380 audio_player_.get())); |
| 386 | 381 |
| 387 // Construct the input pipeline | 382 // Construct the input pipeline |
| 388 mouse_input_filter_.reset( | 383 mouse_input_filter_.reset( |
| 389 new protocol::MouseInputFilter(host_connection_->input_stub())); | 384 new protocol::MouseInputFilter(host_connection_->input_stub())); |
| 390 mouse_input_filter_->set_input_size(view_->get_view_size()); | 385 mouse_input_filter_->set_input_size(view_->get_view_size_dips()); |
| 391 input_tracker_.reset( | 386 input_tracker_.reset( |
| 392 new protocol::InputEventTracker(mouse_input_filter_.get())); | 387 new protocol::InputEventTracker(mouse_input_filter_.get())); |
| 393 | 388 |
| 394 #if defined(OS_MACOSX) | 389 #if defined(OS_MACOSX) |
| 395 // On Mac we need an extra filter to inject missing keyup events. | 390 // On Mac we need an extra filter to inject missing keyup events. |
| 396 // See remoting/client/plugin/mac_key_event_processor.h for more details. | 391 // See remoting/client/plugin/mac_key_event_processor.h for more details. |
| 397 mac_key_event_processor_.reset( | 392 mac_key_event_processor_.reset( |
| 398 new MacKeyEventProcessor(input_tracker_.get())); | 393 new MacKeyEventProcessor(input_tracker_.get())); |
| 399 key_mapper_.set_input_stub(mac_key_event_processor_.get()); | 394 key_mapper_.set_input_stub(mac_key_event_processor_.get()); |
| 400 #else | 395 #else |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 710 PostChromotingMessage("logDebugMessage", data.Pass()); | 705 PostChromotingMessage("logDebugMessage", data.Pass()); |
| 711 g_logging_to_plugin = false; | 706 g_logging_to_plugin = false; |
| 712 } | 707 } |
| 713 | 708 |
| 714 bool ChromotingInstance::IsConnected() { | 709 bool ChromotingInstance::IsConnected() { |
| 715 return host_connection_.get() && | 710 return host_connection_.get() && |
| 716 (host_connection_->state() == protocol::ConnectionToHost::CONNECTED); | 711 (host_connection_->state() == protocol::ConnectionToHost::CONNECTED); |
| 717 } | 712 } |
| 718 | 713 |
| 719 } // namespace remoting | 714 } // namespace remoting |
| OLD | NEW |