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

Side by Side Diff: chrome/browser/chromeos/login/screens/error_screen.cc

Issue 254263004: Revert of Removed dependency on the UI from the NetworkPortalDetector. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/screens/error_screen.h" 5 #include "chrome/browser/chromeos/login/screens/error_screen.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "chrome/browser/chromeos/login/chrome_restart_request.h" 8 #include "chrome/browser/chromeos/login/chrome_restart_request.h"
9 #include "chrome/browser/chromeos/login/screens/error_screen_actor.h" 9 #include "chrome/browser/chromeos/login/screens/error_screen_actor.h"
10 #include "chrome/browser/chromeos/login/startup_utils.h" 10 #include "chrome/browser/chromeos/login/startup_utils.h"
11 #include "chrome/browser/chromeos/login/wizard_controller.h" 11 #include "chrome/browser/chromeos/login/wizard_controller.h"
12 #include "chrome/browser/chromeos/net/network_portal_detector.h" 12 #include "chrome/browser/chromeos/net/network_portal_detector.h"
13 #include "chrome/browser/chromeos/net/network_portal_detector_strategy.h"
14 #include "chrome/browser/chromeos/settings/cros_settings.h" 13 #include "chrome/browser/chromeos/settings/cros_settings.h"
15 14
16 namespace chromeos { 15 namespace chromeos {
17 16
18 ErrorScreen::ErrorScreen(ScreenObserver* screen_observer, 17 ErrorScreen::ErrorScreen(ScreenObserver* screen_observer,
19 ErrorScreenActor* actor) 18 ErrorScreenActor* actor)
20 : WizardScreen(screen_observer), 19 : WizardScreen(screen_observer),
21 actor_(actor), 20 actor_(actor),
22 parent_screen_(OobeDisplay::SCREEN_UNKNOWN), 21 parent_screen_(OobeDisplay::SCREEN_UNKNOWN),
23 weak_factory_(this) { 22 weak_factory_(this) {
24 DCHECK(actor_); 23 DCHECK(actor_);
25 actor_->SetDelegate(this); 24 actor_->SetDelegate(this);
25 AddObserver(NetworkPortalDetector::Get());
26 } 26 }
27 27
28 ErrorScreen::~ErrorScreen() { 28 ErrorScreen::~ErrorScreen() {
29 actor_->SetDelegate(NULL); 29 actor_->SetDelegate(NULL);
30 RemoveObserver(NetworkPortalDetector::Get());
31 }
32
33 void ErrorScreen::AddObserver(Observer* observer) {
34 if (observer)
35 observers_.AddObserver(observer);
36 }
37
38 void ErrorScreen::RemoveObserver(Observer* observer) {
39 if (observer)
40 observers_.RemoveObserver(observer);
30 } 41 }
31 42
32 void ErrorScreen::PrepareToShow() { 43 void ErrorScreen::PrepareToShow() {
33 } 44 }
34 45
35 void ErrorScreen::Show() { 46 void ErrorScreen::Show() {
36 DCHECK(actor_); 47 DCHECK(actor_);
37 actor_->Show(parent_screen(), NULL); 48 actor_->Show(parent_screen(), NULL);
38 } 49 }
39 50
40 void ErrorScreen::Hide() { 51 void ErrorScreen::Hide() {
41 DCHECK(actor_); 52 DCHECK(actor_);
42 actor_->Hide(); 53 actor_->Hide();
43 } 54 }
44 55
45 std::string ErrorScreen::GetName() const { 56 std::string ErrorScreen::GetName() const {
46 return WizardController::kErrorScreenName; 57 return WizardController::kErrorScreenName;
47 } 58 }
48 59
49 void ErrorScreen::OnErrorShow() { 60 void ErrorScreen::OnErrorShow() {
50 NetworkPortalDetector::Get()->SetStrategy( 61 FOR_EACH_OBSERVER(Observer, observers_, OnErrorScreenShow());
51 PortalDetectorStrategy::STRATEGY_ID_ERROR_SCREEN);
52 } 62 }
53 63
54 void ErrorScreen::OnErrorHide() { 64 void ErrorScreen::OnErrorHide() {
55 NetworkPortalDetector::Get()->SetStrategy( 65 FOR_EACH_OBSERVER(Observer, observers_, OnErrorScreenHide());
56 PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN);
57 } 66 }
58 67
59 void ErrorScreen::OnLaunchOobeGuestSession() { 68 void ErrorScreen::OnLaunchOobeGuestSession() {
60 DeviceSettingsService::Get()->GetOwnershipStatusAsync( 69 DeviceSettingsService::Get()->GetOwnershipStatusAsync(
61 base::Bind(&ErrorScreen::StartGuestSessionAfterOwnershipCheck, 70 base::Bind(&ErrorScreen::StartGuestSessionAfterOwnershipCheck,
62 weak_factory_.GetWeakPtr())); 71 weak_factory_.GetWeakPtr()));
63 } 72 }
64 73
65 void ErrorScreen::OnLoginFailure(const LoginFailure& error) { 74 void ErrorScreen::OnLoginFailure(const LoginFailure& error) {
66 // The only condition leading here is guest mount failure, which should not 75 // The only condition leading here is guest mount failure, which should not
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 } 182 }
174 183
175 if (guest_login_performer_) 184 if (guest_login_performer_)
176 return; 185 return;
177 186
178 guest_login_performer_.reset(new LoginPerformer(this)); 187 guest_login_performer_.reset(new LoginPerformer(this));
179 guest_login_performer_->LoginOffTheRecord(); 188 guest_login_performer_->LoginOffTheRecord();
180 } 189 }
181 190
182 } // namespace chromeos 191 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/screens/error_screen.h ('k') | chrome/browser/chromeos/login/user_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698