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

Unified Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 2920001: EULA screen implemented.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/wizard_controller.cc
===================================================================
--- chrome/browser/chromeos/login/wizard_controller.cc (revision 52078)
+++ chrome/browser/chromeos/login/wizard_controller.cc (working copy)
@@ -22,6 +22,7 @@
#include "chrome/browser/chromeos/input_method/input_method_util.h"
#include "chrome/browser/chromeos/login/account_screen.h"
#include "chrome/browser/chromeos/login/background_view.h"
+#include "chrome/browser/chromeos/login/eula_view.h"
#include "chrome/browser/chromeos/login/existing_user_controller.h"
#include "chrome/browser/chromeos/login/helper.h"
#include "chrome/browser/chromeos/login/language_switch_menu.h"
@@ -39,11 +40,11 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/notification_service.h"
#include "third_party/cros/chromeos_wm_ipc_enums.h"
+#include "unicode/timezone.h"
#include "views/accelerator.h"
#include "views/painter.h"
#include "views/view.h"
#include "views/widget/widget_gtk.h"
-#include "unicode/timezone.h"
namespace {
@@ -72,12 +73,15 @@
accel_update_screen_(views::Accelerator(base::VKEY_U,
false, true, true)),
accel_image_screen_(views::Accelerator(base::VKEY_I,
+ false, true, true)),
+ accel_eula_screen_(views::Accelerator(base::VKEY_E,
false, true, true)) {
AddAccelerator(accel_account_screen_);
AddAccelerator(accel_login_screen_);
AddAccelerator(accel_network_screen_);
AddAccelerator(accel_update_screen_);
AddAccelerator(accel_image_screen_);
+ AddAccelerator(accel_eula_screen_);
}
~ContentView() {
@@ -102,6 +106,8 @@
controller->ShowUpdateScreen();
} else if (accel == accel_image_screen_) {
controller->ShowUserImageScreen();
+ } else if (accel == accel_eula_screen_) {
+ controller->ShowEulaScreen();
} else {
return false;
}
@@ -140,6 +146,7 @@
views::Accelerator accel_network_screen_;
views::Accelerator accel_update_screen_;
views::Accelerator accel_image_screen_;
+ views::Accelerator accel_eula_screen_;
DISALLOW_COPY_AND_ASSIGN(ContentView);
};
@@ -162,6 +169,7 @@
const char WizardController::kAccountScreenName[] = "account";
const char WizardController::kUpdateScreenName[] = "update";
const char WizardController::kUserImageScreenName[] = "image";
+const char WizardController::kEulaScreenName[] = "eula";
const char WizardController::kRegistrationScreenName[] = "register";
// Passing this parameter as a "first screen" initiates full OOBE flow.
@@ -294,6 +302,12 @@
return user_image_screen_.get();
}
+chromeos::EulaScreen* WizardController::GetEulaScreen() {
+ if (!eula_screen_.get())
+ eula_screen_.reset(new chromeos::EulaScreen(this));
+ return eula_screen_.get();
+}
+
chromeos::RegistrationScreen* WizardController::GetRegistrationScreen() {
if (!registration_screen_.get())
registration_screen_.reset(new chromeos::RegistrationScreen(this));
@@ -346,6 +360,11 @@
SetCurrentScreen(GetUserImageScreen());
}
+void WizardController::ShowEulaScreen() {
+ SetStatusAreaVisible(false);
+ SetCurrentScreen(GetEulaScreen());
+}
+
void WizardController::ShowRegistrationScreen() {
SetStatusAreaVisible(true);
SetCurrentScreen(GetRegistrationScreen());
@@ -432,18 +451,21 @@
}
void WizardController::OnUpdateCompleted() {
+ ShowEulaScreen();
+}
+
+void WizardController::OnEulaAccepted() {
MarkOobeCompleted();
ShowLoginScreen();
}
void WizardController::OnUpdateErrorCheckingForUpdate() {
- MarkOobeCompleted();
// TODO(nkostylev): Update should be required during OOBE.
// We do not want to block users from being able to proceed to the login
// screen if there is any error checking for an update.
// They could use "browse without sign-in" feature to set up the network to be
// able to perform the update later.
- ShowLoginScreen();
+ ShowEulaScreen();
}
void WizardController::OnUpdateErrorUpdating() {
@@ -452,8 +474,7 @@
// TODO(nkostylev): Show message to the user explaining update error.
// TODO(nkostylev): Update should be required during OOBE.
// Temporary fix, need to migrate to new API. http://crosbug.com/4321
- MarkOobeCompleted();
- ShowLoginScreen();
+ ShowEulaScreen();
}
void WizardController::OnUserImageSelected() {
@@ -508,6 +529,8 @@
GetUpdateScreen()->StartUpdate();
} else if (first_screen_name == kUserImageScreenName) {
ShowUserImageScreen();
+ } else if (first_screen_name == kEulaScreenName) {
+ ShowEulaScreen();
} else if (first_screen_name == kRegistrationScreenName) {
ShowRegistrationScreen();
} else if (first_screen_name != kTestNoScreenName) {
@@ -570,6 +593,9 @@
case USER_IMAGE_SKIPPED:
OnUserImageSkipped();
break;
+ case EULA_ACCEPTED:
+ OnEulaAccepted();
+ break;
default:
NOTREACHED();
}
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.h ('k') | chrome/browser/chromeos/login/wizard_controller_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698