diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-08 23:18:03 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-08 23:18:03 +0000 |
commit | 92249df1fcb53c18e9cfc87ea28ba1853b346ce3 (patch) | |
tree | 89f5514ccae4274ccc1682a9ed27e95d80c9570c /chrome/browser/chromeos/login | |
parent | 73db3296a6456ba5afe72d5b93c468be563ff33e (diff) | |
download | chromium_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')
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_; |