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

Side by Side Diff: chrome/browser/chromeos/login/login_ui_keyboard_browsertest.cc

Issue 2702393003: [ChromeOS] Expose keyboard remapping to signin screen. (Closed)
Patch Set: Address xiyuan@'s comments. Created 3 years, 10 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/location.h" 6 #include "base/location.h"
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 25 matching lines...) Expand all
36 out->push_back("xkb:us:dvp:eng"); 36 out->push_back("xkb:us:dvp:eng");
37 out->push_back("xkb:us:colemak:eng"); 37 out->push_back("xkb:us:colemak:eng");
38 out->push_back("xkb:us:workman:eng"); 38 out->push_back("xkb:us:workman:eng");
39 out->push_back("xkb:us:workman-intl:eng"); 39 out->push_back("xkb:us:workman-intl:eng");
40 chromeos::input_method::InputMethodManager::Get()->MigrateInputMethods(out); 40 chromeos::input_method::InputMethodManager::Get()->MigrateInputMethods(out);
41 } 41 }
42 42
43 class FocusPODWaiter { 43 class FocusPODWaiter {
44 public: 44 public:
45 FocusPODWaiter() : focused_(false), runner_(new content::MessageLoopRunner) { 45 FocusPODWaiter() : focused_(false), runner_(new content::MessageLoopRunner) {
46 GetOobeUI() 46 GetOobeUI()->signin_screen_handler()->SetFocusPODCallbackForTesting(
47 ->signin_screen_handler_for_test() 47 base::Bind(&FocusPODWaiter::OnFocusPOD, base::Unretained(this)));
48 ->SetFocusPODCallbackForTesting(
49 base::Bind(&FocusPODWaiter::OnFocusPOD, base::Unretained(this)));
50 } 48 }
51 ~FocusPODWaiter() { 49 ~FocusPODWaiter() {
52 GetOobeUI() 50 GetOobeUI()->signin_screen_handler()->SetFocusPODCallbackForTesting(
53 ->signin_screen_handler_for_test() 51 base::Closure());
54 ->SetFocusPODCallbackForTesting(base::Closure());
55 } 52 }
56 53
57 void OnFocusPOD() { 54 void OnFocusPOD() {
58 ASSERT_TRUE(base::MessageLoopForUI::IsCurrent()); 55 ASSERT_TRUE(base::MessageLoopForUI::IsCurrent());
59 focused_ = true; 56 focused_ = true;
60 if (runner_.get()) { 57 if (runner_.get()) {
61 base::ThreadTaskRunnerHandle::Get()->PostTask( 58 base::ThreadTaskRunnerHandle::Get()->PostTask(
62 FROM_HERE, 59 FROM_HERE,
63 base::Bind(&FocusPODWaiter::ExitMessageLoop, base::Unretained(this))); 60 base::Bind(&FocusPODWaiter::ExitMessageLoop, base::Unretained(this)));
64 } 61 }
65 } 62 }
66 63
67 void ExitMessageLoop() { runner_->Quit(); } 64 void ExitMessageLoop() { runner_->Quit(); }
68 65
69 void Wait() { 66 void Wait() {
70 if (focused_) 67 if (focused_)
71 return; 68 return;
72 runner_->Run(); 69 runner_->Run();
73 GetOobeUI() 70 GetOobeUI()->signin_screen_handler()->SetFocusPODCallbackForTesting(
74 ->signin_screen_handler_for_test() 71 base::Closure());
75 ->SetFocusPODCallbackForTesting(base::Closure());
76 runner_ = NULL; 72 runner_ = NULL;
77 } 73 }
78 74
79 private: 75 private:
80 OobeUI* GetOobeUI() { 76 OobeUI* GetOobeUI() {
81 OobeUI* oobe_ui = LoginDisplayHost::default_host()->GetOobeUI(); 77 OobeUI* oobe_ui = LoginDisplayHost::default_host()->GetOobeUI();
82 CHECK(oobe_ui); 78 CHECK(oobe_ui);
83 return oobe_ui; 79 return oobe_ui;
84 } 80 }
85 81
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 // Switch back. 273 // Switch back.
278 js_checker().Evaluate("$('gaia-signin').cancel()"); 274 js_checker().Evaluate("$('gaia-signin').cancel()");
279 OobeScreenWaiter(OobeScreen::SCREEN_ACCOUNT_PICKER).Wait(); 275 OobeScreenWaiter(OobeScreen::SCREEN_ACCOUNT_PICKER).Wait();
280 276
281 EXPECT_EQ(expected_input_methods, 277 EXPECT_EQ(expected_input_methods,
282 input_method::InputMethodManager::Get() 278 input_method::InputMethodManager::Get()
283 ->GetActiveIMEState() 279 ->GetActiveIMEState()
284 ->GetActiveInputMethodIds()); 280 ->GetActiveInputMethodIds());
285 } 281 }
286 } // namespace chromeos 282 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.cc ('k') | chrome/browser/chromeos/preferences.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698