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

Side by Side Diff: chrome/browser/chromeos/login/test/oobe_screen_waiter.cc

Issue 79113002: kiosk: Network connectivity test during launch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/chromeos/login/test/oobe_screen_waiter.h" 5 #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
6 6
7 #include "chrome/browser/chromeos/login/login_display_host_impl.h" 7 #include "chrome/browser/chromeos/login/login_display_host_impl.h"
8 #include "content/public/test/test_utils.h" 8 #include "content/public/test/test_utils.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 namespace chromeos { 11 namespace chromeos {
12 12
13 OobeScreenWaiter::OobeScreenWaiter(OobeDisplay::Screen expected_screen) 13 OobeScreenWaiter::OobeScreenWaiter(OobeDisplay::Screen expected_screen)
14 : waiting_for_screen_(false), 14 : waiting_for_screen_(false),
15 expected_screen_(expected_screen) { 15 expected_screen_(expected_screen) {
16 } 16 }
17 17
18 OobeScreenWaiter::~OobeScreenWaiter() { 18 OobeScreenWaiter::~OobeScreenWaiter() {
19 if (waiting_for_screen_) { 19 if (waiting_for_screen_) {
20 GetOobeUI()->RemoveObserver(this); 20 GetOobeUI()->RemoveObserver(this);
21 } 21 }
22 } 22 }
23 23
24 void OobeScreenWaiter::Wait() { 24 void OobeScreenWaiter::Wait() {
25 if (GetOobeUI()->current_screen() == expected_screen_) { 25 WaitNoAssertCurrentScreen();
26
27 ASSERT_EQ(expected_screen_, GetOobeUI()->current_screen());
28 }
29
30 void OobeScreenWaiter::WaitNoAssertCurrentScreen() {
31 if (GetOobeUI()->current_screen() == expected_screen_)
26 return; 32 return;
27 }
28 33
29 waiting_for_screen_ = true; 34 waiting_for_screen_ = true;
30 GetOobeUI()->AddObserver(this); 35 GetOobeUI()->AddObserver(this);
31 36
32 runner_ = new content::MessageLoopRunner; 37 runner_ = new content::MessageLoopRunner;
33 runner_->Run(); 38 runner_->Run();
34 ASSERT_EQ(expected_screen_, GetOobeUI()->current_screen());
35 ASSERT_FALSE(waiting_for_screen_); 39 ASSERT_FALSE(waiting_for_screen_);
36 } 40 }
37 41
38 void OobeScreenWaiter::OnCurrentScreenChanged( 42 void OobeScreenWaiter::OnCurrentScreenChanged(
39 OobeDisplay::Screen current_screen, 43 OobeDisplay::Screen current_screen,
40 OobeDisplay::Screen new_screen) { 44 OobeDisplay::Screen new_screen) {
41 if (waiting_for_screen_ && new_screen == expected_screen_) { 45 if (waiting_for_screen_ && new_screen == expected_screen_) {
42 runner_->Quit(); 46 runner_->Quit();
43 waiting_for_screen_ = false; 47 waiting_for_screen_ = false;
44 GetOobeUI()->RemoveObserver(this); 48 GetOobeUI()->RemoveObserver(this);
45 } 49 }
46 } 50 }
47 51
48 OobeUI* OobeScreenWaiter::GetOobeUI() { 52 OobeUI* OobeScreenWaiter::GetOobeUI() {
49 OobeUI* oobe_ui = static_cast<chromeos::LoginDisplayHostImpl*>( 53 OobeUI* oobe_ui = static_cast<chromeos::LoginDisplayHostImpl*>(
50 chromeos::LoginDisplayHostImpl::default_host())->GetOobeUI(); 54 chromeos::LoginDisplayHostImpl::default_host())->GetOobeUI();
51 CHECK(oobe_ui); 55 CHECK(oobe_ui);
52 return oobe_ui; 56 return oobe_ui;
53 } 57 }
54 58
55 } // namespace chromeos 59 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698