diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-10 22:57:09 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-10 22:57:09 +0000 |
commit | a0afeb1aafd479aed625b2a6c6e0fc02b5348962 (patch) | |
tree | 5a69548fe6278196c3dc69bfb1758cfa01444057 | |
parent | 6d6587c3b5f3d1a3a5b7b03272c957a44d6acc71 (diff) | |
download | chromium_src-a0afeb1aafd479aed625b2a6c6e0fc02b5348962.zip chromium_src-a0afeb1aafd479aed625b2a6c6e0fc02b5348962.tar.gz chromium_src-a0afeb1aafd479aed625b2a6c6e0fc02b5348962.tar.bz2 |
[Launcher per display] Removed Shell::status_area_widget(), system_tray()
HasPrimaryStatusArea/GetPrimarySystemTray for login screen
which will have only one tray/status area on primary
BUG=145978
TEST=none
Review URL: https://chromiumcodereview.appspot.com/11476033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172169 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ash/accelerators/accelerator_controller.cc | 11 | ||||
-rw-r--r-- | ash/extended_desktop_unittest.cc | 2 | ||||
-rw-r--r-- | ash/launcher/overflow_bubble.cc | 6 | ||||
-rw-r--r-- | ash/root_window_controller.cc | 23 | ||||
-rw-r--r-- | ash/root_window_controller.h | 14 | ||||
-rw-r--r-- | ash/shell.cc | 21 | ||||
-rw-r--r-- | ash/shell.h | 14 | ||||
-rw-r--r-- | ash/system/chromeos/network/network_state_list_detailed_view.cc | 4 | ||||
-rw-r--r-- | ash/system/tray_update.cc | 2 | ||||
-rw-r--r-- | ash/wm/gestures/tray_gesture_handler.cc | 5 | ||||
-rw-r--r-- | ash/wm/shelf_layout_manager_unittest.cc | 41 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/webui_login_view.cc | 14 | ||||
-rw-r--r-- | chrome/browser/chromeos/system/ash_system_tray_delegate.cc | 6 |
13 files changed, 101 insertions, 62 deletions
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc index 5a67366..66864e9 100644 --- a/ash/accelerators/accelerator_controller.cc +++ b/ash/accelerators/accelerator_controller.cc @@ -633,10 +633,15 @@ bool AcceleratorController::PerformAction(int action, return true; } break; - case SHOW_SYSTEM_TRAY_BUBBLE: - if (!shell->system_tray()->HasSystemBubble()) - shell->system_tray()->ShowDefaultView(BUBBLE_CREATE_NEW); + case SHOW_SYSTEM_TRAY_BUBBLE: { + internal::RootWindowController* controller = + Shell::IsLauncherPerDisplayEnabled() ? + internal::RootWindowController::ForActiveRootWindow() : + Shell::GetPrimaryRootWindowController(); + if (!controller->GetSystemTray()->HasSystemBubble()) + controller->GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW); break; + } case SHOW_TASK_MANAGER: Shell::GetInstance()->delegate()->ShowTaskManager(); return true; diff --git a/ash/extended_desktop_unittest.cc b/ash/extended_desktop_unittest.cc index c153a60..716b9f2 100644 --- a/ash/extended_desktop_unittest.cc +++ b/ash/extended_desktop_unittest.cc @@ -577,7 +577,7 @@ TEST_F(ExtendedDesktopTest, ConvertPoint) { TEST_F(ExtendedDesktopTest, OpenSystemTray) { UpdateDisplay("500x600,600x400"); - SystemTray* tray = ash::Shell::GetInstance()->system_tray(); + SystemTray* tray = ash::Shell::GetInstance()->GetPrimarySystemTray(); ASSERT_FALSE(tray->HasSystemBubble()); // Opens the tray by a dummy click event and makes sure that adding/removing diff --git a/ash/launcher/overflow_bubble.cc b/ash/launcher/overflow_bubble.cc index 7c14f8e..d2f889e 100644 --- a/ash/launcher/overflow_bubble.cc +++ b/ash/launcher/overflow_bubble.cc @@ -8,9 +8,11 @@ #include "ash/launcher/launcher_types.h" #include "ash/launcher/launcher_view.h" +#include "ash/root_window_controller.h" #include "ash/system/tray/system_tray.h" #include "ash/shell.h" #include "ash/wm/shelf_layout_manager.h" +#include "ui/aura/root_window.h" #include "ui/gfx/insets.h" #include "ui/gfx/screen.h" #include "ui/views/bubble/bubble_delegate.h" @@ -258,8 +260,8 @@ void OverflowBubble::Show(LauncherDelegate* delegate, overflow_start_index); bubble_ = bubble_view; - ash::Shell::GetInstance()->system_tray()->InitializeBubbleAnimations( - bubble_->GetWidget()); + RootWindowController::ForWindow(anchor->GetWidget()->GetNativeView())-> + GetSystemTray()->InitializeBubbleAnimations(bubble_->GetWidget()); bubble_->GetWidget()->AddObserver(this); bubble_->GetWidget()->Show(); } diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc index 8ccdd12..e3ca185 100644 --- a/ash/root_window_controller.cc +++ b/ash/root_window_controller.cc @@ -176,14 +176,23 @@ RootWindowController::~RootWindowController() { } // static -internal::RootWindowController* -RootWindowController::ForLauncher(aura::Window* window) { +RootWindowController* RootWindowController::ForLauncher(aura::Window* window) { if (Shell::IsLauncherPerDisplayEnabled()) return GetRootWindowController(window->GetRootWindow()); else return Shell::GetPrimaryRootWindowController(); } +// static +RootWindowController* RootWindowController::ForWindow(aura::Window* window) { + return GetRootWindowController(window->GetRootWindow()); +} + +// static +RootWindowController* RootWindowController::ForActiveRootWindow() { + return GetRootWindowController(Shell::GetActiveRootWindow()); +} + void RootWindowController::Shutdown() { CloseChildWindows(); if (Shell::GetActiveRootWindow() == root_window_.get()) { @@ -221,7 +230,7 @@ RootWindowController::GetSystemModalLayoutManager(aura::Window* window) { container = GetContainer(kShellWindowId_SystemModalContainer); } } else { - user::LoginStatus login = Shell::GetInstance()->status_area_widget() ? + user::LoginStatus login = Shell::GetInstance()->tray_delegate() ? Shell::GetInstance()->tray_delegate()->GetUserLoginStatus() : user::LOGGED_IN_NONE; int modal_window_id = (login == user::LOGGED_IN_LOCKED || @@ -442,6 +451,14 @@ void RootWindowController::MoveWindowsTo(aura::RootWindow* dst) { } } +SystemTray* RootWindowController::GetSystemTray() { + // We assume in throughout the code that this will not return NULL. If code + // triggers this for valid reasons, it should test status_area_widget first. + internal::StatusAreaWidget* status_area = status_area_widget(); + CHECK(status_area); + return status_area->system_tray(); +} + void RootWindowController::ShowContextMenu( const gfx::Point& location_in_screen) { aura::RootWindow* target = Shell::IsLauncherPerDisplayEnabled() ? diff --git a/ash/root_window_controller.h b/ash/root_window_controller.h index a8cb82f..92185a6 100644 --- a/ash/root_window_controller.h +++ b/ash/root_window_controller.h @@ -32,6 +32,7 @@ class RootWindowEventFilter; namespace ash { class Launcher; +class SystemTray; class ToplevelWindowEventHandler; namespace internal { @@ -62,6 +63,12 @@ class ASH_EXPORT RootWindowController { // RootWindowController otherwise. static RootWindowController* ForLauncher(aura::Window* window); + // Returns a RootWindowController of the window's root window. + static RootWindowController* ForWindow(aura::Window* window); + + // Returns the RootWindowController of the active root window. + static internal::RootWindowController* ForActiveRootWindow(); + aura::RootWindow* root_window() { return root_window_.get(); } RootWindowLayoutManager* root_window_layout() { return root_window_layout_; } @@ -76,10 +83,15 @@ class ASH_EXPORT RootWindowController { ShelfLayoutManager* shelf() const { return shelf_; } - StatusAreaWidget* status_area_widget() const { + StatusAreaWidget* status_area_widget() { return status_area_widget_; } + // Returns the system tray on this root window. Note that + // calling this on the root window that doesn't have a launcher will + // lead to a crash. + SystemTray* GetSystemTray(); + // Shows context menu at the |location_in_screen|. This uses // |ShellDelegate::CreateContextMenu| to define the content of the menu. void ShowContextMenu(const gfx::Point& location_in_screen); diff --git a/ash/shell.cc b/ash/shell.cc index ba58f5d..a6e4ee0 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -670,7 +670,14 @@ void Shell::OnLockStateChanged(bool locked) { } void Shell::CreateLauncher() { - GetPrimaryRootWindowController()->CreateLauncher(); + if (IsLauncherPerDisplayEnabled()) { + RootWindowControllerList controllers = GetAllRootWindowControllers(); + for (RootWindowControllerList::iterator iter = controllers.begin(); + iter != controllers.end(); ++iter) + (*iter)->CreateLauncher(); + } else { + GetPrimaryRootWindowController()->CreateLauncher(); + } } void Shell::ShowLauncher() { @@ -753,16 +760,12 @@ WebNotificationTray* Shell::GetWebNotificationTray() { web_notification_tray(); } -internal::StatusAreaWidget* Shell::status_area_widget() { - return GetPrimaryRootWindowController()->status_area_widget(); +bool Shell::HasPrimaryStatusArea() { + return !!GetPrimaryRootWindowController()->status_area_widget(); } -SystemTray* Shell::system_tray() { - // We assume in throughout the code that this will not return NULL. If code - // triggers this for valid reasons, it should test status_area_widget first. - internal::StatusAreaWidget* status_area = status_area_widget(); - CHECK(status_area); - return status_area->system_tray(); +SystemTray* Shell::GetPrimarySystemTray() { + return GetPrimaryRootWindowController()->GetSystemTray(); } void Shell::InitRootWindowForSecondaryDisplay(aura::RootWindow* root) { diff --git a/ash/shell.h b/ash/shell.h index 346c977..3a21dfd 100644 --- a/ash/shell.h +++ b/ash/shell.h @@ -148,9 +148,11 @@ class ASH_EXPORT Shell : internal::SystemModalContainerEventFilterDelegate, static void DeleteInstance(); // Returns the root window controller for the primary root window. + // TODO(oshima): move this to |RootWindowController| static internal::RootWindowController* GetPrimaryRootWindowController(); // Returns all root window controllers. + // TODO(oshima): move this to |RootWindowController| static RootWindowControllerList GetAllRootWindowControllers(); // Returns the primary RootWindow. The primary RootWindow is the one @@ -358,13 +360,11 @@ class ASH_EXPORT Shell : internal::SystemModalContainerEventFilterDelegate, // Returns WebNotificationTray on the primary root window. WebNotificationTray* GetWebNotificationTray(); - // Convenience accessor for members of StatusAreaWidget. - // NOTE: status_area_widget() may return NULL during shutdown; - // tray_delegate() and system_tray() will crash if called after - // status_area_widget() has been destroyed; check status_area_widget() - // before calling these in destructors. - internal::StatusAreaWidget* status_area_widget(); - SystemTray* system_tray(); + // Does the primary display have status area? + bool HasPrimaryStatusArea(); + + // Returns the system tray on primary display. + SystemTray* GetPrimarySystemTray(); // TODO(stevenjb): Rename to system_tray_delegate(). SystemTrayDelegate* tray_delegate() { diff --git a/ash/system/chromeos/network/network_state_list_detailed_view.cc b/ash/system/chromeos/network/network_state_list_detailed_view.cc index b28bd65..b28f72e 100644 --- a/ash/system/chromeos/network/network_state_list_detailed_view.cc +++ b/ash/system/chromeos/network/network_state_list_detailed_view.cc @@ -4,6 +4,7 @@ #include "ash/system/chromeos/network/network_state_list_detailed_view.h" +#include "ash/root_window_controller.h" #include "ash/shell.h" #include "ash/shell_window_ids.h" #include "ash/system/chromeos/network/network_icon.h" @@ -218,7 +219,8 @@ void NetworkStateListDetailedView::ClickedOn(views::View* sender) { ResetInfoBubble(); if (sender == footer()->content()) { - Shell::GetInstance()->system_tray()->ShowDefaultView(BUBBLE_USE_EXISTING); + RootWindowController::ForWindow(GetWidget()->GetNativeView())-> + GetSystemTray()->ShowDefaultView(BUBBLE_USE_EXISTING); return; } diff --git a/ash/system/tray_update.cc b/ash/system/tray_update.cc index ef352eb..67aa2b3 100644 --- a/ash/system/tray_update.cc +++ b/ash/system/tray_update.cc @@ -108,7 +108,7 @@ class UpdateNagger : public ui::LayerAnimationObserver { virtual ~UpdateNagger() { internal::StatusAreaWidget* status_area = - ash::Shell::GetInstance()->status_area_widget(); + Shell::GetPrimaryRootWindowController()->status_area_widget(); if (status_area) { status_area->system_tray()->GetWidget()->GetNativeView()->layer()-> GetAnimator()->RemoveObserver(this); diff --git a/ash/wm/gestures/tray_gesture_handler.cc b/ash/wm/gestures/tray_gesture_handler.cc index 1a8f2ea..5eabccb9f 100644 --- a/ash/wm/gestures/tray_gesture_handler.cc +++ b/ash/wm/gestures/tray_gesture_handler.cc @@ -21,7 +21,8 @@ namespace internal { TrayGestureHandler::TrayGestureHandler() : widget_(NULL), gesture_drag_amount_(0) { - SystemTray* tray = Shell::GetInstance()->system_tray(); + // TODO(oshima): Support multiple display case. + SystemTray* tray = Shell::GetInstance()->GetPrimarySystemTray(); tray->ShowDefaultView(BUBBLE_CREATE_NEW); SystemTrayBubble* bubble = tray->GetSystemBubble(); if (!bubble) @@ -93,7 +94,7 @@ void TrayGestureHandler::CompleteGestureDrag(const ui::GestureEvent& event) { widget_->Close(); } else { SystemTrayBubble* bubble = - Shell::GetInstance()->system_tray()->GetSystemBubble(); + Shell::GetInstance()->GetPrimarySystemTray()->GetSystemBubble(); if (bubble) bubble->bubble_view()->set_gesture_dragging(false); } diff --git a/ash/wm/shelf_layout_manager_unittest.cc b/ash/wm/shelf_layout_manager_unittest.cc index 6a3dad7..76c7868 100644 --- a/ash/wm/shelf_layout_manager_unittest.cc +++ b/ash/wm/shelf_layout_manager_unittest.cc @@ -49,10 +49,11 @@ void StepWidgetLayerAnimatorToEnd(views::Widget* widget) { } ShelfLayoutManager* GetShelfLayoutManager() { - aura::Window* window = Shell::GetContainer( - Shell::GetPrimaryRootWindow(), - internal::kShellWindowId_LauncherContainer); - return static_cast<ShelfLayoutManager*>(window->layout_manager()); + return Shell::GetPrimaryRootWindowController()->shelf(); +} + +SystemTray* GetSystemTray() { + return Shell::GetPrimaryRootWindowController()->GetSystemTray(); } class ShelfLayoutObserverTest : public ShelfLayoutManager::Observer { @@ -80,7 +81,7 @@ class ShelfLayoutObserverTest : public ShelfLayoutManager::Observer { class TestItem : public SystemTrayItem { public: TestItem() - : SystemTrayItem(Shell::GetInstance()->system_tray()), + : SystemTrayItem(GetSystemTray()), tray_view_(NULL), default_view_(NULL), detailed_view_(NULL), @@ -153,10 +154,6 @@ class ShelfLayoutManagerTest : public ash::test::AshTestBase { public: ShelfLayoutManagerTest() {} - ShelfLayoutManager* shelf_layout_manager() { - return Shell::GetPrimaryRootWindowController()->shelf(); - } - void SetState(ShelfLayoutManager* shelf, ShelfVisibilityState state) { shelf->SetState(state); @@ -510,7 +507,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfVisibleState) { Shell* shell = Shell::GetInstance(); internal::RootWindowController* controller = Shell::GetPrimaryRootWindowController(); - ShelfLayoutManager* shelf = shelf_layout_manager(); + ShelfLayoutManager* shelf = GetShelfLayoutManager(); shelf->LayoutShelf(); controller->SetShelfAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); @@ -537,7 +534,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfVisibleState) { // toggling app list won't change shelf visibility state. TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfAutoHideState) { Shell* shell = Shell::GetInstance(); - ShelfLayoutManager* shelf = shelf_layout_manager(); + ShelfLayoutManager* shelf = GetShelfLayoutManager(); internal::RootWindowController* controller = Shell::GetPrimaryRootWindowController(); shelf->LayoutShelf(); @@ -573,7 +570,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfAutoHideState) { // state, and toggling app list won't change shelf visibility state. TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) { Shell* shell = Shell::GetInstance(); - ShelfLayoutManager* shelf = shelf_layout_manager(); + ShelfLayoutManager* shelf = GetShelfLayoutManager(); // For shelf to be visible, app list is not open in initial state. shelf->LayoutShelf(); @@ -601,7 +598,7 @@ TEST_F(ShelfLayoutManagerTest, OpenAppListWithShelfHiddenState) { // Tests SHELF_ALIGNMENT_LEFT and SHELF_ALIGNMENT_RIGHT. TEST_F(ShelfLayoutManagerTest, SetAlignment) { - ShelfLayoutManager* shelf = shelf_layout_manager(); + ShelfLayoutManager* shelf = GetShelfLayoutManager(); // Force an initial layout. shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); shelf->LayoutShelf(); @@ -620,8 +617,7 @@ TEST_F(ShelfLayoutManagerTest, SetAlignment) { EXPECT_GE( launcher_bounds.width(), shelf->launcher_widget()->GetContentsView()->GetPreferredSize().width()); - EXPECT_EQ(SHELF_ALIGNMENT_LEFT, - Shell::GetInstance()->system_tray()->shelf_alignment()); + EXPECT_EQ(SHELF_ALIGNMENT_LEFT, GetSystemTray()->shelf_alignment()); StatusAreaWidget* status_area_widget = shelf->status_area_widget(); gfx::Rect status_bounds(status_area_widget->GetWindowBoundsInScreen()); EXPECT_GE(status_bounds.width(), @@ -650,8 +646,7 @@ TEST_F(ShelfLayoutManagerTest, SetAlignment) { display.GetWorkAreaInsets().right()); EXPECT_GE(launcher_bounds.width(), shelf->launcher_widget()->GetContentsView()->GetPreferredSize().width()); - EXPECT_EQ(SHELF_ALIGNMENT_RIGHT, - Shell::GetInstance()->system_tray()->shelf_alignment()); + EXPECT_EQ(SHELF_ALIGNMENT_RIGHT, GetSystemTray()->shelf_alignment()); status_bounds = gfx::Rect(status_area_widget->GetWindowBoundsInScreen()); EXPECT_GE(status_bounds.width(), status_area_widget->GetContentsView()->GetPreferredSize().width()); @@ -777,7 +772,7 @@ TEST_F(ShelfLayoutManagerTest, GestureRevealsTrayBubble) { shelf->LayoutShelf(); aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); - SystemTray* tray = Shell::GetInstance()->system_tray(); + SystemTray* tray = GetSystemTray(); // First, make sure the shelf is visible. shelf->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); @@ -827,7 +822,7 @@ TEST_F(ShelfLayoutManagerTest, ShelfFlickerOnTrayActivation) { SHOW_SYSTEM_TRAY_BUBBLE, ui::Accelerator()); EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state()); - EXPECT_TRUE(Shell::GetInstance()->system_tray()->HasSystemBubble()); + EXPECT_TRUE(GetSystemTray()->HasSystemBubble()); // Now activate the tray (using the keyboard, instead of using the mouse to // make sure the mouse does not alter the auto-hide state in the shelf). @@ -838,7 +833,7 @@ TEST_F(ShelfLayoutManagerTest, ShelfFlickerOnTrayActivation) { aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); generator.PressKey(ui::VKEY_SPACE, 0); generator.ReleaseKey(ui::VKEY_SPACE, 0); - EXPECT_TRUE(Shell::GetInstance()->system_tray()->HasSystemBubble()); + EXPECT_TRUE(GetSystemTray()->HasSystemBubble()); EXPECT_EQ(SHELF_AUTO_HIDE, shelf->visibility_state()); EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->auto_hide_state()); EXPECT_FALSE(observer.changed_auto_hide_state()); @@ -901,7 +896,7 @@ TEST_F(ShelfLayoutManagerTest, WorkAreaChangeWorkspace) { // Confirm that the shelf is dimmed only when content is maximized and // shelf is not autohidden. TEST_F(ShelfLayoutManagerTest, Dimming) { - shelf_layout_manager()->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); + GetShelfLayoutManager()->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); scoped_ptr<aura::Window> w1(CreateTestWindow()); w1->Show(); wm::ActivateWindow(w1.get()); @@ -924,7 +919,7 @@ TEST_F(ShelfLayoutManagerTest, Dimming) { EXPECT_TRUE(launcher->GetDimsShelf()); // Changing shelf to autohide stops dimming. - shelf_layout_manager()->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); + GetShelfLayoutManager()->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS); EXPECT_FALSE(launcher->GetDimsShelf()); } @@ -934,7 +929,7 @@ TEST_F(ShelfLayoutManagerTest, BubbleEnlargesShelfMouseHitArea) { ShelfLayoutManager* shelf = GetShelfLayoutManager(); StatusAreaWidget* status_area_widget = Shell::GetPrimaryRootWindowController()->status_area_widget(); - SystemTray* tray = Shell::GetInstance()->system_tray(); + SystemTray* tray = GetSystemTray(); shelf->LayoutShelf(); aura::test::EventGenerator generator(Shell::GetPrimaryRootWindow()); diff --git a/chrome/browser/chromeos/login/webui_login_view.cc b/chrome/browser/chromeos/login/webui_login_view.cc index 4bf813d..f24af0a 100644 --- a/chrome/browser/chromeos/login/webui_login_view.cc +++ b/chrome/browser/chromeos/login/webui_login_view.cc @@ -142,8 +142,10 @@ WebUILoginView::WebUILoginView() } WebUILoginView::~WebUILoginView() { - if (ash::Shell::GetInstance()->status_area_widget()) - ash::Shell::GetInstance()->system_tray()->SetNextFocusableView(NULL); + if (ash::Shell::GetInstance()->HasPrimaryStatusArea()) { + ash::Shell::GetInstance()->GetPrimarySystemTray()-> + SetNextFocusableView(NULL); + } } void WebUILoginView::Init(views::Widget* login_window) { @@ -242,8 +244,8 @@ void WebUILoginView::OnPostponedShow() { } void WebUILoginView::SetStatusAreaVisible(bool visible) { - if (ash::Shell::GetInstance()->status_area_widget()) { - ash::SystemTray* tray = ash::Shell::GetInstance()->system_tray(); + if (ash::Shell::GetInstance()->HasPrimaryStatusArea()) { + ash::SystemTray* tray = ash::Shell::GetInstance()->GetPrimarySystemTray(); if (visible) { // Tray may have been initialized being hidden. tray->SetVisible(visible); @@ -256,7 +258,7 @@ void WebUILoginView::SetStatusAreaVisible(bool visible) { void WebUILoginView::SetUIEnabled(bool enabled) { forward_keyboard_event_ = enabled; - ash::Shell::GetInstance()->system_tray()->SetEnabled(enabled); + ash::Shell::GetInstance()->GetPrimarySystemTray()->SetEnabled(enabled); } // WebUILoginView protected: --------------------------------------------------- @@ -334,7 +336,7 @@ bool WebUILoginView::IsPopupOrPanel(const WebContents* source) const { } bool WebUILoginView::TakeFocus(content::WebContents* source, bool reverse) { - ash::SystemTray* tray = ash::Shell::GetInstance()->system_tray(); + ash::SystemTray* tray = ash::Shell::GetInstance()->GetPrimarySystemTray(); if (tray && tray->GetWidget()->IsVisible()) { tray->SetNextFocusableView(this); ash::Shell::GetInstance()->RotateFocus(reverse ? ash::Shell::BACKWARD : diff --git a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc index cfd87ab..0b19b42 100644 --- a/chrome/browser/chromeos/system/ash_system_tray_delegate.cc +++ b/chrome/browser/chromeos/system/ash_system_tray_delegate.cc @@ -775,8 +775,8 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, } private: - ash::SystemTray* GetSystemTray() { - return ash::Shell::GetInstance()->system_tray(); + ash::SystemTray* GetPrimarySystemTray() { + return ash::Shell::GetInstance()->GetPrimarySystemTray(); } ash::SystemTrayNotifier* GetSystemTrayNotifier() { @@ -1004,7 +1004,7 @@ class SystemTrayDelegate : public ash::SystemTrayDelegate, RefreshNetworkObserver(crosnet); RefreshNetworkDeviceObserver(crosnet); data_promo_notification_->ShowOptionalMobileDataPromoNotification( - crosnet, GetSystemTray(), this); + crosnet, GetPrimarySystemTray(), this); NotifyRefreshNetwork(); } |