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 297acf41300b19fcbbcae384d2f4a9ec056dbfe4..84c449423a2af8bdc21c13948c8bfa8ad21df988 100644 |
--- a/chrome/browser/chromeos/chrome_interface_factory.cc |
+++ b/chrome/browser/chromeos/chrome_interface_factory.cc |
@@ -14,6 +14,7 @@ |
#include "base/threading/thread_checker.h" |
#include "base/threading/thread_task_runner_handle.h" |
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
+#include "chrome/browser/prefs/preferences_manager.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_manager.h" |
#include "chrome/browser/ui/ash/app_list/app_list_presenter_service.h" |
@@ -27,6 +28,7 @@ |
#include "content/public/common/service_manager_connection.h" |
#include "mash/public/interfaces/launchable.mojom.h" |
#include "mojo/public/cpp/bindings/binding_set.h" |
+#include "services/preferences/public/interfaces/preferences.mojom.h" |
#include "services/service_manager/public/cpp/connection.h" |
#include "services/service_manager/public/cpp/interface_registry.h" |
#include "ui/app_list/presenter/app_list_presenter.mojom.h" |
@@ -123,6 +125,13 @@ class FactoryImpl { |
std::move(request)); |
} |
+ void BindRequest(prefs::mojom::PreferencesManagerRequest request) { |
+ if (!preferences_manager_) |
+ preferences_manager_ = base::MakeUnique<chrome::PreferencesManager>(); |
+ preferences_manager_bindings_.AddBinding(preferences_manager_.get(), |
+ std::move(request)); |
+ } |
+ |
void BindRequest(ash::mojom::SystemTrayClientRequest request) { |
system_tray_client_bindings_.AddBinding(SystemTrayClient::Get(), |
std::move(request)); |
@@ -153,6 +162,9 @@ class FactoryImpl { |
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<chrome::PreferencesManager> preferences_manager_; |
+ mojo::BindingSet<prefs::mojom::PreferencesManager> |
+ preferences_manager_bindings_; |
std::unique_ptr<VolumeController> volume_controller_; |
std::unique_ptr<AppListPresenterService> app_list_presenter_service_; |
mojo::BindingSet<app_list::mojom::AppListPresenter> |
@@ -181,6 +193,8 @@ bool ChromeInterfaceFactory::OnConnect( |
main_thread_task_runner_); |
FactoryImpl::AddFactory<ash::mojom::NewWindowClient>( |
registry, main_thread_task_runner_); |
+ FactoryImpl::AddFactory<prefs::mojom::PreferencesManager>( |
+ registry, main_thread_task_runner_); |
FactoryImpl::AddFactory<ash::mojom::SystemTrayClient>( |
registry, main_thread_task_runner_); |
FactoryImpl::AddFactory<ash::mojom::VolumeController>( |