| Index: chrome/browser/chromeos/login/wizard_controller.cc
|
| diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
|
| index 2d017187147ad8d0994bab6c99f9f6be32fff940..e5c1417e364ab0f3a14a7e3ad248ed251885672c 100644
|
| --- a/chrome/browser/chromeos/login/wizard_controller.cc
|
| +++ b/chrome/browser/chromeos/login/wizard_controller.cc
|
| @@ -41,6 +41,7 @@
|
| #include "chrome/browser/chromeos/login/screens/update_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/user_image_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h"
|
| +#include "chrome/browser/chromeos/login/startup_utils.h"
|
| #include "chrome/browser/chromeos/login/user_manager.h"
|
| #include "chrome/browser/chromeos/net/network_portal_detector.h"
|
| #include "chrome/browser/chromeos/settings/cros_settings.h"
|
| @@ -175,7 +176,7 @@ void WizardController::Init(const std::string& first_screen_name,
|
| first_screen_name_ = first_screen_name;
|
| screen_parameters_.reset(screen_parameters);
|
|
|
| - bool oobe_complete = IsOobeCompleted();
|
| + bool oobe_complete = StartupUtils::IsOobeCompleted();
|
| if (!oobe_complete || first_screen_name == kOutOfBoxScreenName) {
|
| is_out_of_box_ = true;
|
| }
|
| @@ -185,7 +186,7 @@ void WizardController::Init(const std::string& first_screen_name,
|
| chrome::NOTIFICATION_WIZARD_FIRST_SCREEN_SHOWN,
|
| content::NotificationService::AllSources(),
|
| content::NotificationService::NoDetails());
|
| - if (!IsMachineHWIDCorrect() && !IsDeviceRegistered() &&
|
| + if (!IsMachineHWIDCorrect() && !StartupUtils::IsDeviceRegistered() &&
|
| first_screen_name.empty())
|
| ShowWrongHWIDScreen();
|
| }
|
| @@ -390,7 +391,7 @@ void WizardController::ShowLocallyManagedUserCreationScreen() {
|
| }
|
|
|
| void WizardController::SkipToLoginForTesting() {
|
| - MarkEulaAccepted();
|
| + StartupUtils::MarkEulaAccepted();
|
| PerformPostEulaActions();
|
| PerformPostUpdateActions();
|
| ShowLoginScreen();
|
| @@ -416,19 +417,11 @@ void WizardController::SkipUpdateEnrollAfterEula() {
|
| skip_update_enroll_after_eula_ = true;
|
| }
|
|
|
| -// static
|
| -void WizardController::RegisterPrefs(PrefRegistrySimple* registry) {
|
| - registry->RegisterBooleanPref(kOobeComplete, false);
|
| - registry->RegisterIntegerPref(kDeviceRegistered, -1);
|
| - registry->RegisterBooleanPref(prefs::kEulaAccepted, false);
|
| - registry->RegisterStringPref(kInitialLocale, "en-US");
|
| -}
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // WizardController, ExitHandlers:
|
| void WizardController::OnNetworkConnected() {
|
| if (is_official_build_) {
|
| - if (!IsEulaAccepted()) {
|
| + if (!StartupUtils::IsEulaAccepted()) {
|
| ShowEulaScreen();
|
| } else {
|
| // Possible cases:
|
| @@ -459,7 +452,7 @@ void WizardController::OnUpdateCompleted() {
|
|
|
| void WizardController::OnEulaAccepted() {
|
| time_eula_accepted_ = base::Time::Now();
|
| - MarkEulaAccepted();
|
| + StartupUtils::MarkEulaAccepted();
|
| bool uma_enabled =
|
| OptionsUtil::ResolveMetricsReportingEnabled(usage_statistics_reporting_);
|
|
|
| @@ -589,7 +582,7 @@ void WizardController::PerformPostEulaActions() {
|
| }
|
|
|
| void WizardController::PerformPostUpdateActions() {
|
| - MarkOobeCompleted();
|
| + StartupUtils::MarkOobeCompleted();
|
| }
|
|
|
| void WizardController::SetCurrentScreen(WizardScreen* new_current) {
|
| @@ -677,106 +670,6 @@ void WizardController::AdvanceToScreen(const std::string& screen_name) {
|
| }
|
| }
|
|
|
| -// static
|
| -bool WizardController::IsEulaAccepted() {
|
| - return g_browser_process->local_state()->GetBoolean(prefs::kEulaAccepted);
|
| -}
|
| -
|
| -// static
|
| -bool WizardController::IsOobeCompleted() {
|
| - return g_browser_process->local_state()->GetBoolean(kOobeComplete);
|
| -}
|
| -
|
| -// static
|
| -void WizardController::MarkEulaAccepted() {
|
| - SaveBoolPreferenceForced(prefs::kEulaAccepted, true);
|
| -}
|
| -
|
| -// static
|
| -void WizardController::MarkOobeCompleted() {
|
| - SaveBoolPreferenceForced(kOobeComplete, true);
|
| -}
|
| -
|
| -// Returns the path to flag file indicating that both parts of OOBE were
|
| -// completed.
|
| -// On chrome device, returns /home/chronos/.oobe_completed.
|
| -// On Linux desktop, returns $HOME/.oobe_completed.
|
| -static base::FilePath GetOobeCompleteFlagPath() {
|
| - // The constant is defined here so it won't be referenced directly.
|
| - const char kOobeCompleteFlagFilePath[] = "/home/chronos/.oobe_completed";
|
| -
|
| - if (base::chromeos::IsRunningOnChromeOS()) {
|
| - return base::FilePath(kOobeCompleteFlagFilePath);
|
| - } else {
|
| - const char* home = getenv("HOME");
|
| - // Unlikely but if HOME is not defined, use the current directory.
|
| - if (!home)
|
| - home = "";
|
| - return base::FilePath(home).AppendASCII(".oobe_completed");
|
| - }
|
| -}
|
| -
|
| -static void CreateOobeCompleteFlagFile() {
|
| - // Create flag file for boot-time init scripts.
|
| - base::FilePath oobe_complete_path = GetOobeCompleteFlagPath();
|
| - if (!file_util::PathExists(oobe_complete_path)) {
|
| - FILE* oobe_flag_file = file_util::OpenFile(oobe_complete_path, "w+b");
|
| - if (oobe_flag_file == NULL)
|
| - DLOG(WARNING) << oobe_complete_path.value() << " doesn't exist.";
|
| - else
|
| - file_util::CloseFile(oobe_flag_file);
|
| - }
|
| -}
|
| -
|
| -// static
|
| -bool WizardController::IsDeviceRegistered() {
|
| - int value = g_browser_process->local_state()->GetInteger(kDeviceRegistered);
|
| - if (value > 0) {
|
| - // Recreate flag file in case it was lost.
|
| - BrowserThread::PostTask(
|
| - BrowserThread::FILE,
|
| - FROM_HERE,
|
| - base::Bind(&CreateOobeCompleteFlagFile));
|
| - return true;
|
| - } else if (value == 0) {
|
| - return false;
|
| - } else {
|
| - // Pref is not set. For compatibility check flag file. It causes blocking
|
| - // IO on UI thread. But it's required for update from old versions.
|
| - base::ThreadRestrictions::ScopedAllowIO allow_io;
|
| - base::FilePath oobe_complete_flag_file_path = GetOobeCompleteFlagPath();
|
| - bool file_exists = file_util::PathExists(oobe_complete_flag_file_path);
|
| - SaveIntegerPreferenceForced(kDeviceRegistered, file_exists ? 1 : 0);
|
| - return file_exists;
|
| - }
|
| -}
|
| -
|
| -// static
|
| -void WizardController::MarkDeviceRegistered() {
|
| - SaveIntegerPreferenceForced(kDeviceRegistered, 1);
|
| - BrowserThread::PostTask(
|
| - BrowserThread::FILE,
|
| - FROM_HERE,
|
| - base::Bind(&CreateOobeCompleteFlagFile));
|
| -}
|
| -
|
| -// static
|
| -std::string WizardController::GetInitialLocale() {
|
| - std::string locale =
|
| - g_browser_process->local_state()->GetString(kInitialLocale);
|
| - if (!l10n_util::IsValidLocaleSyntax(locale))
|
| - locale = "en-US";
|
| - return locale;
|
| -}
|
| -
|
| -// static
|
| -void WizardController::SetInitialLocale(const std::string& locale) {
|
| - if (l10n_util::IsValidLocaleSyntax(locale))
|
| - SaveStringPreferenceForced(kInitialLocale, locale);
|
| - else
|
| - NOTREACHED();
|
| -}
|
| -
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // WizardController, chromeos::ScreenObserver overrides:
|
| void WizardController::OnExit(ExitCodes exit_code) {
|
|
|