Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(756)

Unified Diff: remoting/client/plugin/chromoting_instance.cc

Issue 292103004: Enable keyboard filters in PNaCl client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/client/plugin/chromoting_instance.h ('k') | remoting/client/plugin/normalizing_input_filter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « remoting/client/plugin/chromoting_instance.h ('k') | remoting/client/plugin/normalizing_input_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698