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

Side by Side Diff: chrome/browser/chromeos/login/enrollment/enrollment_screen.cc

Issue 679133002: ScreenObserver is renamed to BaseScreenDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes. Created 6 years, 1 month 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 (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/enrollment/enrollment_screen.h" 5 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/metrics/histogram.h" 11 #include "base/metrics/histogram.h"
12 #include "base/metrics/sparse_histogram.h" 12 #include "base/metrics/sparse_histogram.h"
13 #include "base/timer/elapsed_timer.h" 13 #include "base/timer/elapsed_timer.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/browser_process_platform_part.h" 15 #include "chrome/browser/browser_process_platform_part.h"
16 #include "chrome/browser/chromeos/login/login_utils.h" 16 #include "chrome/browser/chromeos/login/login_utils.h"
17 #include "chrome/browser/chromeos/login/screen_manager.h" 17 #include "chrome/browser/chromeos/login/screen_manager.h"
18 #include "chrome/browser/chromeos/login/screens/screen_observer.h" 18 #include "chrome/browser/chromeos/login/screens/base_screen_delegate.h"
19 #include "chrome/browser/chromeos/login/startup_utils.h" 19 #include "chrome/browser/chromeos/login/startup_utils.h"
20 #include "chrome/browser/chromeos/login/wizard_controller.h" 20 #include "chrome/browser/chromeos/login/wizard_controller.h"
21 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h" 21 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h"
22 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 22 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
23 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h" 23 #include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
24 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 24 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
25 #include "chromeos/dbus/cryptohome_client.h" 25 #include "chromeos/dbus/cryptohome_client.h"
26 #include "chromeos/dbus/dbus_method_call_status.h" 26 #include "chromeos/dbus/dbus_method_call_status.h"
27 #include "chromeos/dbus/dbus_thread_manager.h" 27 #include "chromeos/dbus/dbus_thread_manager.h"
28 #include "chromeos/dbus/session_manager_client.h" 28 #include "chromeos/dbus/session_manager_client.h"
(...skipping 16 matching lines...) Expand all
45 } while (0) 45 } while (0)
46 46
47 namespace chromeos { 47 namespace chromeos {
48 48
49 // static 49 // static
50 EnrollmentScreen* EnrollmentScreen::Get(ScreenManager* manager) { 50 EnrollmentScreen* EnrollmentScreen::Get(ScreenManager* manager) {
51 return static_cast<EnrollmentScreen*>( 51 return static_cast<EnrollmentScreen*>(
52 manager->GetScreen(WizardController::kEnrollmentScreenName)); 52 manager->GetScreen(WizardController::kEnrollmentScreenName));
53 } 53 }
54 54
55 EnrollmentScreen::EnrollmentScreen(ScreenObserver* observer, 55 EnrollmentScreen::EnrollmentScreen(BaseScreenDelegate* base_screen_delegate,
56 EnrollmentScreenActor* actor) 56 EnrollmentScreenActor* actor)
57 : BaseScreen(observer), 57 : BaseScreen(base_screen_delegate),
58 shark_controller_(NULL), 58 shark_controller_(NULL),
59 remora_controller_(NULL), 59 remora_controller_(NULL),
60 actor_(actor), 60 actor_(actor),
61 enrollment_mode_(EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL), 61 enrollment_mode_(EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL),
62 enrollment_failed_once_(false), 62 enrollment_failed_once_(false),
63 remora_token_sent_(false), 63 remora_token_sent_(false),
64 weak_ptr_factory_(this) { 64 weak_ptr_factory_(this) {
65 // Init the TPM if it has not been done until now (in debug build we might 65 // Init the TPM if it has not been done until now (in debug build we might
66 // have not done that yet). 66 // have not done that yet).
67 DBusThreadManager::Get()->GetCryptohomeClient()->TpmCanAttemptOwnership( 67 DBusThreadManager::Get()->GetCryptohomeClient()->TpmCanAttemptOwnership(
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 } 219 }
220 220
221 void EnrollmentScreen::OnCancel() { 221 void EnrollmentScreen::OnCancel() {
222 UMA(is_auto_enrollment() ? policy::kMetricEnrollmentAutoCancelled 222 UMA(is_auto_enrollment() ? policy::kMetricEnrollmentAutoCancelled
223 : policy::kMetricEnrollmentCancelled); 223 : policy::kMetricEnrollmentCancelled);
224 if (elapsed_timer_) 224 if (elapsed_timer_)
225 UMA_ENROLLMENT_TIME("Enterprise.EnrollmentTime.Cancel", elapsed_timer_); 225 UMA_ENROLLMENT_TIME("Enterprise.EnrollmentTime.Cancel", elapsed_timer_);
226 if (enrollment_mode_ == EnrollmentScreenActor::ENROLLMENT_MODE_FORCED || 226 if (enrollment_mode_ == EnrollmentScreenActor::ENROLLMENT_MODE_FORCED ||
227 enrollment_mode_ == EnrollmentScreenActor::ENROLLMENT_MODE_RECOVERY) { 227 enrollment_mode_ == EnrollmentScreenActor::ENROLLMENT_MODE_RECOVERY) {
228 actor_->ResetAuth( 228 actor_->ResetAuth(
229 base::Bind(&ScreenObserver::OnExit, 229 base::Bind(&BaseScreenDelegate::OnExit,
230 base::Unretained(get_screen_observer()), 230 base::Unretained(get_base_screen_delegate()),
231 ScreenObserver::ENTERPRISE_ENROLLMENT_BACK)); 231 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK));
232 return; 232 return;
233 } 233 }
234 234
235 if (is_auto_enrollment()) 235 if (is_auto_enrollment())
236 policy::AutoEnrollmentClient::CancelAutoEnrollment(); 236 policy::AutoEnrollmentClient::CancelAutoEnrollment();
237 actor_->ResetAuth( 237 actor_->ResetAuth(
238 base::Bind(&ScreenObserver::OnExit, 238 base::Bind(&BaseScreenDelegate::OnExit,
239 base::Unretained(get_screen_observer()), 239 base::Unretained(get_base_screen_delegate()),
240 ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED)); 240 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED));
241 } 241 }
242 242
243 void EnrollmentScreen::OnConfirmationClosed() { 243 void EnrollmentScreen::OnConfirmationClosed() {
244 // If the machine has been put in KIOSK mode we have to restart the session 244 // If the machine has been put in KIOSK mode we have to restart the session
245 // here to go in the proper KIOSK mode login screen. 245 // here to go in the proper KIOSK mode login screen.
246 policy::BrowserPolicyConnectorChromeOS* connector = 246 policy::BrowserPolicyConnectorChromeOS* connector =
247 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 247 g_browser_process->platform_part()->browser_policy_connector_chromeos();
248 if (connector->GetDeviceMode() == policy::DEVICE_MODE_RETAIL_KIOSK) { 248 if (connector->GetDeviceMode() == policy::DEVICE_MODE_RETAIL_KIOSK) {
249 DBusThreadManager::Get()->GetSessionManagerClient()->StopSession(); 249 DBusThreadManager::Get()->GetSessionManagerClient()->StopSession();
250 return; 250 return;
251 } 251 }
252 252
253 if (is_auto_enrollment() && 253 if (is_auto_enrollment() &&
254 !enrollment_failed_once_ && 254 !enrollment_failed_once_ &&
255 !user_.empty() && 255 !user_.empty() &&
256 LoginUtils::IsWhitelisted(user_, NULL)) { 256 LoginUtils::IsWhitelisted(user_, NULL)) {
257 actor_->ShowLoginSpinnerScreen(); 257 actor_->ShowLoginSpinnerScreen();
258 get_screen_observer()->OnExit( 258 get_base_screen_delegate()->OnExit(
259 ScreenObserver::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED); 259 BaseScreenDelegate::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED);
260 } else { 260 } else {
261 actor_->ResetAuth( 261 actor_->ResetAuth(
262 base::Bind(&ScreenObserver::OnExit, 262 base::Bind(&BaseScreenDelegate::OnExit,
263 base::Unretained(get_screen_observer()), 263 base::Unretained(get_base_screen_delegate()),
264 ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED)); 264 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED));
265 } 265 }
266 } 266 }
267 267
268 void EnrollmentScreen::RegisterForDevicePolicy(const std::string& token) { 268 void EnrollmentScreen::RegisterForDevicePolicy(const std::string& token) {
269 policy::BrowserPolicyConnectorChromeOS* connector = 269 policy::BrowserPolicyConnectorChromeOS* connector =
270 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 270 g_browser_process->platform_part()->browser_policy_connector_chromeos();
271 if (connector->IsEnterpriseManaged() && 271 if (connector->IsEnterpriseManaged() &&
272 connector->GetEnterpriseDomain() != gaia::ExtractDomainName(user_)) { 272 connector->GetEnterpriseDomain() != gaia::ExtractDomainName(user_)) {
273 LOG(ERROR) << "Trying to re-enroll to a different domain than " 273 LOG(ERROR) << "Trying to re-enroll to a different domain than "
274 << connector->GetEnterpriseDomain(); 274 << connector->GetEnterpriseDomain();
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 sample = policy::kMetricEnrollmentAutoFailed; 447 sample = policy::kMetricEnrollmentAutoFailed;
448 UMA(sample); 448 UMA(sample);
449 } 449 }
450 450
451 void EnrollmentScreen::ShowSigninScreen() { 451 void EnrollmentScreen::ShowSigninScreen() {
452 actor_->Show(); 452 actor_->Show();
453 actor_->ShowSigninScreen(); 453 actor_->ShowSigninScreen();
454 } 454 }
455 455
456 } // namespace chromeos 456 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698