| Index: remoting/client/plugin/chromoting_instance.cc
|
| diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc
|
| index 8a07ecb4feae6a6904507fbc83462adb02d7cdd5..d7f91952c5c1c23f41a9c41497af7997f6ca5d2e 100644
|
| --- a/remoting/client/plugin/chromoting_instance.cc
|
| +++ b/remoting/client/plugin/chromoting_instance.cc
|
| @@ -42,6 +42,8 @@
|
| #include "remoting/client/frame_consumer_proxy.h"
|
| #include "remoting/client/plugin/delegating_signal_strategy.h"
|
| #include "remoting/client/plugin/media_source_video_renderer.h"
|
| +#include "remoting/client/plugin/normalizing_input_filter_cros.h"
|
| +#include "remoting/client/plugin/normalizing_input_filter_mac.h"
|
| #include "remoting/client/plugin/pepper_audio_player.h"
|
| #include "remoting/client/plugin/pepper_input_handler.h"
|
| #include "remoting/client/plugin/pepper_port_allocator.h"
|
| @@ -210,8 +212,7 @@ ChromotingInstance::ChromotingInstance(PP_Instance pp_instance)
|
| context_(plugin_task_runner_.get()),
|
| input_tracker_(&mouse_input_filter_),
|
| key_mapper_(&input_tracker_),
|
| - normalizing_input_filter_(CreateNormalizingInputFilter(&key_mapper_)),
|
| - input_handler_(this, normalizing_input_filter_.get()),
|
| + input_handler_(this),
|
| use_async_pin_dialog_(false),
|
| use_media_source_rendering_(false),
|
| weak_factory_(this) {
|
| @@ -643,6 +644,30 @@ void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) {
|
| }
|
| }
|
|
|
| +#if defined(OS_NACL)
|
| + std::string key_filter;
|
| + if (!data.GetString("keyFilter", &key_filter)) {
|
| + NOTREACHED();
|
| + normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_));
|
| + } else if (key_filter == "mac") {
|
| + normalizing_input_filter_.reset(
|
| + new NormalizingInputFilterMac(&key_mapper_));
|
| + } else if (key_filter == "cros") {
|
| + normalizing_input_filter_.reset(
|
| + new NormalizingInputFilterCros(&key_mapper_));
|
| + } else {
|
| + DCHECK(key_filter.empty());
|
| + normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_));
|
| + }
|
| +#elif defined(OS_MACOSX)
|
| + normalizing_input_filter_.reset(new NormalizingInputFilterMac(&key_mapper_));
|
| +#elif defined(OS_CHROMEOS)
|
| + normalizing_input_filter_.reset(new NormalizingInputFilterCros(&key_mapper_));
|
| +#else
|
| + normalizing_input_filter_.reset(new protocol::InputFilter(&key_mapper_));
|
| +#endif
|
| + input_handler_.set_input_stub(normalizing_input_filter_.get());
|
| +
|
| ConnectWithConfig(config, local_jid);
|
| }
|
|
|
|
|