diff options
author | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-19 13:07:10 +0000 |
---|---|---|
committer | nkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-19 13:07:10 +0000 |
commit | 0a0d806aa4c534ff999f6bac2503d76d1d38e38d (patch) | |
tree | e5d30d2521747e2878662613e69694e6baa7230c | |
parent | 9a8b16173c117f60cc6e0eea400e38164f2f1bf5 (diff) | |
download | chromium_src-0a0d806aa4c534ff999f6bac2503d76d1d38e38d.zip chromium_src-0a0d806aa4c534ff999f6bac2503d76d1d38e38d.tar.gz chromium_src-0a0d806aa4c534ff999f6bac2503d76d1d38e38d.tar.bz2 |
[cros] Fix multiple issues for OOBE/login.
Fixed points at http://crosbug.com/7707
1) Welcome Screen: combo boxes flickering
2) Don't show register step when register screen is not defined
5) Proper font & layout for update screen
6) Updated default screen size to match mocks (EULA/register/create account), update, welcome - OK.
Sign in screen has the same size when presented alone or with other pods.
9) Added « character to EULA Back button.
BUG=chromium-os:7707
TEST=Manual.
Review URL: http://codereview.chromium.org/3863003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63045 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/app/generated_resources.grd | 5 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/background_view.cc | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/eula_view.cc | 2 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/helper.h | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/network_selection_view.cc | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/update_screen.cc | 8 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/update_view.cc | 10 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/view_screen.h | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/wizard_controller.cc | 22 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/wizard_controller.h | 3 |
10 files changed, 51 insertions, 15 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 0da57b5..10cd03d 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -9273,8 +9273,11 @@ Keep your key file in a safe place. You will need it to create new versions of y <message name="IDS_OPTIONS_SETTINGS_LANGUAGES_LANGUAGES" desc="The label for the list of languages"> Languages </message> + <message name="IDS_EULA_BACK_BUTTON" desc="Back button shown on EULA screen."> + « Back + </message> <message name="IDS_EULA_ACCEPT_AND_CONTINUE_BUTTON" desc="Accept button text below EULA terms of service"> - Accept and continue » + Accept and continue » </message> <message name="IDS_EULA_SYSTEM_SECURITY_SETTING" desc="Link from the EULA wizard screen and title of the according dialog box"> System security setting diff --git a/chrome/browser/chromeos/login/background_view.cc b/chrome/browser/chromeos/login/background_view.cc index 87b582b..a76b18c 100644 --- a/chrome/browser/chromeos/login/background_view.cc +++ b/chrome/browser/chromeos/login/background_view.cc @@ -16,6 +16,7 @@ #include "chrome/browser/chromeos/login/helper.h" #include "chrome/browser/chromeos/login/oobe_progress_bar.h" #include "chrome/browser/chromeos/login/rounded_rect_painter.h" +#include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/status/clock_menu_button.h" #include "chrome/browser/chromeos/status/feedback_menu_button.h" #include "chrome/browser/chromeos/status/input_method_menu_button.h" @@ -361,7 +362,8 @@ void BackgroundView::InitProgressBar() { #endif steps.push_back(IDS_OOBE_SIGNIN); #if defined(OFFICIAL_BUILD) - steps.push_back(IDS_OOBE_REGISTRATION); + if (WizardController::IsRegisterScreenDefined()) + steps.push_back(IDS_OOBE_REGISTRATION); #endif steps.push_back(IDS_OOBE_PICTURE); progress_bar_ = new OobeProgressBar(steps); diff --git a/chrome/browser/chromeos/login/eula_view.cc b/chrome/browser/chromeos/login/eula_view.cc index c78d35d..c928334 100644 --- a/chrome/browser/chromeos/login/eula_view.cc +++ b/chrome/browser/chromeos/login/eula_view.cc @@ -348,7 +348,7 @@ void EulaView::UpdateLocalizedStrings() { continue_button_->SetLabel( l10n_util::GetString(IDS_EULA_ACCEPT_AND_CONTINUE_BUTTON)); back_button_->SetLabel( - l10n_util::GetString(IDS_ACCNAME_BACK)); + l10n_util::GetString(IDS_EULA_BACK_BUTTON)); } //////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/chromeos/login/helper.h b/chrome/browser/chromeos/login/helper.h index 4e7de2a..5cba345 100644 --- a/chrome/browser/chromeos/login/helper.h +++ b/chrome/browser/chromeos/login/helper.h @@ -65,8 +65,8 @@ const SkColor kTextColor = SK_ColorWHITE; // Default size of the OOBE screen. Includes 10px shadow from each side. // See rounded_rect_painter.cc for border definitions. -const int kWizardScreenWidth = 700; -const int kWizardScreenHeight = 416; +const int kWizardScreenWidth = 800; +const int kWizardScreenHeight = 450; const int kScreenCornerRadius = 10; const int kUserCornerRadius = 5; diff --git a/chrome/browser/chromeos/login/network_selection_view.cc b/chrome/browser/chromeos/login/network_selection_view.cc index c918a74..b8d3ba0 100644 --- a/chrome/browser/chromeos/login/network_selection_view.cc +++ b/chrome/browser/chromeos/login/network_selection_view.cc @@ -293,6 +293,7 @@ void NetworkSelectionView::Init() { NULL, std::wstring(), delegate_->language_switch_menu(), true, delegate_); languages_menubutton_->SetFocusable(true); languages_menubutton_->SetNormalHasBorder(true); + languages_menubutton_->set_animate_on_state_change(false); // Menu is positioned by bottom right corner of the MenuButton. languages_menubutton_->set_menu_offset(kMenuHorizontalOffset, kMenuVerticalOffset); @@ -305,6 +306,7 @@ void NetworkSelectionView::Init() { true /* show_menu_marker */); keyboards_menubutton_->SetFocusable(true); keyboards_menubutton_->SetNormalHasBorder(true); + keyboards_menubutton_->set_animate_on_state_change(false); delegate_->keyboard_switch_menu()->SetMenuOffset(kMenuHorizontalOffset, kMenuVerticalOffset); @@ -317,9 +319,9 @@ void NetworkSelectionView::Init() { network_dropdown_->set_menu_offset(kMenuHorizontalOffset, kMenuVerticalOffset); - network_dropdown_->SetNormalHasBorder(true); network_dropdown_->SetFocusable(true); + network_dropdown_->set_animate_on_state_change(false); connecting_network_label_ = new views::Label(); connecting_network_label_->SetFont(rb.GetFont(ResourceBundle::MediumFont)); diff --git a/chrome/browser/chromeos/login/update_screen.cc b/chrome/browser/chromeos/login/update_screen.cc index 20b04b05..43aaf69 100644 --- a/chrome/browser/chromeos/login/update_screen.cc +++ b/chrome/browser/chromeos/login/update_screen.cc @@ -24,12 +24,18 @@ const int kProgressComplete = 100; // Defines what part of update progress does download part takes. const int kDownloadProgressIncrement = 60; +// Considering 10px shadow from each side. +const int kUpdateScreenWidth = 580; +const int kUpdateScreenHeight = 305; + } // anonymous namespace namespace chromeos { UpdateScreen::UpdateScreen(WizardScreenDelegate* delegate) - : DefaultViewScreen<chromeos::UpdateView>(delegate), + : DefaultViewScreen<chromeos::UpdateView>(delegate, + kUpdateScreenWidth, + kUpdateScreenHeight), checking_for_update_(true), maximal_curtain_time_(0), reboot_check_delay_(0) { diff --git a/chrome/browser/chromeos/login/update_view.cc b/chrome/browser/chromeos/login/update_view.cc index 59e20dd..a34e9a1 100644 --- a/chrome/browser/chromeos/login/update_view.cc +++ b/chrome/browser/chromeos/login/update_view.cc @@ -33,17 +33,17 @@ namespace { // Y offset for the 'installing updates' label. const int kInstallingUpdatesLabelYBottomFromProgressBar = 18; // Y offset for the progress bar. -const int kProgressBarY = 199; +const int kProgressBarY = 130; // Y offset for the 'computer will restart' label. -const int kRebootLabelYFromProgressBar = 77; +const int kRebootLabelYFromProgressBar = 55; // Y offset for the 'ESCAPE to skip' label. const int kEscapeToSkipLabelY = 48; // Progress bar width. -const int kProgressBarWidth = 550; +const int kProgressBarWidth = 420; // Progress bar height. const int kProgressBarHeight = 18; // Horizontal spacing (ex. min left and right margins for label on the screen). -const int kHorizontalSpacing = 75; +const int kHorizontalSpacing = 65; // Horizontal spacing between spinner and label on the curtain screen. const int kBetweenSpacing = 25; @@ -222,7 +222,7 @@ void UpdateView::InitLabel(views::Label** label) { (*label)->SetMultiLine(true); ResourceBundle& res_bundle = ResourceBundle::GetSharedInstance(); - gfx::Font label_font = res_bundle.GetFont(ResourceBundle::MediumBoldFont); + gfx::Font label_font = res_bundle.GetFont(ResourceBundle::MediumFont); (*label)->SetFont(label_font); AddChildView(*label); diff --git a/chrome/browser/chromeos/login/view_screen.h b/chrome/browser/chromeos/login/view_screen.h index 81586e4..30ffdd8 100644 --- a/chrome/browser/chromeos/login/view_screen.h +++ b/chrome/browser/chromeos/login/view_screen.h @@ -53,7 +53,9 @@ template <class V> class DefaultViewScreen : public ViewScreen<V> { public: explicit DefaultViewScreen(WizardScreenDelegate* delegate) - : ViewScreen<V>(delegate) {} + : ViewScreen<V>(delegate) {} + DefaultViewScreen(WizardScreenDelegate* delegate, int width, int height) + : ViewScreen<V>(delegate, width, height) {} V* AllocateView() { return new V(ViewScreen<V>::delegate()->GetObserver(this)); } diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc index 9401a39..aff6400 100644 --- a/chrome/browser/chromeos/login/wizard_controller.cc +++ b/chrome/browser/chromeos/login/wizard_controller.cc @@ -200,6 +200,13 @@ const chromeos::StartupCustomizationDocument* LoadStartupManifest() { return NULL; } +// Returns true if startup manifest defines valid registration URL. +bool IsRegistrationScreenValid( + const chromeos::StartupCustomizationDocument* startup_manifest) { + return startup_manifest != NULL && + GURL(startup_manifest->registration_url()).is_valid(); +} + } // namespace const char WizardController::kNetworkScreenName[] = "network"; @@ -442,8 +449,7 @@ void WizardController::ShowEulaScreen() { } void WizardController::ShowRegistrationScreen() { - if (!GetCustomization() || - !GURL(GetCustomization()->registration_url()).is_valid()) { + if (!IsRegistrationScreenValid(GetCustomization())) { LOG(INFO) << "Skipping registration screen: manifest not defined or invalid URL."; OnRegistrationSkipped(); @@ -762,6 +768,18 @@ bool WizardController::IsDeviceRegistered() { } // static +bool WizardController::IsRegisterScreenDefined() { + const chromeos::StartupCustomizationDocument* manifest = NULL; + // This method will be called from ExistingUserController too + // when Wizard instance doesn't exist. + if (default_controller()) + manifest = default_controller()->GetCustomization(); + else + manifest = LoadStartupManifest(); + return IsRegistrationScreenValid(manifest); +} + +// static void WizardController::MarkDeviceRegistered() { // Create flag file for boot-time init scripts. FilePath oobe_complete_path(kOobeCompleteFlagFilePath); diff --git a/chrome/browser/chromeos/login/wizard_controller.h b/chrome/browser/chromeos/login/wizard_controller.h index 44fb432..788b8ec 100644 --- a/chrome/browser/chromeos/login/wizard_controller.h +++ b/chrome/browser/chromeos/login/wizard_controller.h @@ -67,6 +67,9 @@ class WizardController : public chromeos::ScreenObserver, // Returns device registration completion status, i.e. second part of OOBE. static bool IsDeviceRegistered(); + // Returns true if valid registration URL is defined. + static bool IsRegisterScreenDefined(); + // Marks device registered. i.e. second part of OOBE is completed. static void MarkDeviceRegistered(); |