mash: Move SystemTrayDelegate ownership to WmShell
This makes it possible to use inside //ash/common.
(SystemTrayDelegate is a dependency of TrayUpdate, which I'm in the process
of moving to //ash/common.)
* Make WmShell non-pure-virtual
* Fix now-unneeded includes of shell.h
* Fix some unnecessary ash:: qualifiers along the way
BUG=615155
TEST=existing ash_unittests, chrome unit_tests and browser_tests
[email protected] for mechanical changes to //chrome/browser
Review-Url: https://codereview.chromium.org/2058173002
Cr-Commit-Position: refs/heads/master@{#399277}
diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc
index cfb66bf2..76f68db 100644
--- a/ash/accelerators/accelerator_controller.cc
+++ b/ash/accelerators/accelerator_controller.cc
@@ -20,6 +20,7 @@
#include "ash/common/wm/mru_window_tracker.h"
#include "ash/common/wm/window_state.h"
#include "ash/common/wm/wm_event.h"
+#include "ash/common/wm_shell.h"
#include "ash/debug.h"
#include "ash/display/window_tree_host_manager.h"
#include "ash/focus_cycler.h"
@@ -732,21 +733,21 @@
void HandleVolumeDown(const ui::Accelerator& accelerator) {
VolumeControlDelegate* volume_delegate =
- Shell::GetInstance()->system_tray_delegate()->GetVolumeControlDelegate();
+ WmShell::Get()->system_tray_delegate()->GetVolumeControlDelegate();
if (volume_delegate)
volume_delegate->HandleVolumeDown(accelerator);
}
void HandleVolumeMute(const ui::Accelerator& accelerator) {
VolumeControlDelegate* volume_delegate =
- Shell::GetInstance()->system_tray_delegate()->GetVolumeControlDelegate();
+ WmShell::Get()->system_tray_delegate()->GetVolumeControlDelegate();
if (volume_delegate)
volume_delegate->HandleVolumeMute(accelerator);
}
void HandleVolumeUp(const ui::Accelerator& accelerator) {
VolumeControlDelegate* volume_delegate =
- Shell::GetInstance()->system_tray_delegate()->GetVolumeControlDelegate();
+ WmShell::Get()->system_tray_delegate()->GetVolumeControlDelegate();
if (volume_delegate)
volume_delegate->HandleVolumeUp(accelerator);
}
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc
index 19e3822..1f279bf 100644
--- a/ash/accelerators/accelerator_controller_unittest.cc
+++ b/ash/accelerators/accelerator_controller_unittest.cc
@@ -15,6 +15,7 @@
#include "ash/common/wm/window_positioning_utils.h"
#include "ash/common/wm/window_state.h"
#include "ash/common/wm/wm_event.h"
+#include "ash/common/wm_shell.h"
#include "ash/display/display_manager.h"
#include "ash/ime_control_delegate.h"
#include "ash/screen_util.h"
@@ -866,7 +867,7 @@
const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, ui::EF_NONE);
{
TestVolumeControlDelegate* delegate = new TestVolumeControlDelegate;
- ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate(
+ ash::WmShell::Get()->system_tray_delegate()->SetVolumeControlDelegate(
std::unique_ptr<VolumeControlDelegate>(delegate));
EXPECT_EQ(0, delegate->handle_volume_mute_count());
EXPECT_TRUE(ProcessInController(volume_mute));
@@ -1426,7 +1427,7 @@
EXPECT_TRUE(ProcessInController(volume_down));
EXPECT_TRUE(ProcessInController(volume_up));
TestVolumeControlDelegate* delegate = new TestVolumeControlDelegate;
- ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate(
+ ash::WmShell::Get()->system_tray_delegate()->SetVolumeControlDelegate(
std::unique_ptr<VolumeControlDelegate>(delegate));
EXPECT_EQ(0, delegate->handle_volume_mute_count());
EXPECT_TRUE(ProcessInController(volume_mute));
diff --git a/ash/accelerators/accelerator_interactive_uitest_chromeos.cc b/ash/accelerators/accelerator_interactive_uitest_chromeos.cc
index f354910..cee9816a 100644
--- a/ash/accelerators/accelerator_interactive_uitest_chromeos.cc
+++ b/ash/accelerators/accelerator_interactive_uitest_chromeos.cc
@@ -169,7 +169,7 @@
// Test VOLUME_MUTE, VOLUME_DOWN, and VOLUME_UP.
TestVolumeControlDelegate* volume_delegate = new TestVolumeControlDelegate;
- shell()->system_tray_delegate()->SetVolumeControlDelegate(
+ WmShell::Get()->system_tray_delegate()->SetVolumeControlDelegate(
std::unique_ptr<VolumeControlDelegate>(volume_delegate));
// VOLUME_MUTE.
EXPECT_EQ(0, volume_delegate->handle_volume_mute_count());
diff --git a/ash/common/wm_shell.cc b/ash/common/wm_shell.cc
index 2161121..def0eb5 100644
--- a/ash/common/wm_shell.cc
+++ b/ash/common/wm_shell.cc
@@ -4,6 +4,9 @@
#include "ash/common/wm_shell.h"
+#include "ash/common/system/tray/system_tray_delegate.h"
+#include "base/logging.h"
+
namespace ash {
// static
@@ -19,4 +22,22 @@
return instance_;
}
+WmShell::WmShell() {}
+
+WmShell::~WmShell() {}
+
+void WmShell::SetSystemTrayDelegate(
+ std::unique_ptr<SystemTrayDelegate> delegate) {
+ if (delegate) {
+ DCHECK(!system_tray_delegate_);
+ // TODO(jamescook): Create via ShellDelegate once it moves to //ash/common.
+ system_tray_delegate_ = std::move(delegate);
+ system_tray_delegate_->Initialize();
+ } else {
+ DCHECK(system_tray_delegate_);
+ system_tray_delegate_->Shutdown();
+ system_tray_delegate_.reset();
+ }
+}
+
} // namespace ash
diff --git a/ash/common/wm_shell.h b/ash/common/wm_shell.h
index 3a34e36..a51c6546 100644
--- a/ash/common/wm_shell.h
+++ b/ash/common/wm_shell.h
@@ -21,7 +21,9 @@
class AccessibilityDelegate;
class MruWindowTracker;
class SessionStateDelegate;
+class Shell;
class ShellObserver;
+class SystemTrayDelegate;
class WindowResizer;
class WmActivationObserver;
class WmDisplayObserver;
@@ -43,6 +45,10 @@
static WmShell* Get();
static bool HasInstance() { return instance_ != nullptr; }
+ SystemTrayDelegate* system_tray_delegate() {
+ return system_tray_delegate_.get();
+ }
+
virtual MruWindowTracker* GetMruWindowTracker() = 0;
// Creates a new window used as a container of other windows. No painting is
@@ -115,10 +121,19 @@
virtual void RemoveShellObserver(ShellObserver* observer) = 0;
protected:
- virtual ~WmShell() {}
+ WmShell();
+ virtual ~WmShell();
+
+ // If |delegate| is not null, sets and initializes the delegate. If |delegate|
+ // is null, shuts down and destroys the delegate.
+ void SetSystemTrayDelegate(std::unique_ptr<SystemTrayDelegate> delegate);
private:
+ friend class Shell;
+
static WmShell* instance_;
+
+ std::unique_ptr<SystemTrayDelegate> system_tray_delegate_;
};
} // namespace ash
diff --git a/ash/content/display/screen_orientation_controller_chromeos_unittest.cc b/ash/content/display/screen_orientation_controller_chromeos_unittest.cc
index d8fb9064..bd1e276 100644
--- a/ash/content/display/screen_orientation_controller_chromeos_unittest.cc
+++ b/ash/content/display/screen_orientation_controller_chromeos_unittest.cc
@@ -8,6 +8,7 @@
#include <vector>
#include "ash/ash_switches.h"
+#include "ash/common/wm_shell.h"
#include "ash/content/shell_content_state.h"
#include "ash/display/display_info.h"
#include "ash/display/display_manager.h"
@@ -416,9 +417,7 @@
// triggered by the accelerometer.
TEST_F(ScreenOrientationControllerTest, BlockRotationNotifications) {
EnableMaximizeMode(true);
- test::TestSystemTrayDelegate* tray_delegate =
- static_cast<test::TestSystemTrayDelegate*>(
- Shell::GetInstance()->system_tray_delegate());
+ test::TestSystemTrayDelegate* tray_delegate = GetSystemTrayDelegate();
tray_delegate->set_should_show_display_notification(true);
test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay();
diff --git a/ash/metrics/user_metrics_recorder.cc b/ash/metrics/user_metrics_recorder.cc
index 6663aed..2d090b6 100644
--- a/ash/metrics/user_metrics_recorder.cc
+++ b/ash/metrics/user_metrics_recorder.cc
@@ -11,6 +11,7 @@
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/wm/window_state.h"
#include "ash/common/wm/wm_user_metrics_action.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/desktop_task_switch_metric_recorder.h"
#include "ash/shelf/shelf.h"
#include "ash/shelf/shelf_delegate.h"
@@ -73,14 +74,14 @@
// Returns true if kiosk mode is active.
bool IsKioskModeActive() {
- return Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus() ==
+ return WmShell::Get()->system_tray_delegate()->GetUserLoginStatus() ==
LoginStatus::KIOSK_APP;
}
// Returns true if there is an active user and their session isn't currently
// locked.
bool IsUserActive() {
- switch (Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus()) {
+ switch (WmShell::Get()->system_tray_delegate()->GetUserLoginStatus()) {
case LoginStatus::NOT_LOGGED_IN:
case LoginStatus::LOCKED:
return false;
diff --git a/ash/mus/bridge/wm_shell_mus.cc b/ash/mus/bridge/wm_shell_mus.cc
index c204ccb..7b58f17 100644
--- a/ash/mus/bridge/wm_shell_mus.cc
+++ b/ash/mus/bridge/wm_shell_mus.cc
@@ -8,6 +8,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/shell_observer.h"
#include "ash/common/shell_window_ids.h"
+#include "ash/common/system/tray/default_system_tray_delegate.h"
#include "ash/common/wm/mru_window_tracker.h"
#include "ash/common/wm/window_resizer.h"
#include "ash/common/wm_activation_observer.h"
@@ -98,9 +99,11 @@
wm_shell_common_->CreateMruWindowTracker();
accessibility_delegate_.reset(new DefaultAccessibilityDelegate);
+ SetSystemTrayDelegate(base::WrapUnique(new DefaultSystemTrayDelegate));
}
WmShellMus::~WmShellMus() {
+ SetSystemTrayDelegate(nullptr);
wm_shell_common_->DeleteMruWindowTracker();
RemoveClientObserver();
WmShell::Set(nullptr);
diff --git a/ash/root_window_controller_unittest.cc b/ash/root_window_controller_unittest.cc
index 6f974ddd..ee08285 100644
--- a/ash/root_window_controller_unittest.cc
+++ b/ash/root_window_controller_unittest.cc
@@ -10,6 +10,7 @@
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/wm/window_state.h"
+#include "ash/common/wm_shell.h"
#include "ash/display/display_manager.h"
#include "ash/shell.h"
#include "ash/test/ash_test_base.h"
@@ -370,9 +371,10 @@
TEST_F(RootWindowControllerTest, ModalContainer) {
UpdateDisplay("600x600");
Shell* shell = Shell::GetInstance();
+ WmShell* wm_shell = WmShell::Get();
RootWindowController* controller = shell->GetPrimaryRootWindowController();
EXPECT_EQ(LoginStatus::USER,
- shell->system_tray_delegate()->GetUserLoginStatus());
+ wm_shell->system_tray_delegate()->GetUserLoginStatus());
EXPECT_EQ(controller->GetContainer(kShellWindowId_SystemModalContainer)
->layout_manager(),
controller->GetSystemModalLayoutManager(NULL));
@@ -386,7 +388,7 @@
shell->session_state_delegate()->LockScreen();
EXPECT_EQ(LoginStatus::LOCKED,
- shell->system_tray_delegate()->GetUserLoginStatus());
+ wm_shell->system_tray_delegate()->GetUserLoginStatus());
EXPECT_EQ(controller->GetContainer(kShellWindowId_LockSystemModalContainer)
->layout_manager(),
controller->GetSystemModalLayoutManager(NULL));
@@ -410,11 +412,12 @@
TEST_F(RootWindowControllerTest, ModalContainerNotLoggedInLoggedIn) {
UpdateDisplay("600x600");
Shell* shell = Shell::GetInstance();
+ WmShell* wm_shell = WmShell::Get();
// Configure login screen environment.
SetUserLoggedIn(false);
EXPECT_EQ(LoginStatus::NOT_LOGGED_IN,
- shell->system_tray_delegate()->GetUserLoginStatus());
+ wm_shell->system_tray_delegate()->GetUserLoginStatus());
EXPECT_EQ(0, shell->session_state_delegate()->NumberOfLoggedInUsers());
EXPECT_FALSE(shell->session_state_delegate()->IsActiveUserSessionStarted());
@@ -437,7 +440,7 @@
SetUserLoggedIn(true);
SetSessionStarted(true);
EXPECT_EQ(LoginStatus::USER,
- shell->system_tray_delegate()->GetUserLoginStatus());
+ wm_shell->system_tray_delegate()->GetUserLoginStatus());
EXPECT_EQ(1, shell->session_state_delegate()->NumberOfLoggedInUsers());
EXPECT_TRUE(shell->session_state_delegate()->IsActiveUserSessionStarted());
EXPECT_EQ(controller->GetContainer(kShellWindowId_SystemModalContainer)
diff --git a/ash/shelf/shelf_widget.cc b/ash/shelf/shelf_widget.cc
index 8430737..9c6ea09e 100644
--- a/ash/shelf/shelf_widget.cc
+++ b/ash/shelf/shelf_widget.cc
@@ -15,6 +15,7 @@
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/wm_root_window_controller.h"
+#include "ash/common/wm_shell.h"
#include "ash/focus_cycler.h"
#include "ash/shelf/shelf_delegate.h"
#include "ash/shelf/shelf_layout_manager.h"
@@ -677,11 +678,11 @@
// static
bool ShelfWidget::ShelfAlignmentAllowed() {
- if (Shell::GetInstance()->system_tray_delegate()->IsUserSupervised())
+ if (WmShell::Get()->system_tray_delegate()->IsUserSupervised())
return false;
LoginStatus login_status =
- Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus();
+ WmShell::Get()->system_tray_delegate()->GetUserLoginStatus();
switch (login_status) {
case LoginStatus::LOCKED:
diff --git a/ash/shell.cc b/ash/shell.cc
index fafa99d..968e8a9 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -24,6 +24,7 @@
#include "ash/common/wm/mru_window_tracker.h"
#include "ash/common/wm/root_window_finder.h"
#include "ash/common/wm/window_positioner.h"
+#include "ash/common/wm_shell.h"
#include "ash/common/wm_shell_common.h"
#include "ash/container_delegate.h"
#include "ash/desktop_background/desktop_background_controller.h"
@@ -727,8 +728,8 @@
// Destroy SystemTrayDelegate before destroying the status area(s). Make sure
// to deinitialize the shelf first, as it is initialized after the delegate.
ShutdownShelf();
- system_tray_delegate_->Shutdown();
- system_tray_delegate_.reset();
+ wm_shell_->system_tray_delegate()->Shutdown();
+ wm_shell_->SetSystemTrayDelegate(nullptr);
locale_notification_controller_.reset();
@@ -1079,15 +1080,13 @@
// Create system_tray_notifier_ before the delegate.
system_tray_notifier_.reset(new SystemTrayNotifier());
- // Initialize system_tray_delegate_ before initializing StatusAreaWidget.
- system_tray_delegate_.reset(delegate()->CreateSystemTrayDelegate());
- DCHECK(system_tray_delegate_.get());
+ SystemTrayDelegate* system_tray_delegate =
+ delegate()->CreateSystemTrayDelegate();
+ DCHECK(system_tray_delegate);
+ wm_shell_->SetSystemTrayDelegate(base::WrapUnique(system_tray_delegate));
locale_notification_controller_.reset(new LocaleNotificationController);
- // Initialize system_tray_delegate_ after StatusAreaWidget is created.
- system_tray_delegate_->Initialize();
-
// Initialize toast manager
toast_manager_.reset(new ToastManager);
@@ -1095,7 +1094,7 @@
// Create the LogoutConfirmationController after the SystemTrayDelegate.
logout_confirmation_controller_.reset(new LogoutConfirmationController(
base::Bind(&SystemTrayDelegate::SignOut,
- base::Unretained(system_tray_delegate_.get()))));
+ base::Unretained(system_tray_delegate))));
// Create TouchTransformerController before
// WindowTreeHostManager::InitDisplays()
diff --git a/ash/shell.h b/ash/shell.h
index 6aff8bcc1..d4d1033 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -148,7 +148,6 @@
class SystemGestureEventFilter;
class SystemModalContainerEventFilter;
class SystemTray;
-class SystemTrayDelegate;
class SystemTrayNotifier;
class ToastManager;
class ToplevelWindowEventHandler;
@@ -495,10 +494,6 @@
// Returns the system tray on primary display.
SystemTray* GetPrimarySystemTray();
- SystemTrayDelegate* system_tray_delegate() {
- return system_tray_delegate_.get();
- }
-
SystemTrayNotifier* system_tray_notifier() {
return system_tray_notifier_.get();
}
@@ -665,7 +660,6 @@
std::unique_ptr<UserMetricsRecorder> user_metrics_recorder_;
std::unique_ptr<AcceleratorController> accelerator_controller_;
std::unique_ptr<ShellDelegate> delegate_;
- std::unique_ptr<SystemTrayDelegate> system_tray_delegate_;
std::unique_ptr<SystemTrayNotifier> system_tray_notifier_;
std::unique_ptr<UserWallpaperDelegate> user_wallpaper_delegate_;
std::unique_ptr<SessionStateDelegate> session_state_delegate_;
diff --git a/ash/system/cast/tray_cast.cc b/ash/system/cast/tray_cast.cc
index fe95125..3339da8 100644
--- a/ash/system/cast/tray_cast.cc
+++ b/ash/system/cast/tray_cast.cc
@@ -45,9 +45,7 @@
// Returns the active CastConfigDelegate instance.
ash::CastConfigDelegate* GetCastConfigDelegate() {
- return ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->GetCastConfigDelegate();
+ return WmShell::Get()->system_tray_delegate()->GetCastConfigDelegate();
}
// Helper method to elide the given string to the maximum length. If a string is
diff --git a/ash/system/chromeos/bluetooth/tray_bluetooth.cc b/ash/system/chromeos/bluetooth/tray_bluetooth.cc
index 47a46950..9227f423 100644
--- a/ash/system/chromeos/bluetooth/tray_bluetooth.cc
+++ b/ash/system/chromeos/bluetooth/tray_bluetooth.cc
@@ -7,6 +7,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/tray/fixed_sized_scroll_view.h"
#include "ash/system/tray/hover_highlight_view.h"
@@ -75,7 +76,7 @@
void UpdateLabel() {
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
if (delegate->GetBluetoothAvailable()) {
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
const base::string16 label =
@@ -131,7 +132,7 @@
void BluetoothStartDiscovering() {
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
bool bluetooth_enabled = delegate->GetBluetoothEnabled();
bool bluetooth_discovering = delegate->GetBluetoothDiscovering();
if (bluetooth_discovering) {
@@ -146,7 +147,7 @@
void BluetoothStopDiscovering() {
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
if (delegate && delegate->GetBluetoothDiscovering()) {
delegate->BluetoothStopDiscovering();
throbber_->Stop();
@@ -160,8 +161,7 @@
std::set<std::string> new_discovered_not_paired_devices;
BluetoothDeviceList list;
- Shell::GetInstance()->system_tray_delegate()->GetAvailableBluetoothDevices(
- &list);
+ WmShell::Get()->system_tray_delegate()->GetAvailableBluetoothDevices(&list);
for (size_t i = 0; i < list.size(); ++i) {
if (list[i].connecting) {
list[i].display_name = l10n_util::GetStringFUTF16(
@@ -204,7 +204,7 @@
// Do not allow toggling bluetooth in the lock screen.
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
toggle_bluetooth_ =
new TrayPopupHeaderButton(this, IDR_AURA_UBER_TRAY_BLUETOOTH_ENABLED,
IDR_AURA_UBER_TRAY_BLUETOOTH_DISABLED,
@@ -222,9 +222,8 @@
void UpdateHeaderEntry() {
if (toggle_bluetooth_) {
- toggle_bluetooth_->SetToggled(!ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->GetBluetoothEnabled());
+ toggle_bluetooth_->SetToggled(
+ !ash::WmShell::Get()->system_tray_delegate()->GetBluetoothEnabled());
}
}
@@ -234,7 +233,7 @@
enable_bluetooth_ = NULL;
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
bool bluetooth_enabled = delegate->GetBluetoothEnabled();
bool blueooth_available = delegate->GetBluetoothAvailable();
if (blueooth_available && !bluetooth_enabled && toggle_bluetooth_) {
@@ -292,11 +291,8 @@
// Add settings entries.
void AppendSettingsEntries() {
- if (!ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->ShouldShowSettings()) {
+ if (!ash::WmShell::Get()->system_tray_delegate()->ShouldShowSettings())
return;
- }
// Add bluetooth device requires a browser window, hide it for non logged in
// user.
@@ -309,7 +305,7 @@
return;
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
HoverHighlightView* container = new HoverHighlightView(this);
container->AddLabel(
@@ -356,7 +352,7 @@
// Overridden from ViewClickListener.
void OnViewClicked(views::View* sender) override {
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
if (sender == footer()->content()) {
TransitionToDefaultView();
} else if (sender == manage_devices_) {
@@ -385,7 +381,7 @@
// Overridden from ButtonListener.
void ButtonPressed(views::Button* sender, const ui::Event& event) override {
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
if (sender == toggle_bluetooth_)
delegate->ToggleBluetooth();
else
@@ -430,7 +426,7 @@
}
views::View* TrayBluetooth::CreateDetailedView(LoginStatus status) {
- if (!Shell::GetInstance()->system_tray_delegate()->GetBluetoothAvailable())
+ if (!WmShell::Get()->system_tray_delegate()->GetBluetoothAvailable())
return NULL;
Shell::GetInstance()->metrics()->RecordUserMetricsAction(
ash::UMA_STATUS_AREA_DETAILED_BLUETOOTH_VIEW);
diff --git a/ash/system/chromeos/enterprise/tray_enterprise.cc b/ash/system/chromeos/enterprise/tray_enterprise.cc
index 96047b0..a082a3d 100644
--- a/ash/system/chromeos/enterprise/tray_enterprise.cc
+++ b/ash/system/chromeos/enterprise/tray_enterprise.cc
@@ -5,6 +5,7 @@
#include "ash/system/chromeos/enterprise/tray_enterprise.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/chromeos/label_tray_view.h"
#include "ash/system/tray/system_tray_notifier.h"
@@ -28,8 +29,8 @@
}
void TrayEnterprise::UpdateEnterpriseMessage() {
- base::string16 message = Shell::GetInstance()->system_tray_delegate()->
- GetEnterpriseMessage();
+ base::string16 message =
+ WmShell::Get()->system_tray_delegate()->GetEnterpriseMessage();
if (tray_view_)
tray_view_->SetMessage(message);
}
@@ -54,7 +55,7 @@
}
void TrayEnterprise::OnViewClicked(views::View* sender) {
- Shell::GetInstance()->system_tray_delegate()->ShowEnterpriseInfo();
+ WmShell::Get()->system_tray_delegate()->ShowEnterpriseInfo();
}
} // namespace ash
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 39f0b66..a3a1ff4 100644
--- a/ash/system/chromeos/network/network_state_list_detailed_view.cc
+++ b/ash/system/chromeos/network/network_state_list_detailed_view.cc
@@ -14,6 +14,7 @@
#include "ash/common/system/tray/fixed_sized_image_view.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/root_window_controller.h"
#include "ash/shell.h"
@@ -374,7 +375,7 @@
NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler();
ash::SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ ash::WmShell::Get()->system_tray_delegate();
if (sender == button_wifi_) {
bool enabled = handler->IsTechnologyEnabled(NetworkTypePattern::WiFi());
handler->SetTechnologyEnabled(NetworkTypePattern::WiFi(), !enabled,
@@ -427,7 +428,7 @@
list_type_ == LIST_TYPE_VPN
? ash::UMA_STATUS_AREA_SHOW_NETWORK_CONNECTION_DETAILS
: ash::UMA_STATUS_AREA_SHOW_VPN_CONNECTION_DETAILS);
- Shell::GetInstance()->system_tray_delegate()->ShowNetworkSettingsForGuid(
+ WmShell::Get()->system_tray_delegate()->ShowNetworkSettingsForGuid(
network ? network->guid() : "");
} else {
Shell::GetInstance()->metrics()->RecordUserMetricsAction(
@@ -717,7 +718,7 @@
void NetworkStateListDetailedView::CreateSettingsEntry() {
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
bool show_settings =
- ash::Shell::GetInstance()->system_tray_delegate()->ShouldShowSettings();
+ WmShell::Get()->system_tray_delegate()->ShouldShowSettings();
if (login_ != LoginStatus::NOT_LOGGED_IN) {
// Allow user access settings only if user is logged in
// and showing settings is allowed. There're situations (supervised user
@@ -835,9 +836,7 @@
views::View* NetworkStateListDetailedView::CreateControlledByExtensionView(
const ui::NetworkInfo& info) {
NetworkingConfigDelegate* networking_config_delegate =
- Shell::GetInstance()
- ->system_tray_delegate()
- ->GetNetworkingConfigDelegate();
+ WmShell::Get()->system_tray_delegate()->GetNetworkingConfigDelegate();
if (!networking_config_delegate)
return nullptr;
std::unique_ptr<const ash::NetworkingConfigDelegate::ExtensionInfo>
diff --git a/ash/system/chromeos/network/tray_vpn.cc b/ash/system/chromeos/network/tray_vpn.cc
index 0a9f7679..291c785 100644
--- a/ash/system/chromeos/network/tray_vpn.cc
+++ b/ash/system/chromeos/network/tray_vpn.cc
@@ -7,6 +7,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/shell.h"
#include "ash/system/chromeos/network/network_state_list_detailed_view.h"
@@ -47,7 +48,7 @@
static bool ShouldShow() {
// Show the VPN entry in the ash tray bubble if at least one third-party VPN
// provider is installed.
- if (Shell::GetInstance()
+ if (WmShell::Get()
->system_tray_delegate()
->GetVPNDelegate()
->HaveThirdPartyVPNProviders()) {
diff --git a/ash/system/chromeos/network/vpn_list_view.cc b/ash/system/chromeos/network/vpn_list_view.cc
index ec00e5c..04ada09 100644
--- a/ash/system/chromeos/network/vpn_list_view.cc
+++ b/ash/system/chromeos/network/vpn_list_view.cc
@@ -10,6 +10,7 @@
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/shell.h"
#include "ash/system/chromeos/network/vpn_delegate.h"
@@ -233,14 +234,13 @@
VPNListView::VPNListView(ui::NetworkListDelegate* delegate)
: delegate_(delegate) {
- Shell::GetInstance()->system_tray_delegate()->GetVPNDelegate()->AddObserver(
- this);
+ WmShell::Get()->system_tray_delegate()->GetVPNDelegate()->AddObserver(this);
}
VPNListView::~VPNListView() {
// We need the check as on shell destruction, the delegate is destroyed first.
SystemTrayDelegate* const system_tray_delegate =
- Shell::GetInstance()->system_tray_delegate();
+ WmShell::Get()->system_tray_delegate();
if (system_tray_delegate) {
VPNDelegate* const vpn_delegate = system_tray_delegate->GetVPNDelegate();
if (vpn_delegate)
@@ -345,11 +345,10 @@
// If the user clicks on a provider entry, request that the "add network"
// dialog for this provider be shown.
const VPNProvider::Key& key = provider->second;
- Shell* shell = Shell::GetInstance();
- shell->metrics()->RecordUserMetricsAction(
+ Shell::GetInstance()->metrics()->RecordUserMetricsAction(
key.third_party ? UMA_STATUS_AREA_VPN_ADD_THIRD_PARTY_CLICKED
: UMA_STATUS_AREA_VPN_ADD_BUILT_IN_CLICKED);
- shell->system_tray_delegate()->GetVPNDelegate()->ShowAddPage(key);
+ WmShell::Get()->system_tray_delegate()->GetVPNDelegate()->ShowAddPage(key);
return;
}
@@ -394,7 +393,7 @@
void VPNListView::AddProvidersAndNetworks(
const chromeos::NetworkStateHandler::NetworkStateList& networks) {
// Get the list of VPN providers enabled in the primary user's profile.
- std::vector<VPNProvider> providers = Shell::GetInstance()
+ std::vector<VPNProvider> providers = WmShell::Get()
->system_tray_delegate()
->GetVPNDelegate()
->GetVPNProviders();
diff --git a/ash/system/chromeos/power/dual_role_notification.cc b/ash/system/chromeos/power/dual_role_notification.cc
index 36c78fc..58e6aec 100644
--- a/ash/system/chromeos/power/dual_role_notification.cc
+++ b/ash/system/chromeos/power/dual_role_notification.cc
@@ -7,7 +7,7 @@
#include <set>
#include "ash/common/system/tray/system_tray_delegate.h"
-#include "ash/shell.h"
+#include "ash/common/wm_shell.h"
#include "ash/system/chromeos/power/power_status.h"
#include "ash/system/system_notifier.h"
#include "base/strings/utf_string_conversions.h"
@@ -37,7 +37,7 @@
// Overridden from message_center::NotificationDelegate.
void Click() override {
- Shell::GetInstance()->system_tray_delegate()->ShowPowerSettings();
+ WmShell::Get()->system_tray_delegate()->ShowPowerSettings();
}
private:
diff --git a/ash/system/chromeos/session/last_window_closed_logout_reminder.cc b/ash/system/chromeos/session/last_window_closed_logout_reminder.cc
index 98da9e92..709e691 100644
--- a/ash/system/chromeos/session/last_window_closed_logout_reminder.cc
+++ b/ash/system/chromeos/session/last_window_closed_logout_reminder.cc
@@ -5,6 +5,7 @@
#include "ash/system/chromeos/session/last_window_closed_logout_reminder.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/chromeos/session/logout_confirmation_controller.h"
#include "ash/system/tray/system_tray_notifier.h"
@@ -27,7 +28,7 @@
}
void LastWindowClosedLogoutReminder::OnLastWindowClosed() {
- if (Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus() !=
+ if (WmShell::Get()->system_tray_delegate()->GetUserLoginStatus() !=
LoginStatus::PUBLIC) {
return;
}
diff --git a/ash/system/chromeos/session/logout_button_tray.cc b/ash/system/chromeos/session/logout_button_tray.cc
index 78f7d154..f7218f5 100644
--- a/ash/system/chromeos/session/logout_button_tray.cc
+++ b/ash/system/chromeos/session/logout_button_tray.cc
@@ -10,6 +10,7 @@
#include "ash/common/shelf/shelf_types.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/chromeos/session/logout_confirmation_controller.h"
#include "ash/system/status_area_widget.h"
@@ -138,7 +139,7 @@
DCHECK_EQ(sender, button_);
if (dialog_duration_ <= base::TimeDelta()) {
// Sign out immediately if |dialog_duration_| is non-positive.
- Shell::GetInstance()->system_tray_delegate()->SignOut();
+ WmShell::Get()->system_tray_delegate()->SignOut();
} else if (Shell::GetInstance()->logout_confirmation_controller()) {
Shell::GetInstance()->logout_confirmation_controller()->ConfirmLogout(
base::TimeTicks::Now() + dialog_duration_);
diff --git a/ash/system/chromeos/session/tray_session_length_limit.cc b/ash/system/chromeos/session/tray_session_length_limit.cc
index 5fd1cba1..5588718 100644
--- a/ash/system/chromeos/session/tray_session_length_limit.cc
+++ b/ash/system/chromeos/session/tray_session_length_limit.cc
@@ -9,6 +9,7 @@
#include <utility>
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/chromeos/label_tray_view.h"
#include "ash/system/system_notifier.h"
@@ -91,7 +92,7 @@
}
void TraySessionLengthLimit::UpdateState() {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
if (delegate->GetSessionStartTime(&session_start_time_) &&
delegate->GetSessionLengthLimit(&time_limit_)) {
const base::TimeDelta expiring_soon_threshold(
diff --git a/ash/system/chromeos/settings/tray_settings.cc b/ash/system/chromeos/settings/tray_settings.cc
index a0ca04d6..ecc20bc 100644
--- a/ash/system/chromeos/settings/tray_settings.cc
+++ b/ash/system/chromeos/settings/tray_settings.cc
@@ -8,6 +8,7 @@
#include "ash/common/system/tray/fixed_sized_image_view.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/chromeos/power/power_status.h"
#include "ash/system/chromeos/power/power_status_view.h"
@@ -72,15 +73,16 @@
// Overridden from ash::ActionableView.
bool PerformAction(const ui::Event& event) override {
- bool userAddingRunning = ash::Shell::GetInstance()
- ->session_state_delegate()
- ->IsInSecondaryLoginScreen();
+ bool adding_user = Shell::GetInstance()
+ ->session_state_delegate()
+ ->IsInSecondaryLoginScreen();
if (login_status_ == LoginStatus::NOT_LOGGED_IN ||
- login_status_ == LoginStatus::LOCKED || userAddingRunning)
+ login_status_ == LoginStatus::LOCKED || adding_user) {
return false;
+ }
- ash::Shell::GetInstance()->system_tray_delegate()->ShowSettings();
+ WmShell::Get()->system_tray_delegate()->ShowSettings();
return true;
}
@@ -143,7 +145,7 @@
if ((status == LoginStatus::NOT_LOGGED_IN || status == LoginStatus::LOCKED) &&
!PowerStatus::Get()->IsBatteryPresent())
return NULL;
- if (!ash::Shell::GetInstance()->system_tray_delegate()->ShouldShowSettings())
+ if (!WmShell::Get()->system_tray_delegate()->ShouldShowSettings())
return NULL;
CHECK(default_view_ == NULL);
default_view_ = new tray::SettingsDefaultView(status);
diff --git a/ash/system/chromeos/supervised/tray_supervised_user.cc b/ash/system/chromeos/supervised/tray_supervised_user.cc
index ab8feb0c..c260140 100644
--- a/ash/system/chromeos/supervised/tray_supervised_user.cc
+++ b/ash/system/chromeos/supervised/tray_supervised_user.cc
@@ -7,7 +7,7 @@
#include <utility>
#include "ash/common/system/tray/system_tray_delegate.h"
-#include "ash/shell.h"
+#include "ash/common/wm_shell.h"
#include "ash/system/chromeos/label_tray_view.h"
#include "ash/system/system_notifier.h"
#include "ash/system/tray/system_tray_notifier.h"
@@ -33,21 +33,20 @@
tray_view_(NULL),
status_(LoginStatus::NOT_LOGGED_IN),
is_user_supervised_(false) {
- Shell::GetInstance()->system_tray_delegate()->
- AddCustodianInfoTrayObserver(this);
+ WmShell::Get()->system_tray_delegate()->AddCustodianInfoTrayObserver(this);
}
TraySupervisedUser::~TraySupervisedUser() {
// We need the check as on shell destruction delegate is destroyed first.
SystemTrayDelegate* system_tray_delegate =
- Shell::GetInstance()->system_tray_delegate();
+ WmShell::Get()->system_tray_delegate();
if (system_tray_delegate)
system_tray_delegate->RemoveCustodianInfoTrayObserver(this);
}
void TraySupervisedUser::UpdateMessage() {
- base::string16 message = Shell::GetInstance()->system_tray_delegate()->
- GetSupervisedUserMessage();
+ base::string16 message =
+ WmShell::Get()->system_tray_delegate()->GetSupervisedUserMessage();
if (tray_view_)
tray_view_->SetMessage(message);
if (message_center::MessageCenter::Get()->FindVisibleNotificationById(
@@ -57,7 +56,7 @@
views::View* TraySupervisedUser::CreateDefaultView(LoginStatus status) {
CHECK(tray_view_ == NULL);
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
if (!delegate->IsUserSupervised())
return NULL;
@@ -71,11 +70,11 @@
}
void TraySupervisedUser::OnViewClicked(views::View* sender) {
- Shell::GetInstance()->system_tray_delegate()->ShowSupervisedUserInfo();
+ WmShell::Get()->system_tray_delegate()->ShowSupervisedUserInfo();
}
void TraySupervisedUser::UpdateAfterLoginStatusChange(LoginStatus status) {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
bool is_user_supervised = delegate->IsUserSupervised();
if (status == status_ && is_user_supervised == is_user_supervised_)
@@ -104,12 +103,12 @@
}
void TraySupervisedUser::CreateOrUpdateSupervisedWarningNotification() {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
CreateOrUpdateNotification(delegate->GetSupervisedUserMessage());
}
void TraySupervisedUser::OnCustodianInfoChanged() {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
std::string manager_name = delegate->GetSupervisedUserManager();
if (!manager_name.empty()) {
if (!delegate->IsUserChild() &&
@@ -122,7 +121,7 @@
}
int TraySupervisedUser::GetSupervisedUserIconId() const {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
// Not intended to be used for non-supervised users.
CHECK(delegate->IsUserSupervised());
diff --git a/ash/system/chromeos/supervised/tray_supervised_user_unittest.cc b/ash/system/chromeos/supervised/tray_supervised_user_unittest.cc
index 5ff42955..b99c1ba 100644
--- a/ash/system/chromeos/supervised/tray_supervised_user_unittest.cc
+++ b/ash/system/chromeos/supervised/tray_supervised_user_unittest.cc
@@ -4,7 +4,6 @@
#include "ash/system/chromeos/supervised/tray_supervised_user.h"
-#include "ash/shell.h"
#include "ash/system/user/login_status.h"
#include "ash/test/ash_test_base.h"
#include "ash/test/test_system_tray_delegate.h"
@@ -63,9 +62,7 @@
}
TEST_F(TraySupervisedUserTest, SupervisedUserHasNotification) {
- test::TestSystemTrayDelegate* delegate =
- static_cast<test::TestSystemTrayDelegate*>(
- ash::Shell::GetInstance()->system_tray_delegate());
+ test::TestSystemTrayDelegate* delegate = GetSystemTrayDelegate();
delegate->SetLoginStatus(LoginStatus::SUPERVISED);
message_center::Notification* notification = GetPopup();
@@ -83,4 +80,4 @@
notification->rich_notification_data().priority);
}
-} // namespace
+} // namespace ash
diff --git a/ash/system/chromeos/tray_caps_lock.cc b/ash/system/chromeos/tray_caps_lock.cc
index 4bf2602..cd9bfc8b 100644
--- a/ash/system/chromeos/tray_caps_lock.cc
+++ b/ash/system/chromeos/tray_caps_lock.cc
@@ -7,6 +7,7 @@
#include "ash/common/system/tray/fixed_sized_image_view.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/shell.h"
#include "ash/system/tray/actionable_view.h"
@@ -72,8 +73,8 @@
text_label_->SetText(bundle.GetLocalizedString(text_string_id));
int shortcut_string_id = 0;
- bool search_mapped_to_caps_lock = Shell::GetInstance()->
- system_tray_delegate()->IsSearchKeyMappedToCapsLock();
+ bool search_mapped_to_caps_lock =
+ WmShell::Get()->system_tray_delegate()->IsSearchKeyMappedToCapsLock();
if (caps_lock_enabled) {
shortcut_string_id = search_mapped_to_caps_lock ?
IDS_ASH_STATUS_TRAY_CAPS_LOCK_SHORTCUT_SEARCH_OR_SHIFT :
@@ -197,10 +198,10 @@
detailed_->AddChildView(image);
- const int string_id = Shell::GetInstance()->system_tray_delegate()->
- IsSearchKeyMappedToCapsLock() ?
- IDS_ASH_STATUS_TRAY_CAPS_LOCK_CANCEL_BY_SEARCH :
- IDS_ASH_STATUS_TRAY_CAPS_LOCK_CANCEL_BY_ALT_SEARCH;
+ const int string_id =
+ WmShell::Get()->system_tray_delegate()->IsSearchKeyMappedToCapsLock()
+ ? IDS_ASH_STATUS_TRAY_CAPS_LOCK_CANCEL_BY_SEARCH
+ : IDS_ASH_STATUS_TRAY_CAPS_LOCK_CANCEL_BY_ALT_SEARCH;
views::Label* label = new views::Label(bundle.GetLocalizedString(string_id));
label->SetMultiLine(true);
label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
diff --git a/ash/system/chromeos/tray_display.cc b/ash/system/chromeos/tray_display.cc
index 8da404d..58613d09 100644
--- a/ash/system/chromeos/tray_display.cc
+++ b/ash/system/chromeos/tray_display.cc
@@ -11,6 +11,7 @@
#include "ash/common/system/tray/fixed_sized_image_view.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/display/display_manager.h"
#include "ash/display/screen_orientation_controller_chromeos.h"
#include "ash/display/window_tree_host_manager.h"
@@ -117,7 +118,7 @@
void OpenSettings() {
// switch is intentionally introduced without default, to cause an error when
// a new type of login status is introduced.
- switch (Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus()) {
+ switch (WmShell::Get()->system_tray_delegate()->GetUserLoginStatus()) {
case LoginStatus::NOT_LOGGED_IN:
case LoginStatus::LOCKED:
return;
@@ -128,8 +129,7 @@
case LoginStatus::PUBLIC:
case LoginStatus::SUPERVISED:
case LoginStatus::KIOSK_APP:
- ash::SystemTrayDelegate* delegate =
- Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
if (delegate->ShouldShowSettings())
delegate->ShowDisplaySettings();
}
@@ -432,8 +432,9 @@
if (default_)
default_->Update();
- if (!Shell::GetInstance()->system_tray_delegate()->
- ShouldShowDisplayNotification()) {
+ if (!WmShell::Get()
+ ->system_tray_delegate()
+ ->ShouldShowDisplayNotification()) {
return;
}
diff --git a/ash/system/chromeos/tray_display_unittest.cc b/ash/system/chromeos/tray_display_unittest.cc
index 306611d..ce5a878 100644
--- a/ash/system/chromeos/tray_display_unittest.cc
+++ b/ash/system/chromeos/tray_display_unittest.cc
@@ -443,9 +443,7 @@
}
TEST_F(TrayDisplayTest, DisplayNotifications) {
- test::TestSystemTrayDelegate* tray_delegate =
- static_cast<test::TestSystemTrayDelegate*>(
- Shell::GetInstance()->system_tray_delegate());
+ test::TestSystemTrayDelegate* tray_delegate = GetSystemTrayDelegate();
tray_delegate->set_should_show_display_notification(true);
UpdateDisplay("400x400");
@@ -554,9 +552,7 @@
}
TEST_F(TrayDisplayTest, DisplayConfigurationChangedTwice) {
- test::TestSystemTrayDelegate* tray_delegate =
- static_cast<test::TestSystemTrayDelegate*>(
- Shell::GetInstance()->system_tray_delegate());
+ test::TestSystemTrayDelegate* tray_delegate = GetSystemTrayDelegate();
tray_delegate->set_should_show_display_notification(true);
UpdateDisplay("400x400,200x200");
@@ -583,9 +579,7 @@
TEST_F(TrayDisplayTest, UpdateAfterSuppressDisplayNotification) {
UpdateDisplay("400x400,200x200");
- test::TestSystemTrayDelegate* tray_delegate =
- static_cast<test::TestSystemTrayDelegate*>(
- Shell::GetInstance()->system_tray_delegate());
+ test::TestSystemTrayDelegate* tray_delegate = GetSystemTrayDelegate();
tray_delegate->set_should_show_display_notification(true);
// rotate the second.
diff --git a/ash/system/chromeos/tray_tracing.cc b/ash/system/chromeos/tray_tracing.cc
index 4750923a..5d125be3 100644
--- a/ash/system/chromeos/tray_tracing.cc
+++ b/ash/system/chromeos/tray_tracing.cc
@@ -7,6 +7,7 @@
#include "ash/common/system/tray/fixed_sized_image_view.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/tray/actionable_view.h"
#include "ash/system/tray/system_tray.h"
@@ -48,7 +49,7 @@
private:
// Overridden from ActionableView.
bool PerformAction(const ui::Event& event) override {
- Shell::GetInstance()->system_tray_delegate()->ShowChromeSlow();
+ WmShell::Get()->system_tray_delegate()->ShowChromeSlow();
return true;
}
diff --git a/ash/system/date/date_default_view.cc b/ash/system/date/date_default_view.cc
index 75087c26..92f96ba9 100644
--- a/ash/system/date/date_default_view.cc
+++ b/ash/system/date/date_default_view.cc
@@ -7,6 +7,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/shell.h"
#include "ash/system/date/date_view.h"
@@ -95,7 +96,7 @@
view->AddButton(lock_button_);
}
SystemTrayDelegate* system_tray_delegate =
- Shell::GetInstance()->system_tray_delegate();
+ WmShell::Get()->system_tray_delegate();
system_tray_delegate->AddShutdownPolicyObserver(this);
system_tray_delegate->ShouldRebootOnShutdown(base::Bind(
&DateDefaultView::OnShutdownPolicyChanged, weak_factory_.GetWeakPtr()));
@@ -105,7 +106,7 @@
DateDefaultView::~DateDefaultView() {
// We need the check as on shell destruction, the delegate is destroyed first.
SystemTrayDelegate* system_tray_delegate =
- Shell::GetInstance()->system_tray_delegate();
+ WmShell::Get()->system_tray_delegate();
if (system_tray_delegate)
system_tray_delegate->RemoveShutdownPolicyObserver(this);
}
@@ -128,14 +129,14 @@
void DateDefaultView::ButtonPressed(views::Button* sender,
const ui::Event& event) {
- ash::Shell* shell = ash::Shell::GetInstance();
- ash::SystemTrayDelegate* tray_delegate = shell->system_tray_delegate();
+ Shell* shell = Shell::GetInstance();
+ SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate();
if (sender == help_button_) {
shell->metrics()->RecordUserMetricsAction(ash::UMA_TRAY_HELP);
tray_delegate->ShowHelp();
} else if (sender == shutdown_button_) {
shell->metrics()->RecordUserMetricsAction(ash::UMA_TRAY_SHUT_DOWN);
- ash::Shell::GetInstance()->lock_state_controller()->RequestShutdown();
+ shell->lock_state_controller()->RequestShutdown();
} else if (sender == lock_button_) {
shell->metrics()->RecordUserMetricsAction(ash::UMA_TRAY_LOCK_SCREEN);
tray_delegate->RequestLockScreen();
diff --git a/ash/system/date/date_view.cc b/ash/system/date/date_view.cc
index 85a5e61..e805643 100644
--- a/ash/system/date/date_view.cc
+++ b/ash/system/date/date_view.cc
@@ -6,7 +6,7 @@
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
-#include "ash/shell.h"
+#include "ash/common/wm_shell.h"
#include "ash/system/tray/tray_utils.h"
#include "base/command_line.h"
#include "base/i18n/rtl.h"
@@ -99,9 +99,7 @@
}
BaseDateTimeView::BaseDateTimeView()
- : hour_type_(ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->GetHourClockType()) {
+ : hour_type_(WmShell::Get()->system_tray_delegate()->GetHourClockType()) {
SetTimer(base::Time::Now());
SetFocusBehavior(FocusBehavior::NEVER);
}
@@ -174,8 +172,7 @@
}
void DateView::UpdateTimeFormat() {
- hour_type_ =
- ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType();
+ hour_type_ = WmShell::Get()->system_tray_delegate()->GetHourClockType();
UpdateText();
}
@@ -200,9 +197,9 @@
if (action_ == TrayDate::NONE)
return false;
if (action_ == TrayDate::SHOW_DATE_SETTINGS)
- ash::Shell::GetInstance()->system_tray_delegate()->ShowDateSettings();
+ WmShell::Get()->system_tray_delegate()->ShowDateSettings();
else if (action_ == TrayDate::SET_SYSTEM_TIME)
- ash::Shell::GetInstance()->system_tray_delegate()->ShowSetTimeDialog();
+ WmShell::Get()->system_tray_delegate()->ShowSetTimeDialog();
return true;
}
@@ -242,8 +239,7 @@
}
void TimeView::UpdateTimeFormat() {
- hour_type_ =
- ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType();
+ hour_type_ = WmShell::Get()->system_tray_delegate()->GetHourClockType();
UpdateText();
}
diff --git a/ash/system/ime/tray_ime_chromeos.cc b/ash/system/ime/tray_ime_chromeos.cc
index effed3e..2c93bb7 100644
--- a/ash/system/ime/tray_ime_chromeos.cc
+++ b/ash/system/ime/tray_ime_chromeos.cc
@@ -9,6 +9,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/root_window_controller.h"
#include "ash/shelf/shelf_widget.h"
@@ -94,7 +95,7 @@
LoginStatus login,
bool show_keyboard_toggle)
: TrayDetailsView(owner), login_(login) {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
IMEInfoList list;
delegate->GetAvailableIMEList(&list);
IMEPropertyInfoList property_list;
@@ -188,7 +189,7 @@
// Overridden from ViewClickListener.
void OnViewClicked(views::View* sender) override {
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
if (sender == footer()->content()) {
TransitionToDefaultView();
} else if (sender == settings_) {
@@ -300,7 +301,7 @@
base::string16 TrayIME::GetDefaultViewLabel(bool show_ime_label) {
if (show_ime_label) {
IMEInfo current;
- Shell::GetInstance()->system_tray_delegate()->GetCurrentIME(¤t);
+ WmShell::Get()->system_tray_delegate()->GetCurrentIME(¤t);
return current.name;
} else {
// Display virtual keyboard status instead.
@@ -358,7 +359,7 @@
void TrayIME::OnIMERefresh() {
// Caches the current ime state.
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
ime_list_.clear();
property_list_.clear();
delegate->GetCurrentIME(¤t_ime_);
diff --git a/ash/system/overview/overview_button_tray.cc b/ash/system/overview/overview_button_tray.cc
index 3bb0c8a..1badb5a 100644
--- a/ash/system/overview/overview_button_tray.cc
+++ b/ash/system/overview/overview_button_tray.cc
@@ -146,7 +146,7 @@
!session_state_delegate->IsScreenLocked() &&
session_state_delegate->GetSessionState() ==
SessionStateDelegate::SESSION_STATE_ACTIVE &&
- shell->system_tray_delegate()->GetUserLoginStatus() !=
+ WmShell::Get()->system_tray_delegate()->GetUserLoginStatus() !=
LoginStatus::KIOSK_APP);
}
diff --git a/ash/system/status_area_widget.cc b/ash/system/status_area_widget.cc
index f2adc90..57d82b6 100644
--- a/ash/system/status_area_widget.cc
+++ b/ash/system/status_area_widget.cc
@@ -7,6 +7,7 @@
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/wm_root_window_controller.h"
+#include "ash/common/wm_shell.h"
#include "ash/common/wm_window.h"
#include "ash/shelf/shelf_layout_manager.h"
#include "ash/shelf/shelf_widget.h"
@@ -63,8 +64,7 @@
AddVirtualKeyboardTray();
#endif
- SystemTrayDelegate* delegate =
- ash::Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
DCHECK(delegate);
// Initialize after all trays have been created.
system_tray_->InitializeTrayItems(delegate);
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc
index 97cd0cb..33675962 100644
--- a/ash/system/tray/system_tray.cc
+++ b/ash/system/tray/system_tray.cc
@@ -9,6 +9,7 @@
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/shelf/shelf_layout_manager.h"
#include "ash/shelf/shelf_util.h"
@@ -94,7 +95,7 @@
bool is_persistent) {
DCHECK(anchor);
LoginStatus login_status =
- Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus();
+ WmShell::Get()->system_tray_delegate()->GetUserLoginStatus();
bubble_->InitView(anchor, login_status, init_params);
bubble_wrapper_.reset(new TrayBubbleWrapper(tray, bubble_->bubble_view()));
// The system bubble should not have an arrow.
@@ -216,14 +217,15 @@
AddTrayItem(tray_date_);
#endif
- SetVisible(ash::Shell::GetInstance()->system_tray_delegate()->
- GetTrayVisibilityOnStartup());
+ SetVisible(ash::WmShell::Get()
+ ->system_tray_delegate()
+ ->GetTrayVisibilityOnStartup());
}
void SystemTray::AddTrayItem(SystemTrayItem* item) {
items_.push_back(item);
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
views::View* tray_item = item->CreateTrayView(delegate->GetUserLoginStatus());
item->UpdateAfterShelfAlignmentChange(shelf_alignment());
@@ -452,7 +454,7 @@
int arrow_offset,
bool persistent) {
// No system tray bubbles in kiosk mode.
- if (Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus() ==
+ if (WmShell::Get()->system_tray_delegate()->GetUserLoginStatus() ==
LoginStatus::KIOSK_APP) {
return;
}
@@ -485,8 +487,9 @@
// (like network) replaces most of the menu.
full_system_tray_menu_ = items.size() > 1;
// The menu width is fixed, and it is a per language setting.
- int menu_width = std::max(kMinimumSystemTrayMenuWidth,
- Shell::GetInstance()->system_tray_delegate()->GetSystemTrayMenuWidth());
+ int menu_width = std::max(
+ kMinimumSystemTrayMenuWidth,
+ WmShell::Get()->system_tray_delegate()->GetSystemTrayMenuWidth());
TrayBubbleView::InitParams init_params(TrayBubbleView::ANCHOR_TYPE_TRAY,
GetAnchorAlignment(),
@@ -608,7 +611,7 @@
base::string16 SystemTray::GetAccessibleTimeString(
const base::Time& now) const {
base::HourClockType hour_type =
- ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType();
+ ash::WmShell::Get()->system_tray_delegate()->GetHourClockType();
return base::TimeFormatTimeOfDayWithHourClockType(
now, hour_type, base::kKeepAmPm);
}
diff --git a/ash/system/tray/system_tray_bubble.cc b/ash/system/tray/system_tray_bubble.cc
index 1fbd188..04f6e81b 100644
--- a/ash/system/tray/system_tray_bubble.cc
+++ b/ash/system/tray/system_tray_bubble.cc
@@ -6,6 +6,7 @@
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/tray/system_tray.h"
#include "ash/system/tray/system_tray_item.h"
@@ -138,8 +139,7 @@
items_ = items;
bubble_type_ = bubble_type;
- CreateItemViews(
- Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus());
+ CreateItemViews(WmShell::Get()->system_tray_delegate()->GetUserLoginStatus());
// Close bubble view if we failed to create the item view.
if (!bubble_view_->has_children()) {
diff --git a/ash/system/tray_accessibility.cc b/ash/system/tray_accessibility.cc
index 08b5a0f5..6ede507 100644
--- a/ash/system/tray_accessibility.cc
+++ b/ash/system/tray_accessibility.cc
@@ -8,6 +8,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/metrics/user_metrics_recorder.h"
#include "ash/shell.h"
#include "ash/system/tray/hover_highlight_view.h"
@@ -63,7 +64,7 @@
}
LoginStatus GetCurrentLoginStatus() {
- return Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus();
+ return WmShell::Get()->system_tray_delegate()->GetUserLoginStatus();
}
} // namespace
@@ -292,8 +293,7 @@
void AccessibilityDetailedView::ButtonPressed(views::Button* sender,
const ui::Event& event) {
- SystemTrayDelegate* tray_delegate =
- Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate();
if (sender == help_view_)
tray_delegate->ShowAccessibilityHelp();
else if (sender == settings_view_)
diff --git a/ash/system/tray_update.cc b/ash/system/tray_update.cc
index befe870..ac46d50 100644
--- a/ash/system/tray_update.cc
+++ b/ash/system/tray_update.cc
@@ -7,6 +7,7 @@
#include "ash/common/system/tray/fixed_sized_image_view.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/tray/system_tray.h"
#include "ash/system/tray/system_tray_notifier.h"
@@ -75,8 +76,7 @@
private:
// Overridden from ActionableView.
bool PerformAction(const ui::Event& event) override {
- ash::Shell::GetInstance()->
- system_tray_delegate()->RequestRestartForUpdate();
+ ash::WmShell::Get()->system_tray_delegate()->RequestRestartForUpdate();
return true;
}
@@ -98,13 +98,13 @@
bool TrayUpdate::GetInitialVisibility() {
UpdateInfo info;
- Shell::GetInstance()->system_tray_delegate()->GetSystemUpdateInfo(&info);
+ WmShell::Get()->system_tray_delegate()->GetSystemUpdateInfo(&info);
return info.update_required;
}
views::View* TrayUpdate::CreateDefaultView(LoginStatus status) {
UpdateInfo info;
- Shell::GetInstance()->system_tray_delegate()->GetSystemUpdateInfo(&info);
+ WmShell::Get()->system_tray_delegate()->GetSystemUpdateInfo(&info);
return info.update_required ? new UpdateView(info) : nullptr;
}
diff --git a/ash/system/user/tray_user.cc b/ash/system/user/tray_user.cc
index e7617d9..db2fda0 100644
--- a/ash/system/user/tray_user.cc
+++ b/ash/system/user/tray_user.cc
@@ -9,6 +9,7 @@
#include "ash/common/shelf/wm_shelf_util.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shelf/shelf_layout_manager.h"
#include "ash/shelf/shelf_util.h"
#include "ash/shell.h"
@@ -129,7 +130,7 @@
return;
bool need_label = false;
bool need_avatar = false;
- SystemTrayDelegate* delegate = Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* delegate = WmShell::Get()->system_tray_delegate();
if (delegate->IsUserSupervised())
need_label = true;
switch (status) {
@@ -233,8 +234,8 @@
}
void TrayUser::OnUserUpdate() {
- UpdateAvatarImage(Shell::GetInstance()->system_tray_delegate()->
- GetUserLoginStatus());
+ UpdateAvatarImage(
+ WmShell::Get()->system_tray_delegate()->GetUserLoginStatus());
}
void TrayUser::OnUserAddedToSession() {
@@ -249,7 +250,7 @@
// Update the user item.
UpdateAvatarImage(
- Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus());
+ WmShell::Get()->system_tray_delegate()->GetUserLoginStatus());
}
void TrayUser::UpdateAvatarImage(LoginStatus status) {
diff --git a/ash/system/user/user_card_view.cc b/ash/system/user/user_card_view.cc
index 1d956ed..6e21bbb 100644
--- a/ash/system/user/user_card_view.cc
+++ b/ash/system/user/user_card_view.cc
@@ -10,6 +10,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/system/tray/tray_constants.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/tray/system_tray_notifier.h"
#include "ash/system/tray/tray_utils.h"
@@ -169,7 +170,7 @@
display_name = kDisplayNameMark[0] + display_name + kDisplayNameMark[0];
// Retrieve the domain managing the device and wrap it with markers.
base::string16 domain = base::UTF8ToUTF16(
- Shell::GetInstance()->system_tray_delegate()->GetEnterpriseDomain());
+ WmShell::Get()->system_tray_delegate()->GetEnterpriseDomain());
base::RemoveChars(domain, kDisplayNameMark, &domain);
base::i18n::WrapStringWithLTRFormatting(&domain);
// Retrieve the label text, inserting the display name and domain.
@@ -274,7 +275,7 @@
void PublicAccountUserDetails::LinkClicked(views::Link* source,
int event_flags) {
DCHECK_EQ(source, learn_more_);
- Shell::GetInstance()->system_tray_delegate()->ShowPublicAccountInfo();
+ WmShell::Get()->system_tray_delegate()->ShowPublicAccountInfo();
}
void PublicAccountUserDetails::CalculatePreferredSize(int max_allowed_width) {
@@ -381,8 +382,7 @@
views::Label* user_email = NULL;
if (login_status != LoginStatus::GUEST) {
- SystemTrayDelegate* tray_delegate =
- Shell::GetInstance()->system_tray_delegate();
+ SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate();
base::string16 user_email_string =
tray_delegate->IsUserSupervised()
? l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SUPERVISED_LABEL)
diff --git a/ash/system/user/user_view.cc b/ash/system/user/user_view.cc
index 7df5382..a62f24e 100644
--- a/ash/system/user/user_view.cc
+++ b/ash/system/user/user_view.cc
@@ -12,6 +12,7 @@
#include "ash/common/system/tray/system_tray_delegate.h"
#include "ash/common/wm_lookup.h"
#include "ash/common/wm_root_window_controller.h"
+#include "ash/common/wm_shell.h"
#include "ash/common/wm_window.h"
#include "ash/multi_profile_uma.h"
#include "ash/popup_message.h"
@@ -298,7 +299,7 @@
Shell::GetInstance()->metrics()->RecordUserMetricsAction(
ash::UMA_STATUS_AREA_SIGN_OUT);
RemoveAddUserMenuOption();
- Shell::GetInstance()->system_tray_delegate()->SignOut();
+ WmShell::Get()->system_tray_delegate()->SignOut();
} else if (sender == user_card_view_ &&
IsMultiProfileSupportedAndUserActive()) {
if (!user_index_) {
@@ -315,7 +316,7 @@
RemoveAddUserMenuOption();
// Let the user add another account to the session.
MultiProfileUMA::RecordSigninUser(MultiProfileUMA::SIGNIN_USER_BY_TRAY);
- Shell::GetInstance()->system_tray_delegate()->ShowUserLogin();
+ WmShell::Get()->system_tray_delegate()->ShowUserLogin();
owner_->system_tray()->CloseSystemBubble();
} else {
NOTREACHED();
diff --git a/ash/system/web_notification/web_notification_tray_unittest.cc b/ash/system/web_notification/web_notification_tray_unittest.cc
index 054c0d2..5d808e5 100644
--- a/ash/system/web_notification/web_notification_tray_unittest.cc
+++ b/ash/system/web_notification/web_notification_tray_unittest.cc
@@ -286,9 +286,7 @@
return;
// Enables to appear the notification for display changes.
- test::TestSystemTrayDelegate* tray_delegate =
- static_cast<test::TestSystemTrayDelegate*>(
- Shell::GetInstance()->system_tray_delegate());
+ test::TestSystemTrayDelegate* tray_delegate = GetSystemTrayDelegate();
tray_delegate->set_should_show_display_notification(true);
UpdateDisplay("400x400,200x200");
diff --git a/ash/test/ash_test_base.cc b/ash/test/ash_test_base.cc
index 46df91c..6ce049e 100644
--- a/ash/test/ash_test_base.cc
+++ b/ash/test/ash_test_base.cc
@@ -9,6 +9,7 @@
#include "ash/ash_switches.h"
#include "ash/common/wm/window_positioner.h"
+#include "ash/common/wm_shell.h"
#include "ash/display/window_tree_host_manager.h"
#include "ash/ime/input_method_event_handler.h"
#include "ash/shell.h"
@@ -273,7 +274,7 @@
TestSystemTrayDelegate* AshTestBase::GetSystemTrayDelegate() {
return static_cast<TestSystemTrayDelegate*>(
- Shell::GetInstance()->system_tray_delegate());
+ WmShell::Get()->system_tray_delegate());
}
void AshTestBase::SetSessionStarted(bool session_started) {
diff --git a/ash/test/status_area_widget_test_helper.cc b/ash/test/status_area_widget_test_helper.cc
index 6fcf599f..82837c6 100644
--- a/ash/test/status_area_widget_test_helper.cc
+++ b/ash/test/status_area_widget_test_helper.cc
@@ -5,6 +5,7 @@
#include "ash/test/status_area_widget_test_helper.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/root_window_controller.h"
#include "ash/shelf/shelf_widget.h"
#include "ash/shell.h"
@@ -13,7 +14,7 @@
namespace ash {
LoginStatus StatusAreaWidgetTestHelper::GetUserLoginStatus() {
- return Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus();
+ return WmShell::Get()->system_tray_delegate()->GetUserLoginStatus();
}
StatusAreaWidget* StatusAreaWidgetTestHelper::GetStatusAreaWidget() {
diff --git a/ash/test/tray_cast_test_api.cc b/ash/test/tray_cast_test_api.cc
index dc96f5f..430be7d 100644
--- a/ash/test/tray_cast_test_api.cc
+++ b/ash/test/tray_cast_test_api.cc
@@ -6,7 +6,7 @@
#include "ash/cast_config_delegate.h"
#include "ash/common/system/tray/system_tray_delegate.h"
-#include "ash/shell.h"
+#include "ash/common/wm_shell.h"
#include "ash/system/tray/system_tray.h"
#include "ui/views/view.h"
@@ -51,9 +51,8 @@
void TrayCastTestAPI::ReleaseConfigCallbacks() {
tray_cast_->added_observer_ = false;
- if (ash::Shell::GetInstance() &&
- ash::Shell::GetInstance()->system_tray_delegate()) {
- ash::Shell::GetInstance()
+ if (WmShell::Get() && WmShell::Get()->system_tray_delegate()) {
+ WmShell::Get()
->system_tray_delegate()
->GetCastConfigDelegate()
->RemoveObserver(tray_cast_);
diff --git a/ash/wm/overview/window_selector_controller.cc b/ash/wm/overview/window_selector_controller.cc
index cc7182b..8999d940 100644
--- a/ash/wm/overview/window_selector_controller.cc
+++ b/ash/wm/overview/window_selector_controller.cc
@@ -33,7 +33,7 @@
return session_state_delegate->IsActiveUserSessionStarted() &&
!session_state_delegate->IsScreenLocked() &&
!Shell::GetInstance()->IsSystemModalWindowOpen() &&
- Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus() !=
+ WmShell::Get()->system_tray_delegate()->GetUserLoginStatus() !=
LoginStatus::KIOSK_APP;
}
diff --git a/chrome/browser/chromeos/policy/device_system_use_24hour_clock_browsertest.cc b/chrome/browser/chromeos/policy/device_system_use_24hour_clock_browsertest.cc
index b69cc595..ff7daa7 100644
--- a/chrome/browser/chromeos/policy/device_system_use_24hour_clock_browsertest.cc
+++ b/chrome/browser/chromeos/policy/device_system_use_24hour_clock_browsertest.cc
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/date/date_default_view.h"
#include "ash/system/date/date_view.h"
@@ -66,7 +67,7 @@
static bool GetSystemTrayDelegateShouldUse24HourClock() {
chromeos::SystemTrayDelegateChromeOS* tray_delegate =
static_cast<chromeos::SystemTrayDelegateChromeOS*>(
- ash::Shell::GetInstance()->system_tray_delegate());
+ ash::WmShell::Get()->system_tray_delegate());
return tray_delegate->GetShouldUse24HourClockForTesting();
}
diff --git a/chrome/browser/chromeos/power/power_button_observer.cc b/chrome/browser/chromeos/power/power_button_observer.cc
index 1ae37bc..4565a3f 100644
--- a/chrome/browser/chromeos/power/power_button_observer.cc
+++ b/chrome/browser/chromeos/power/power_button_observer.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/power/power_button_observer.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/user/login_status.h"
#include "ash/wm/power_button_controller.h"
@@ -24,10 +25,10 @@
namespace {
ash::LoginStatus GetCurrentLoginStatus() {
- if (!ash::Shell::GetInstance()->system_tray_delegate())
- return ash::LoginStatus::NOT_LOGGED_IN;
- return ash::Shell::GetInstance()->system_tray_delegate()->
- GetUserLoginStatus();
+ if (ash::WmShell::Get()->system_tray_delegate())
+ return ash::WmShell::Get()->system_tray_delegate()->GetUserLoginStatus();
+
+ return ash::LoginStatus::NOT_LOGGED_IN;
}
} // namespace
diff --git a/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc b/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc
index 7fb743e..8526838 100644
--- a/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc
+++ b/chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.cc
@@ -5,8 +5,8 @@
#include "chrome/browser/chromeos/profiles/avatar_menu_actions_chromeos.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/multi_profile_uma.h"
-#include "ash/shell.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_avatar_icon_util.h"
#include "chrome/browser/ui/browser.h"
@@ -29,7 +29,7 @@
// Let the user add another account to the session.
ash::MultiProfileUMA::RecordSigninUser(
ash::MultiProfileUMA::SIGNIN_USER_BY_BROWSER_FRAME);
- ash::Shell::GetInstance()->system_tray_delegate()->ShowUserLogin();
+ ash::WmShell::Get()->system_tray_delegate()->ShowUserLogin();
}
void AvatarMenuActionsChromeOS::EditProfile(Profile* profile) {
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
index 9c03483..2c24223 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
@@ -12,6 +12,7 @@
#include "ash/common/shelf/shelf_item_delegate_manager.h"
#include "ash/common/shelf/shelf_model.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/desktop_background/desktop_background_controller.h"
#include "ash/multi_profile_uma.h"
#include "ash/root_window_controller.h"
@@ -1009,7 +1010,7 @@
// user.
RestoreUnpinnedRunningApplicationOrder(user_email);
// Inform the system tray of the change.
- ash::Shell::GetInstance()->system_tray_delegate()->ActiveUserWasChanged();
+ ash::WmShell::Get()->system_tray_delegate()->ActiveUserWasChanged();
// Force on-screen keyboard to reset.
if (keyboard::IsKeyboardEnabled())
ash::Shell::GetInstance()->CreateKeyboard();
diff --git a/chrome/browser/ui/ash/network_connect_delegate_chromeos.cc b/chrome/browser/ui/ash/network_connect_delegate_chromeos.cc
index f103dd27..ea8581b2 100644
--- a/chrome/browser/ui/ash/network_connect_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/network_connect_delegate_chromeos.cc
@@ -7,6 +7,7 @@
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/user/login_status.h"
#include "chrome/browser/chromeos/enrollment_dialog_view.h"
@@ -26,7 +27,7 @@
->session_state_delegate()
->IsActiveUserSessionStarted();
ash::LoginStatus login_status =
- ash::Shell::GetInstance()->system_tray_delegate()->GetUserLoginStatus();
+ ash::WmShell::Get()->system_tray_delegate()->GetUserLoginStatus();
bool isUserAddingRunning = ash::Shell::GetInstance()
->session_state_delegate()
->IsInSecondaryLoginScreen();
@@ -61,7 +62,7 @@
const std::string& network_id) {
if (!IsUIAvailable())
return;
- ash::Shell::GetInstance()->system_tray_delegate()->ShowNetworkSettingsForGuid(
+ ash::WmShell::Get()->system_tray_delegate()->ShowNetworkSettingsForGuid(
network_id);
}
diff --git a/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_chromeos.cc b/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_chromeos.cc
index 905f89f..b9f1266b 100644
--- a/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_chromeos.cc
+++ b/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_chromeos.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/cast/tray_cast.h"
#include "ash/system/tray/system_tray.h"
@@ -158,9 +159,8 @@
// recognizes the cast extension.
IN_PROC_BROWSER_TEST_F(SystemTrayTrayCastChromeOSTest,
CastTraySanityCheckTestExtensionGetsRecognized) {
- ash::CastConfigDelegate* cast_config_delegate = ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->GetCastConfigDelegate();
+ ash::CastConfigDelegate* cast_config_delegate =
+ ash::WmShell::Get()->system_tray_delegate()->GetCastConfigDelegate();
EXPECT_FALSE(cast_config_delegate->HasCastExtension());
const extensions::Extension* extension = LoadCastTestExtension();
@@ -283,9 +283,8 @@
IN_PROC_BROWSER_TEST_F(SystemTrayTrayCastChromeOSTest, CastTrayOpenOptions) {
const extensions::Extension* extension = LoadCastTestExtension();
- ash::CastConfigDelegate* cast_config_delegate = ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->GetCastConfigDelegate();
+ ash::CastConfigDelegate* cast_config_delegate =
+ ash::WmShell::Get()->system_tray_delegate()->GetCastConfigDelegate();
cast_config_delegate->LaunchCastOptions();
const GURL url =
diff --git a/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_media_router_chromeos.cc b/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_media_router_chromeos.cc
index 885f837..c8966e8 100644
--- a/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_media_router_chromeos.cc
+++ b/chrome/browser/ui/ash/system_tray_tray_cast_browsertest_media_router_chromeos.cc
@@ -5,6 +5,7 @@
#include <vector>
#include "ash/common/system/tray/system_tray_delegate.h"
+#include "ash/common/wm_shell.h"
#include "ash/shell.h"
#include "ash/system/tray/system_tray.h"
#include "ash/test/tray_cast_test_api.h"
@@ -96,9 +97,8 @@
// Sanity check to make sure that the media router delegate is getting used.
IN_PROC_BROWSER_TEST_F(SystemTrayTrayCastMediaRouterChromeOSTest,
VerifyThatMediaRouterIsBeingUsed) {
- ash::CastConfigDelegate* cast_config_delegate = ash::Shell::GetInstance()
- ->system_tray_delegate()
- ->GetCastConfigDelegate();
+ ash::CastConfigDelegate* cast_config_delegate =
+ ash::WmShell::Get()->system_tray_delegate()->GetCastConfigDelegate();
// The media router always reports false for HasOptions(); the extension
// always reports true.
diff --git a/chrome/browser/ui/ash/vpn_delegate_chromeos.cc b/chrome/browser/ui/ash/vpn_delegate_chromeos.cc
index 08c8a25..e34b8e1 100644
--- a/chrome/browser/ui/ash/vpn_delegate_chromeos.cc
+++ b/chrome/browser/ui/ash/vpn_delegate_chromeos.cc
@@ -5,7 +5,7 @@
#include "chrome/browser/ui/ash/vpn_delegate_chromeos.h"
#include "ash/common/system/tray/system_tray_delegate.h"
-#include "ash/shell.h"
+#include "ash/common/wm_shell.h"
#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
@@ -80,7 +80,7 @@
void VPNDelegateChromeOS::ShowAddPage(const ash::VPNProvider::Key& key) {
if (!key.third_party) {
// Show the "add network" dialog for the built-in OpenVPN/L2TP provider.
- ash::Shell::GetInstance()->system_tray_delegate()->ShowOtherNetworkDialog(
+ ash::WmShell::Get()->system_tray_delegate()->ShowOtherNetworkDialog(
shill::kTypeVPN);
return;
}
diff --git a/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc b/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
index 9a7accd1..07ab292 100644
--- a/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/emulator/device_emulator_message_handler.cc
@@ -8,7 +8,7 @@
#include <utility>
#include "ash/common/system/tray/system_tray_delegate.h"
-#include "ash/shell.h"
+#include "ash/common/wm_shell.h"
#include "base/bind.h"
#include "base/macros.h"
#include "base/strings/string_number_conversions.h"
@@ -279,7 +279,7 @@
// Try to pair the device with the main adapter. The device is identified
// by its device ID, which, in this case is the same as its address.
- ash::Shell::GetInstance()->system_tray_delegate()->ConnectToBluetoothDevice(
+ ash::WmShell::Get()->system_tray_delegate()->ConnectToBluetoothDevice(
props->address.value());
if (!props->paired.value()) {
web_ui()->CallJavascriptFunctionUnsafe(kPairFailedJSCallback,