| 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 723b678f0936c9ebc07269db602ad0d3050a005f..f3b72dfa1481e265faa270fd0fbd112418ba6a8a 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/weak_ptr.h" | 
| #include "base/threading/thread_checker.h" | 
| @@ -16,6 +17,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/browser_commands.h" | 
| @@ -112,6 +114,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)); | 
| @@ -133,6 +142,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<AppListPresenterService> app_list_presenter_service_; | 
| mojo::BindingSet<app_list::mojom::AppListPresenter> | 
| @@ -159,6 +170,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::WallpaperManager>( | 
|  |