summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/login
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-08 23:18:03 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-08 23:18:03 +0000
commit92249df1fcb53c18e9cfc87ea28ba1853b346ce3 (patch)
tree89f5514ccae4274ccc1682a9ed27e95d80c9570c /chrome/browser/chromeos/login
parent73db3296a6456ba5afe72d5b93c468be563ff33e (diff)
downloadchromium_src-92249df1fcb53c18e9cfc87ea28ba1853b346ce3.zip
chromium_src-92249df1fcb53c18e9cfc87ea28ba1853b346ce3.tar.gz
chromium_src-92249df1fcb53c18e9cfc87ea28ba1853b346ce3.tar.bz2
WIP: Separate StatusAreaView from StatusAreaViewChromeos
This is in preperation for moving StatusAreaView to ui: so that it is available for Aura. * Remove button specific accessors from StatusAreaView * Replace StatusAreaHost with StatusAreaButton::Delegate, eliminating unnecessary methods BUG=97263 TEST=Thoroughly test the status area on ChromeOS (there should be no visible or functional changes) Review URL: http://codereview.chromium.org/8438064 Change-Id: I29bdc1cdbc8a2287ab4920b94fea2b22235088b9 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109122 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/login')
-rw-r--r--chrome/browser/chromeos/login/background_view.cc44
-rw-r--r--chrome/browser/chromeos/login/background_view.h32
-rw-r--r--chrome/browser/chromeos/login/existing_user_controller.cc1
-rw-r--r--chrome/browser/chromeos/login/keyboard_switch_menu.cc4
-rw-r--r--chrome/browser/chromeos/login/keyboard_switch_menu.h1
-rw-r--r--chrome/browser/chromeos/login/screen_locker_views.cc6
-rw-r--r--chrome/browser/chromeos/login/webui_login_view.cc46
-rw-r--r--chrome/browser/chromeos/login/webui_login_view.h31
8 files changed, 73 insertions, 92 deletions
diff --git a/chrome/browser/chromeos/login/background_view.cc b/chrome/browser/chromeos/login/background_view.cc
index e07b659..1dba5c5 100644
--- a/chrome/browser/chromeos/login/background_view.cc
+++ b/chrome/browser/chromeos/login/background_view.cc
@@ -18,10 +18,6 @@
#include "chrome/browser/chromeos/login/rounded_rect_painter.h"
#include "chrome/browser/chromeos/login/shutdown_button.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
-#include "chrome/browser/chromeos/status/clock_menu_button.h"
-#include "chrome/browser/chromeos/status/input_method_menu_button.h"
-#include "chrome/browser/chromeos/status/network_menu_button.h"
-#include "chrome/browser/chromeos/status/status_area_view.h"
#include "chrome/browser/policy/browser_policy_connector.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/views/dom_view.h"
@@ -81,6 +77,7 @@ namespace chromeos {
BackgroundView::BackgroundView()
: status_area_(NULL),
+ screen_mode_(StatusAreaViewChromeos::LOGIN_MODE_VIEWS),
os_version_label_(NULL),
boot_times_label_(NULL),
progress_bar_(NULL),
@@ -216,7 +213,7 @@ bool BackgroundView::ScreenSaverEnabled() {
void BackgroundView::SetDefaultUse24HourClock(bool use_24hour_clock) {
DCHECK(status_area_);
- status_area_->clock_view()->SetDefaultUse24HourClock(use_24hour_clock);
+ status_area_->SetDefaultUse24HourClock(use_24hour_clock);
}
///////////////////////////////////////////////////////////////////////////////
@@ -271,24 +268,18 @@ void BackgroundView::ChildPreferredSizeChanged(View* child) {
SchedulePaint();
}
-Profile* BackgroundView::GetProfile() const {
- return NULL;
-}
+// Overridden from StatusAreaButton::Delegate:
-bool BackgroundView::ShouldOpenButtonOptions(
- const views::View* button_view) const {
- if (button_view == status_area_->network_view()) {
+bool BackgroundView::ShouldExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) const {
+ if (command_id == StatusAreaViewChromeos::SHOW_NETWORK_OPTIONS)
return true;
- }
- if (button_view == status_area_->clock_view() ||
- button_view == status_area_->input_method_view()) {
- return false;
- }
- return true;
+ return false;
}
-void BackgroundView::OpenButtonOptions(const views::View* button_view) {
- if (button_view == status_area_->network_view()) {
+void BackgroundView::ExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) {
+ if (command_id == StatusAreaViewChromeos::SHOW_NETWORK_OPTIONS) {
if (proxy_settings_dialog_.get() == NULL) {
proxy_settings_dialog_.reset(new ProxySettingsDialog(
this, GetNativeWindow()));
@@ -297,19 +288,20 @@ void BackgroundView::OpenButtonOptions(const views::View* button_view) {
}
}
-StatusAreaHost::ScreenMode BackgroundView::GetScreenMode() const {
- return kViewsLoginMode;
+gfx::Font BackgroundView::GetStatusAreaFont(const gfx::Font& font) const {
+ return font.DeriveFont(0, gfx::Font::BOLD);
}
-StatusAreaHost::TextStyle BackgroundView::GetTextStyle() const {
- return kGrayPlain;
+StatusAreaButton::TextStyle BackgroundView::GetStatusAreaTextStyle() const {
+ return StatusAreaButton::GRAY_PLAIN;
}
void BackgroundView::ButtonVisibilityChanged(views::View* button_view) {
- status_area_->ButtonVisibilityChanged(button_view);
+ status_area_->UpdateButtonVisibility();
}
// Overridden from LoginHtmlDialog::Delegate:
+
void BackgroundView::OnLocaleChanged() {
// Proxy settings dialog contains localized strings.
proxy_settings_dialog_.reset();
@@ -332,8 +324,8 @@ void BackgroundView::OnBootTimesLabelTextUpdated(
void BackgroundView::InitStatusArea() {
DCHECK(status_area_ == NULL);
- status_area_ = new StatusAreaView(this);
- status_area_->Init();
+ status_area_ = new StatusAreaViewChromeos();
+ status_area_->Init(this, screen_mode_);
AddChildView(status_area_);
}
diff --git a/chrome/browser/chromeos/login/background_view.h b/chrome/browser/chromeos/login/background_view.h
index 53d8a0e..db59247 100644
--- a/chrome/browser/chromeos/login/background_view.h
+++ b/chrome/browser/chromeos/login/background_view.h
@@ -7,8 +7,9 @@
#pragma once
#include "chrome/browser/chromeos/login/login_html_dialog.h"
-#include "chrome/browser/chromeos/status/status_area_host.h"
#include "chrome/browser/chromeos/login/version_info_updater.h"
+#include "chrome/browser/chromeos/status/status_area_button.h"
+#include "chrome/browser/chromeos/status/status_area_view_chromeos.h"
#include "views/view.h"
namespace views {
@@ -26,12 +27,11 @@ namespace chromeos {
class OobeProgressBar;
class ShutdownButton;
-class StatusAreaView;
// View used to render the background during login. BackgroundView contains
// StatusAreaView.
class BackgroundView : public views::View,
- public StatusAreaHost,
+ public StatusAreaButton::Delegate,
public LoginHtmlDialog::Delegate,
public VersionInfoUpdater::Delegate {
public:
@@ -68,8 +68,8 @@ class BackgroundView : public views::View,
// Create a modal popup view.
void CreateModalPopup(views::WidgetDelegate* view);
- // Overridden from StatusAreaHost:
- virtual gfx::NativeWindow GetNativeWindow() const;
+ // Gets the native window from the view widget.
+ gfx::NativeWindow GetNativeWindow() const;
// Toggles status area visibility.
void SetStatusAreaVisible(bool visible);
@@ -109,14 +109,13 @@ class BackgroundView : public views::View,
virtual void ChildPreferredSizeChanged(View* child) OVERRIDE;
virtual void OnLocaleChanged() OVERRIDE;
- // Overridden from StatusAreaHost:
- virtual Profile* GetProfile() const OVERRIDE;
- virtual void ExecuteBrowserCommand(int id) const OVERRIDE {}
- virtual bool ShouldOpenButtonOptions(
- const views::View* button_view) const OVERRIDE;
- virtual void OpenButtonOptions(const views::View* button_view) OVERRIDE;
- virtual ScreenMode GetScreenMode() const OVERRIDE;
- virtual TextStyle GetTextStyle() const OVERRIDE;
+ // Overridden from StatusAreaButton::Delegate:
+ virtual bool ShouldExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) const OVERRIDE;
+ virtual void ExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) OVERRIDE;
+ virtual gfx::Font GetStatusAreaFont(const gfx::Font& font) const OVERRIDE;
+ virtual StatusAreaButton::TextStyle GetStatusAreaTextStyle() const OVERRIDE;
virtual void ButtonVisibilityChanged(views::View* button_view) OVERRIDE;
// Overridden from LoginHtmlDialog::Delegate:
@@ -128,6 +127,10 @@ class BackgroundView : public views::View,
virtual void OnBootTimesLabelTextUpdated(
const std::string& boot_times_label_text) OVERRIDE;
+ void set_screen_mode(StatusAreaViewChromeos::ScreenMode mode) {
+ screen_mode_ = mode;
+ }
+
private:
// Creates and adds the status_area.
void InitStatusArea();
@@ -141,7 +144,8 @@ class BackgroundView : public views::View,
void UpdateWindowType();
// All of these variables could be NULL.
- StatusAreaView* status_area_;
+ StatusAreaViewChromeos* status_area_;
+ StatusAreaViewChromeos::ScreenMode screen_mode_;
views::Label* os_version_label_;
views::Label* boot_times_label_;
OobeProgressBar* progress_bar_;
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
index 84630bf..37b1ae2 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -26,7 +26,6 @@
#include "chrome/browser/chromeos/login/views_login_display.h"
#include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
-#include "chrome/browser/chromeos/status/status_area_view.h"
#include "chrome/browser/chromeos/user_cros_settings_provider.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/prefs/pref_service.h"
diff --git a/chrome/browser/chromeos/login/keyboard_switch_menu.cc b/chrome/browser/chromeos/login/keyboard_switch_menu.cc
index 8f0a98a..c0cce6d 100644
--- a/chrome/browser/chromeos/login/keyboard_switch_menu.cc
+++ b/chrome/browser/chromeos/login/keyboard_switch_menu.cc
@@ -8,7 +8,7 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/chromeos/input_method/input_method_manager.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
-#include "chrome/browser/chromeos/status/status_area_host.h"
+#include "chrome/browser/chromeos/status/status_area_view_chromeos.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
#include "views/controls/button/menu_button.h"
@@ -18,7 +18,7 @@ namespace chromeos {
KeyboardSwitchMenu::KeyboardSwitchMenu()
: InputMethodMenu(NULL /* pref_service */,
- StatusAreaHost::kViewsLoginMode,
+ StatusAreaViewChromeos::LOGIN_MODE_VIEWS,
true /* for_out_of_box_experience_dialog */) {
}
diff --git a/chrome/browser/chromeos/login/keyboard_switch_menu.h b/chrome/browser/chromeos/login/keyboard_switch_menu.h
index 1a78846..b972bbd 100644
--- a/chrome/browser/chromeos/login/keyboard_switch_menu.h
+++ b/chrome/browser/chromeos/login/keyboard_switch_menu.h
@@ -10,7 +10,6 @@
#include "base/memory/scoped_ptr.h"
#include "chrome/browser/chromeos/status/input_method_menu.h"
-#include "chrome/browser/chromeos/status/status_area_host.h"
namespace chromeos {
diff --git a/chrome/browser/chromeos/login/screen_locker_views.cc b/chrome/browser/chromeos/login/screen_locker_views.cc
index d0606f5..cf960a1 100644
--- a/chrome/browser/chromeos/login/screen_locker_views.cc
+++ b/chrome/browser/chromeos/login/screen_locker_views.cc
@@ -21,6 +21,7 @@
#include "chrome/browser/chromeos/login/screen_lock_view.h"
#include "chrome/browser/chromeos/login/screen_locker.h"
#include "chrome/browser/chromeos/login/shutdown_button.h"
+#include "chrome/browser/chromeos/status/status_area_view_chromeos.h"
#include "chrome/browser/chromeos/view_ids.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/common/chrome_switches.h"
@@ -388,10 +389,7 @@ class ScreenLockerBackgroundView
views::View* screen_lock_view)
: lock_widget_(lock_widget),
screen_lock_view_(screen_lock_view) {
- }
-
- virtual ScreenMode GetScreenMode() const OVERRIDE {
- return kScreenLockerMode;
+ set_screen_mode(chromeos::StatusAreaViewChromeos::SCREEN_LOCKER_MODE);
}
virtual void Layout() OVERRIDE {
diff --git a/chrome/browser/chromeos/login/webui_login_view.cc b/chrome/browser/chromeos/login/webui_login_view.cc
index 36020ec..d8d1c98 100644
--- a/chrome/browser/chromeos/login/webui_login_view.cc
+++ b/chrome/browser/chromeos/login/webui_login_view.cc
@@ -15,10 +15,7 @@
#include "chrome/browser/chromeos/dbus/session_manager_client.h"
#include "chrome/browser/chromeos/login/proxy_settings_dialog.h"
#include "chrome/browser/chromeos/login/webui_login_display.h"
-#include "chrome/browser/chromeos/status/clock_menu_button.h"
-#include "chrome/browser/chromeos/status/input_method_menu_button.h"
-#include "chrome/browser/chromeos/status/network_menu_button.h"
-#include "chrome/browser/chromeos/status/status_area_view.h"
+#include "chrome/browser/chromeos/status/status_area_view_chromeos.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/views/dom_view.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
@@ -233,27 +230,18 @@ void WebUILoginView::ChildPreferredSizeChanged(View* child) {
SchedulePaint();
}
-Profile* WebUILoginView::GetProfile() const {
- return NULL;
-}
-
-void WebUILoginView::ExecuteBrowserCommand(int id) const {
-}
+// Overridden from StatusAreaButton::Delegate:
-bool WebUILoginView::ShouldOpenButtonOptions(
- const views::View* button_view) const {
- if (button_view == status_area_->network_view())
+bool WebUILoginView::ShouldExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) const {
+ if (command_id == StatusAreaViewChromeos::SHOW_NETWORK_OPTIONS)
return true;
-
- if (button_view == status_area_->clock_view() ||
- button_view == status_area_->input_method_view())
- return false;
-
- return true;
+ return false;
}
-void WebUILoginView::OpenButtonOptions(const views::View* button_view) {
- if (button_view == status_area_->network_view()) {
+void WebUILoginView::ExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) {
+ if (command_id == StatusAreaViewChromeos::SHOW_NETWORK_OPTIONS) {
if (proxy_settings_dialog_.get() == NULL) {
proxy_settings_dialog_.reset(new ProxySettingsDialog(
this, GetNativeWindow()));
@@ -262,18 +250,20 @@ void WebUILoginView::OpenButtonOptions(const views::View* button_view) {
}
}
-StatusAreaHost::ScreenMode WebUILoginView::GetScreenMode() const {
- return kWebUILoginMode;
+gfx::Font WebUILoginView::GetStatusAreaFont(const gfx::Font& font) const {
+ return font;
}
-StatusAreaHost::TextStyle WebUILoginView::GetTextStyle() const {
- return kGrayPlain;
+StatusAreaButton::TextStyle WebUILoginView::GetStatusAreaTextStyle() const {
+ return StatusAreaButton::GRAY_PLAIN;
}
void WebUILoginView::ButtonVisibilityChanged(views::View* button_view) {
- status_area_->ButtonVisibilityChanged(button_view);
+ status_area_->UpdateButtonVisibility();
}
+// Overridden from LoginHtmlDialog::Delegate:
+
void WebUILoginView::OnDialogClosed() {
}
@@ -334,8 +324,8 @@ void WebUILoginView::OnTabMainFrameFirstRender() {
void WebUILoginView::InitStatusArea() {
DCHECK(status_area_ == NULL);
DCHECK(status_window_ == NULL);
- status_area_ = new StatusAreaView(this);
- status_area_->Init();
+ status_area_ = new StatusAreaViewChromeos();
+ status_area_->Init(this, StatusAreaViewChromeos::LOGIN_MODE_WEBUI);
status_area_->SetVisible(status_area_visibility_on_init_);
// Width of |status_window| is meant to be large enough.
diff --git a/chrome/browser/chromeos/login/webui_login_view.h b/chrome/browser/chromeos/login/webui_login_view.h
index d822f0b..a5f5ce5 100644
--- a/chrome/browser/chromeos/login/webui_login_view.h
+++ b/chrome/browser/chromeos/login/webui_login_view.h
@@ -7,7 +7,7 @@
#pragma once
#include "chrome/browser/chromeos/login/login_html_dialog.h"
-#include "chrome/browser/chromeos/status/status_area_host.h"
+#include "chrome/browser/chromeos/status/status_area_button.h"
#include "chrome/browser/tab_first_render_watcher.h"
#include "chrome/browser/ui/views/unhandled_keyboard_event_handler.h"
#include "content/browser/tab_contents/tab_contents_delegate.h"
@@ -25,15 +25,15 @@ class Widget;
namespace chromeos {
-class StatusAreaView;
+class StatusAreaViewChromeos;
// View used to render a WebUI supporting Widget. This widget is used for the
// WebUI based start up and lock screens. It contains a StatusAreaView and
// DOMView.
class WebUILoginView : public views::WidgetDelegateView,
- public StatusAreaHost,
+ public StatusAreaButton::Delegate,
public TabContentsDelegate,
- public chromeos::LoginHtmlDialog::Delegate,
+ public LoginHtmlDialog::Delegate,
public TabFirstRenderWatcher::Delegate {
public:
static const int kStatusAreaCornerPadding;
@@ -49,12 +49,12 @@ class WebUILoginView : public views::WidgetDelegateView,
const views::Accelerator& accelerator) OVERRIDE;
virtual std::string GetClassName() const OVERRIDE;
- // Overridden from StatusAreaHost:
- virtual gfx::NativeWindow GetNativeWindow() const;
-
// Called when WebUI window is created.
virtual void OnWindowCreated();
+ // Gets the native window from the view widget.
+ gfx::NativeWindow GetNativeWindow() const;
+
// Invokes SetWindowType for the window. This is invoked during startup and
// after we've painted.
void UpdateWindowType();
@@ -76,14 +76,13 @@ class WebUILoginView : public views::WidgetDelegateView,
virtual void Layout() OVERRIDE;
virtual void ChildPreferredSizeChanged(View* child) OVERRIDE;
- // Overridden from StatusAreaHost:
- virtual Profile* GetProfile() const OVERRIDE;
- virtual void ExecuteBrowserCommand(int id) const OVERRIDE;
- virtual bool ShouldOpenButtonOptions(
- const views::View* button_view) const OVERRIDE;
- virtual void OpenButtonOptions(const views::View* button_view) OVERRIDE;
- virtual ScreenMode GetScreenMode() const OVERRIDE;
- virtual TextStyle GetTextStyle() const OVERRIDE;
+ // Overridden from StatusAreaButton::Delegate:
+ virtual bool ShouldExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) const OVERRIDE;
+ virtual void ExecuteStatusAreaCommand(
+ const views::View* button_view, int command_id) OVERRIDE;
+ virtual gfx::Font GetStatusAreaFont(const gfx::Font& font) const OVERRIDE;
+ virtual StatusAreaButton::TextStyle GetStatusAreaTextStyle() const OVERRIDE;
virtual void ButtonVisibilityChanged(views::View* button_view) OVERRIDE;
// Overridden from LoginHtmlDialog::Delegate:
@@ -98,7 +97,7 @@ class WebUILoginView : public views::WidgetDelegateView,
// Creates and adds the status area (separate window).
virtual void InitStatusArea();
- StatusAreaView* status_area_;
+ StatusAreaViewChromeos* status_area_;
// DOMView for rendering a webpage as a webui login.
DOMView* webui_login_;