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

Unified Diff: ui/aura/window_tree_host_unittest.cc

Issue 2916673002: Don't rewrite events twice. (Closed)
Patch Set: Don't depend on MockInputMethod. Created 3 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 | « ui/aura/window_tree_host.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura/window_tree_host_unittest.cc
diff --git a/ui/aura/window_tree_host_unittest.cc b/ui/aura/window_tree_host_unittest.cc
index e4ce37c0412da271e98a48a6b44d8d4d5cd9c894..7da3eb9853d1e149186189ff4e4b8485c5f4ba99 100644
--- a/ui/aura/window_tree_host_unittest.cc
+++ b/ui/aura/window_tree_host_unittest.cc
@@ -5,7 +5,41 @@
#include "ui/aura/test/aura_test_base.h"
#include "ui/aura/test/test_screen.h"
#include "ui/aura/window.h"
+#include "ui/base/ime/input_method.h"
#include "ui/compositor/layer.h"
+#include "ui/events/event_rewriter.h"
+
+namespace {
+
+// Counts number of events observed.
+class CounterEventRewriter : public ui::EventRewriter {
+ public:
+ CounterEventRewriter() : events_seen_(0) {}
+ ~CounterEventRewriter() override {}
+
+ int events_seen() const { return events_seen_; }
+
+ private:
+ // ui::EventRewriter:
+ ui::EventRewriteStatus RewriteEvent(
+ const ui::Event& event,
+ std::unique_ptr<ui::Event>* new_event) override {
+ events_seen_++;
+ return ui::EVENT_REWRITE_CONTINUE;
+ }
+
+ ui::EventRewriteStatus NextDispatchEvent(
+ const ui::Event& last_event,
+ std::unique_ptr<ui::Event>* new_event) override {
+ return ui::EVENT_REWRITE_CONTINUE;
+ }
+
+ int events_seen_;
+
+ DISALLOW_COPY_AND_ASSIGN(CounterEventRewriter);
+};
+
+} // namespace
namespace aura {
@@ -39,4 +73,15 @@ TEST_F(WindowTreeHostTest, DPIWindowSize) {
host()->compositor()->root_layer()->subpixel_position_offset());
}
+TEST_F(WindowTreeHostTest, NoRewritesPostIME) {
+ CounterEventRewriter event_rewriter;
+ host()->AddEventRewriter(&event_rewriter);
+
+ ui::KeyEvent key_event('A', ui::VKEY_A, 0);
+ host()->GetInputMethod()->DispatchKeyEvent(&key_event);
+ EXPECT_EQ(0, event_rewriter.events_seen());
sadrul 2017/06/02 20:04:39 Can you do SendEventToSink() on the WTH, and verif
+
+ host()->RemoveEventRewriter(&event_rewriter);
+}
+
} // namespace aura
« no previous file with comments | « ui/aura/window_tree_host.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698