summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-19 13:07:10 +0000
committernkostylev@chromium.org <nkostylev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-19 13:07:10 +0000
commit0a0d806aa4c534ff999f6bac2503d76d1d38e38d (patch)
treee5d30d2521747e2878662613e69694e6baa7230c
parent9a8b16173c117f60cc6e0eea400e38164f2f1bf5 (diff)
downloadchromium_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.grd5
-rw-r--r--chrome/browser/chromeos/login/background_view.cc4
-rw-r--r--chrome/browser/chromeos/login/eula_view.cc2
-rw-r--r--chrome/browser/chromeos/login/helper.h4
-rw-r--r--chrome/browser/chromeos/login/network_selection_view.cc4
-rw-r--r--chrome/browser/chromeos/login/update_screen.cc8
-rw-r--r--chrome/browser/chromeos/login/update_view.cc10
-rw-r--r--chrome/browser/chromeos/login/view_screen.h4
-rw-r--r--chrome/browser/chromeos/login/wizard_controller.cc22
-rw-r--r--chrome/browser/chromeos/login/wizard_controller.h3
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();