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 1c9a68da3932298b3efc3a96dd0eddebd28d1934..38a0e7ef821c59502a5789c407e74caf941b1934 100644 |
--- a/chrome/browser/chromeos/chrome_interface_factory.cc |
+++ b/chrome/browser/chromeos/chrome_interface_factory.cc |
@@ -16,6 +16,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_connection_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" |
@@ -29,6 +30,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" |
@@ -125,6 +127,13 @@ class FactoryImpl { |
std::move(request)); |
} |
+ void BindRequest(prefs::mojom::PreferencesManagerRequest request) { |
+ if (!preferences_connection_manager_) |
+ preferences_connection_manager_ = |
+ base::MakeUnique<chrome::PreferencesConnectionManager>(); |
+ preferences_connection_manager_->ProcessRequest(std::move(request)); |
+ } |
+ |
void BindRequest(ash::mojom::SystemTrayClientRequest request) { |
system_tray_client_bindings_.AddBinding(SystemTrayClient::Get(), |
std::move(request)); |
@@ -155,6 +164,8 @@ 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::PreferencesConnectionManager> |
+ preferences_connection_manager_; |
std::unique_ptr<VolumeController> volume_controller_; |
std::unique_ptr<AppListPresenterService> app_list_presenter_service_; |
mojo::BindingSet<app_list::mojom::AppListPresenter> |
@@ -186,6 +197,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>( |