| Index: chrome/browser/chromeos/chrome_interface_factory.cc | 
| diff --git a/chrome/browser/chromeos/chrome_interface_factory.cc b/chrome/browser/chromeos/chrome_interface_factory.cc | 
| index 00c2ff6f1900f8c6b50f0a55791c32b08d99e74e..297acf41300b19fcbbcae384d2f4a9ec056dbfe4 100644 | 
| --- a/chrome/browser/chromeos/chrome_interface_factory.cc | 
| +++ b/chrome/browser/chromeos/chrome_interface_factory.cc | 
| @@ -7,6 +7,7 @@ | 
| #include <memory> | 
|  | 
| #include "ash/common/mojo_interface_factory.h" | 
| +#include "ash/public/interfaces/new_window.mojom.h" | 
| #include "base/lazy_instance.h" | 
| #include "base/memory/ptr_util.h" | 
| #include "base/memory/weak_ptr.h" | 
| @@ -17,6 +18,7 @@ | 
| #include "chrome/browser/profiles/profile_manager.h" | 
| #include "chrome/browser/ui/ash/app_list/app_list_presenter_service.h" | 
| #include "chrome/browser/ui/ash/ash_util.h" | 
| +#include "chrome/browser/ui/ash/chrome_new_window_client.h" | 
| #include "chrome/browser/ui/ash/keyboard_ui_service.h" | 
| #include "chrome/browser/ui/ash/system_tray_client.h" | 
| #include "chrome/browser/ui/ash/volume_controller_chromeos.h" | 
| @@ -114,6 +116,13 @@ class FactoryImpl { | 
| launchable_->ProcessRequest(std::move(request)); | 
| } | 
|  | 
| +  void BindRequest(ash::mojom::NewWindowClientRequest request) { | 
| +    if (!new_window_client_) | 
| +      new_window_client_.reset(new ChromeNewWindowClient); | 
| +    new_window_client_bindings_.AddBinding(new_window_client_.get(), | 
| +                                           std::move(request)); | 
| +  } | 
| + | 
| void BindRequest(ash::mojom::SystemTrayClientRequest request) { | 
| system_tray_client_bindings_.AddBinding(SystemTrayClient::Get(), | 
| std::move(request)); | 
| @@ -141,6 +150,8 @@ class FactoryImpl { | 
| std::unique_ptr<KeyboardUIService> keyboard_ui_service_; | 
| mojo::BindingSet<keyboard::mojom::Keyboard> keyboard_bindings_; | 
| std::unique_ptr<ChromeLaunchable> launchable_; | 
| +  std::unique_ptr<ChromeNewWindowClient> new_window_client_; | 
| +  mojo::BindingSet<ash::mojom::NewWindowClient> new_window_client_bindings_; | 
| mojo::BindingSet<ash::mojom::SystemTrayClient> system_tray_client_bindings_; | 
| std::unique_ptr<VolumeController> volume_controller_; | 
| std::unique_ptr<AppListPresenterService> app_list_presenter_service_; | 
| @@ -168,6 +179,8 @@ bool ChromeInterfaceFactory::OnConnect( | 
| main_thread_task_runner_); | 
| FactoryImpl::AddFactory<mash::mojom::Launchable>(registry, | 
| main_thread_task_runner_); | 
| +  FactoryImpl::AddFactory<ash::mojom::NewWindowClient>( | 
| +      registry, main_thread_task_runner_); | 
| FactoryImpl::AddFactory<ash::mojom::SystemTrayClient>( | 
| registry, main_thread_task_runner_); | 
| FactoryImpl::AddFactory<ash::mojom::VolumeController>( | 
|  |