| 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 #if defined(OS_NACL) | 10 #if defined(OS_NACL) |
| (...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 if (data.HasKey("capabilities")) { | 636 if (data.HasKey("capabilities")) { |
| 637 if (!data.GetString("capabilities", &capabilities)) { | 637 if (!data.GetString("capabilities", &capabilities)) { |
| 638 LOG(ERROR) << "Invalid connect() data."; | 638 LOG(ERROR) << "Invalid connect() data."; |
| 639 return; | 639 return; |
| 640 } | 640 } |
| 641 } | 641 } |
| 642 | 642 |
| 643 VLOG(0) << "Connecting to " << host_jid | 643 VLOG(0) << "Connecting to " << host_jid |
| 644 << ". Local jid: " << local_jid << "."; | 644 << ". Local jid: " << local_jid << "."; |
| 645 | 645 |
| 646 std::string key_filter; |
| 646 #if defined(OS_NACL) | 647 #if defined(OS_NACL) |
| 647 std::string key_filter; | |
| 648 if (!data.GetString("keyFilter", &key_filter)) { | 648 if (!data.GetString("keyFilter", &key_filter)) { |
| 649 NOTREACHED(); | 649 NOTREACHED(); |
| 650 normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_)); | 650 normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_)); |
| 651 } else if (key_filter == "mac") { | 651 } else if (key_filter == "mac") { |
| 652 normalizing_input_filter_.reset( | 652 normalizing_input_filter_.reset( |
| 653 new NormalizingInputFilterMac(&key_mapper_)); | 653 new NormalizingInputFilterMac(&key_mapper_)); |
| 654 } else if (key_filter == "cros") { | 654 } else if (key_filter == "cros") { |
| 655 normalizing_input_filter_.reset( | 655 normalizing_input_filter_.reset( |
| 656 new NormalizingInputFilterCros(&key_mapper_)); | 656 new NormalizingInputFilterCros(&key_mapper_)); |
| 657 } else { | 657 } else { |
| 658 DCHECK(key_filter.empty()); | 658 DCHECK(key_filter.empty()); |
| 659 normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_)); | 659 normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_)); |
| 660 } | 660 } |
| 661 #elif defined(OS_MACOSX) | 661 #elif defined(OS_MACOSX) |
| 662 normalizing_input_filter_.reset(new NormalizingInputFilterMac(&key_mapper_)); | 662 normalizing_input_filter_.reset(new NormalizingInputFilterMac(&key_mapper_)); |
| 663 #elif defined(OS_CHROMEOS) | 663 #elif defined(OS_CHROMEOS) |
| 664 key_filter = "cros"; |
| 664 normalizing_input_filter_.reset(new NormalizingInputFilterCros(&key_mapper_)); | 665 normalizing_input_filter_.reset(new NormalizingInputFilterCros(&key_mapper_)); |
| 665 #else | 666 #else |
| 666 normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_)); | 667 normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_)); |
| 667 #endif | 668 #endif |
| 668 input_handler_.set_input_stub(normalizing_input_filter_.get()); | 669 input_handler_.set_input_stub(normalizing_input_filter_.get()); |
| 669 | 670 |
| 671 // Enable stuck modifier key detection on platforms other than ChromeOS. |
| 672 // ChromeOS doesn't set modifier flags for "rewritten" keyboard events |
| 673 // such as Alt+Backspace, which causes ReleaseAllIfModifiersStuck to |
| 674 // incorrectly release all keys, so don't enable it on that platform. |
| 675 input_handler_.set_detect_stuck_modifiers(key_filter != "cros"); |
| 676 |
| 670 // PPB_VideoDecoder is not always enabled because it's broken in some versions | 677 // PPB_VideoDecoder is not always enabled because it's broken in some versions |
| 671 // of Chrome. See crbug.com/447403 . | 678 // of Chrome. See crbug.com/447403 . |
| 672 bool enable_video_decode_renderer = false; | 679 bool enable_video_decode_renderer = false; |
| 673 if (data.GetBoolean("enableVideoDecodeRenderer", | 680 if (data.GetBoolean("enableVideoDecodeRenderer", |
| 674 &enable_video_decode_renderer) && | 681 &enable_video_decode_renderer) && |
| 675 enable_video_decode_renderer) { | 682 enable_video_decode_renderer) { |
| 676 LogToWebapp("Initializing 3D renderer."); | 683 LogToWebapp("Initializing 3D renderer."); |
| 677 video_renderer_.reset(new PepperVideoRenderer3D()); | 684 video_renderer_.reset(new PepperVideoRenderer3D()); |
| 678 if (!video_renderer_->Initialize(this, context_, this)) | 685 if (!video_renderer_->Initialize(this, context_, this)) |
| 679 video_renderer_.reset(); | 686 video_renderer_.reset(); |
| (...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1190 | 1197 |
| 1191 #if !defined(OS_NACL) | 1198 #if !defined(OS_NACL) |
| 1192 // Log messages are forwarded to the webapp only in PNaCl version of the | 1199 // Log messages are forwarded to the webapp only in PNaCl version of the |
| 1193 // plugin, so ProcessLogToUI() needs to be called explicitly in the non-PNaCl | 1200 // plugin, so ProcessLogToUI() needs to be called explicitly in the non-PNaCl |
| 1194 // version. | 1201 // version. |
| 1195 ProcessLogToUI(message); | 1202 ProcessLogToUI(message); |
| 1196 #endif // !defined(OS_NACL) | 1203 #endif // !defined(OS_NACL) |
| 1197 } | 1204 } |
| 1198 | 1205 |
| 1199 } // namespace remoting | 1206 } // namespace remoting |
| OLD | NEW |