| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |