| Index: ash/common/wm_shell.cc | 
| diff --git a/ash/common/wm_shell.cc b/ash/common/wm_shell.cc | 
| index d5c49e3bfa97db1d102250991fca9123ff40d62f..5be7d1129e7c1aa799d7be10e72b703338a0d22b 100644 | 
| --- a/ash/common/wm_shell.cc | 
| +++ b/ash/common/wm_shell.cc | 
| @@ -11,7 +11,7 @@ | 
| #include "ash/common/accessibility_delegate.h" | 
| #include "ash/common/focus_cycler.h" | 
| #include "ash/common/keyboard/keyboard_ui.h" | 
| -#include "ash/common/new_window_delegate.h" | 
| +#include "ash/common/new_window_client_remote.h" | 
| #include "ash/common/palette_delegate.h" | 
| #include "ash/common/session/session_state_delegate.h" | 
| #include "ash/common/shelf/app_list_shelf_item_delegate.h" | 
| @@ -84,8 +84,6 @@ void WmShell::Initialize(const scoped_refptr<base::SequencedWorkerPool>& pool) { | 
| // Shelf, and WallPaper could be created by the factory. | 
| views::FocusManagerFactory::Install(new AshFocusManagerFactory); | 
|  | 
| -  new_window_delegate_.reset(delegate_->CreateNewWindowDelegate()); | 
| - | 
| wallpaper_controller_.reset(new WallpaperController(blocking_pool_)); | 
| } | 
|  | 
| @@ -236,6 +234,8 @@ WmShell::WmShell(std::unique_ptr<ShellDelegate> shell_delegate) | 
| immersive_context_(base::MakeUnique<ImmersiveContextAsh>()), | 
| locale_notification_controller_( | 
| base::MakeUnique<LocaleNotificationController>()), | 
| +      new_window_client_(base::MakeUnique<NewWindowClientRemote>( | 
| +          delegate_->GetShellConnector())), | 
| shelf_controller_(base::MakeUnique<ShelfController>()), | 
| system_tray_controller_(base::MakeUnique<SystemTrayController>( | 
| delegate_->GetShellConnector())), | 
| @@ -389,4 +389,9 @@ void WmShell::SetAcceleratorController( | 
| accelerator_controller_ = std::move(accelerator_controller); | 
| } | 
|  | 
| +void WmShell::SetNewWindowClient( | 
| +    std::unique_ptr<mojom::NewWindowClient> new_window_client) { | 
| +  new_window_client_ = std::move(new_window_client); | 
| +} | 
| + | 
| }  // namespace ash | 
|  |