Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index 6e2f60e19a20919411b8694e96d91e5ddb57e910..3183c7ad8f3811ba7e932c3d7ea78e5c49e05b5e 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -22,6 +22,7 @@ |
#include "ash/common/shelf/shelf_item_delegate.h" |
#include "ash/common/shelf/shelf_item_delegate_manager.h" |
#include "ash/common/shelf/shelf_model.h" |
+#include "ash/common/shell_delegate.h" |
#include "ash/common/shell_window_ids.h" |
#include "ash/common/system/locale/locale_notification_controller.h" |
#include "ash/common/system/tray/system_tray_delegate.h" |
@@ -59,7 +60,6 @@ |
#include "ash/shelf/shelf_delegate.h" |
#include "ash/shelf/shelf_widget.h" |
#include "ash/shelf/shelf_window_watcher.h" |
-#include "ash/shell_delegate.h" |
#include "ash/shell_factory.h" |
#include "ash/shell_init_params.h" |
#include "ash/system/status_area_widget.h" |
@@ -320,25 +320,26 @@ void Shell::ShowContextMenu(const gfx::Point& location_in_screen, |
void Shell::ShowAppList(aura::Window* window) { |
// If the context window is not given, show it on the target root window. |
- delegate_->GetAppListPresenter()->Show(GetDisplayIdForWindow(window)); |
+ wm_shell_->delegate()->GetAppListPresenter()->Show( |
+ GetDisplayIdForWindow(window)); |
} |
void Shell::DismissAppList() { |
- delegate_->GetAppListPresenter()->Dismiss(); |
+ wm_shell_->delegate()->GetAppListPresenter()->Dismiss(); |
} |
void Shell::ToggleAppList(aura::Window* window) { |
// If the context window is not given, show it on the target root window. |
- delegate_->GetAppListPresenter()->ToggleAppList( |
+ wm_shell_->delegate()->GetAppListPresenter()->ToggleAppList( |
GetDisplayIdForWindow(window)); |
} |
bool Shell::IsApplistVisible() const { |
- return delegate_->GetAppListPresenter()->IsVisible(); |
+ return wm_shell_->delegate()->GetAppListPresenter()->IsVisible(); |
} |
bool Shell::GetAppListTargetVisibility() const { |
- return delegate_->GetAppListPresenter()->GetTargetVisibility(); |
+ return wm_shell_->delegate()->GetAppListPresenter()->GetTargetVisibility(); |
} |
views::NonClientFrameView* Shell::CreateDefaultNonClientFrameView( |
@@ -551,7 +552,8 @@ ShelfDelegate* Shell::GetShelfDelegate() { |
shelf_item_delegate_manager_.reset( |
new ShelfItemDelegateManager(shelf_model_.get())); |
- shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get())); |
+ shelf_delegate_.reset( |
+ wm_shell_->delegate()->CreateShelfDelegate(shelf_model_.get())); |
std::unique_ptr<ShelfItemDelegate> controller(new AppListShelfItemDelegate); |
// Finding the shelf model's location of the app list and setting its |
@@ -599,9 +601,9 @@ void Shell::DoInitialWorkspaceAnimation() { |
// Shell, private: |
Shell::Shell(ShellDelegate* delegate, base::SequencedWorkerPool* blocking_pool) |
- : target_root_window_(nullptr), |
+ : wm_shell_(new WmShellAura(delegate)), |
James Cook
2016/07/06 21:27:27
It's nice that it works to move this here!
msw
2016/07/06 21:58:56
Acknowledged.
|
+ target_root_window_(nullptr), |
scoped_target_root_window_(nullptr), |
- delegate_(delegate), |
shelf_model_(new ShelfModel), |
link_handler_model_factory_(nullptr), |
activation_client_(nullptr), |
@@ -612,9 +614,8 @@ Shell::Shell(ShellDelegate* delegate, base::SequencedWorkerPool* blocking_pool) |
simulate_modal_window_open_for_testing_(false), |
is_touch_hud_projection_enabled_(false), |
blocking_pool_(blocking_pool) { |
- DCHECK(delegate_.get()); |
DCHECK(aura::Env::GetInstanceDontCreate()); |
- gpu_support_.reset(delegate_->CreateGPUSupport()); |
+ gpu_support_.reset(wm_shell_->delegate()->CreateGPUSupport()); |
display_manager_.reset(new DisplayManager); |
window_tree_host_manager_.reset(new WindowTreeHostManager); |
user_metrics_recorder_.reset(new UserMetricsRecorder); |
@@ -629,7 +630,7 @@ Shell::~Shell() { |
user_metrics_recorder_->OnShellShuttingDown(); |
- delegate_->PreShutdown(); |
+ wm_shell_->delegate()->PreShutdown(); |
views::FocusManagerFactory::Install(nullptr); |
@@ -812,7 +813,6 @@ void Shell::Init(const ShellInitParams& init_params) { |
DCHECK(in_mus_) << "linux desktop does not support ash."; |
#endif |
- wm_shell_.reset(new WmShellAura); |
scoped_overview_animation_settings_factory_.reset( |
new ScopedOverviewAnimationSettingsFactoryAura); |
window_positioner_.reset(new WindowPositioner(wm_shell_.get())); |
@@ -828,7 +828,7 @@ void Shell::Init(const ShellInitParams& init_params) { |
#endif |
} |
- delegate_->PreInit(); |
+ wm_shell_->delegate()->PreInit(); |
bool display_initialized = display_manager_->InitFromCommandLine(); |
display_configuration_controller_.reset(new DisplayConfigurationController( |
@@ -870,7 +870,7 @@ void Shell::Init(const ShellInitParams& init_params) { |
display_configurator_->set_state_controller(display_change_observer_.get()); |
display_configurator_->set_mirroring_controller(display_manager_.get()); |
display_configurator_->ForceInitialConfigure( |
- delegate_->IsFirstRunAfterBoot() ? kChromeOsBootColor : 0); |
+ wm_shell_->delegate()->IsFirstRunAfterBoot() ? kChromeOsBootColor : 0); |
display_initialized = true; |
} |
display_color_manager_.reset( |
@@ -1010,20 +1010,24 @@ void Shell::Init(const ShellInitParams& init_params) { |
// This controller needs to be set before SetupManagedWindowMode. |
desktop_background_controller_.reset( |
new DesktopBackgroundController(blocking_pool_)); |
- user_wallpaper_delegate_.reset(delegate_->CreateUserWallpaperDelegate()); |
- |
- session_state_delegate_.reset(delegate_->CreateSessionStateDelegate()); |
- accessibility_delegate_.reset(delegate_->CreateAccessibilityDelegate()); |
- new_window_delegate_.reset(delegate_->CreateNewWindowDelegate()); |
+ user_wallpaper_delegate_.reset( |
+ wm_shell_->delegate()->CreateUserWallpaperDelegate()); |
+ |
+ session_state_delegate_.reset( |
+ wm_shell_->delegate()->CreateSessionStateDelegate()); |
+ accessibility_delegate_.reset( |
+ wm_shell_->delegate()->CreateAccessibilityDelegate()); |
+ new_window_delegate_.reset(wm_shell_->delegate()->CreateNewWindowDelegate()); |
wm_shell_->SetMediaDelegate( |
James Cook
2016/07/06 21:27:27
Could the media delegate be created inside WmShell
msw
2016/07/06 21:58:56
Yes, all of these other delegates should be create
|
- base::WrapUnique(delegate_->CreateMediaDelegate())); |
- pointer_watcher_delegate_ = delegate_->CreatePointerWatcherDelegate(); |
+ base::WrapUnique(wm_shell_->delegate()->CreateMediaDelegate())); |
+ pointer_watcher_delegate_ = |
+ wm_shell_->delegate()->CreatePointerWatcherDelegate(); |
resize_shadow_controller_.reset(new ResizeShadowController()); |
shadow_controller_.reset(new ::wm::ShadowController(activation_client_)); |
wm_shell_->SetSystemTrayDelegate( |
- base::WrapUnique(delegate()->CreateSystemTrayDelegate())); |
+ base::WrapUnique(wm_shell_->delegate()->CreateSystemTrayDelegate())); |
James Cook
2016/07/06 21:27:27
ditto
msw
2016/07/06 21:58:56
See comment above.
|
locale_notification_controller_.reset(new LocaleNotificationController); |
@@ -1107,7 +1111,8 @@ void Shell::InitKeyboard() { |
} |
} |
keyboard::KeyboardController::ResetInstance( |
- new keyboard::KeyboardController(delegate_->CreateKeyboardUI())); |
+ new keyboard::KeyboardController( |
+ wm_shell_->delegate()->CreateKeyboardUI())); |
} |
} |