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

Side by Side Diff: ui/base/ime/input_method_chromeos_unittest.cc

Issue 2957173004: Make DispatchKeyEventPostIME() asynchronous.
Patch Set: cleanup. Created 3 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "ui/base/ime/input_method_chromeos.h" 5 #include "ui/base/ime/input_method_chromeos.h"
6 6
7 #include <X11/Xlib.h> 7 #include <X11/Xlib.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 process_key_event_post_ime_call_count_(0) { 70 process_key_event_post_ime_call_count_(0) {
71 } 71 }
72 72
73 struct ProcessKeyEventPostIMEArgs { 73 struct ProcessKeyEventPostIMEArgs {
74 ProcessKeyEventPostIMEArgs() : event(NULL), handled(false) {} 74 ProcessKeyEventPostIMEArgs() : event(NULL), handled(false) {}
75 const ui::KeyEvent* event; 75 const ui::KeyEvent* event;
76 bool handled; 76 bool handled;
77 }; 77 };
78 78
79 // Overridden from InputMethodChromeOS: 79 // Overridden from InputMethodChromeOS:
80 ui::EventDispatchDetails ProcessKeyEventPostIME(ui::KeyEvent* key_event, 80 ui::EventDispatchDetails ProcessKeyEventPostIME(
81 bool handled) override { 81 ui::KeyEvent* key_event,
82 std::unique_ptr<AckCallback> ack_callback,
83 bool skip_process_filtered,
84 bool handled) override {
82 ui::EventDispatchDetails details = 85 ui::EventDispatchDetails details =
83 InputMethodChromeOS::ProcessKeyEventPostIME(key_event, handled); 86 InputMethodChromeOS::ProcessKeyEventPostIME(
84 process_key_event_post_ime_args_.event = key_event; 87 key_event, std::move(ack_callback), skip_process_filtered, handled);
85 process_key_event_post_ime_args_.handled = handled; 88 if (!skip_process_filtered) {
86 ++process_key_event_post_ime_call_count_; 89 process_key_event_post_ime_args_.event = key_event;
90 process_key_event_post_ime_args_.handled = handled;
91 ++process_key_event_post_ime_call_count_;
92 }
87 return details; 93 return details;
88 } 94 }
89 95
90 void ResetCallCount() { 96 void ResetCallCount() {
91 process_key_event_post_ime_call_count_ = 0; 97 process_key_event_post_ime_call_count_ = 0;
92 } 98 }
93 99
94 const ProcessKeyEventPostIMEArgs& process_key_event_post_ime_args() const { 100 const ProcessKeyEventPostIMEArgs& process_key_event_post_ime_args() const {
95 return process_key_event_post_ime_args_; 101 return process_key_event_post_ime_args_;
96 } 102 }
(...skipping 856 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 // Preparation. 959 // Preparation.
954 input_type_ = TEXT_INPUT_TYPE_TEXT; 960 input_type_ = TEXT_INPUT_TYPE_TEXT;
955 ime_->OnTextInputTypeChanged(this); 961 ime_->OnTextInputTypeChanged(this);
956 962
957 ui::KeyEvent eventA(ET_KEY_PRESSED, 963 ui::KeyEvent eventA(ET_KEY_PRESSED,
958 VKEY_OEM_4, // '[' 964 VKEY_OEM_4, // '['
959 DomCode::BRACKET_LEFT, 965 DomCode::BRACKET_LEFT,
960 0, 966 0,
961 DomKey::DeadKeyFromCombiningCharacter('^'), 967 DomKey::DeadKeyFromCombiningCharacter('^'),
962 EventTimeForNow()); 968 EventTimeForNow());
963 ime_->ProcessKeyEventPostIME(&eventA, true); 969 ime_->ProcessKeyEventPostIME(&eventA, nullptr, false, true);
964 970
965 const ui::KeyEvent& key_event = dispatched_key_event_; 971 const ui::KeyEvent& key_event = dispatched_key_event_;
966 972
967 EXPECT_EQ(ET_KEY_PRESSED, key_event.type()); 973 EXPECT_EQ(ET_KEY_PRESSED, key_event.type());
968 EXPECT_EQ(VKEY_PROCESSKEY, key_event.key_code()); 974 EXPECT_EQ(VKEY_PROCESSKEY, key_event.key_code());
969 EXPECT_EQ(eventA.code(), key_event.code()); 975 EXPECT_EQ(eventA.code(), key_event.code());
970 EXPECT_EQ(eventA.flags(), key_event.flags()); 976 EXPECT_EQ(eventA.flags(), key_event.flags());
971 EXPECT_EQ(eventA.GetDomKey(), key_event.GetDomKey()); 977 EXPECT_EQ(eventA.GetDomKey(), key_event.GetDomKey());
972 EXPECT_EQ(eventA.time_stamp(), key_event.time_stamp()); 978 EXPECT_EQ(eventA.time_stamp(), key_event.time_stamp());
973 } 979 }
974 980
975 } // namespace ui 981 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698