Chromium Code Reviews| Index: ash/common/shelf/shelf_controller.cc |
| diff --git a/ash/common/shelf/shelf_controller.cc b/ash/common/shelf/shelf_controller.cc |
| index 043fec9e7513655c295521b1b328c4b116ffe463..4c5fa7fb3ac049d257bb4c1143733ee9e20a1e90 100644 |
| --- a/ash/common/shelf/shelf_controller.cc |
| +++ b/ash/common/shelf/shelf_controller.cc |
| @@ -7,11 +7,15 @@ |
| #include "ash/common/shelf/shelf_item_delegate.h" |
| #include "ash/common/shelf/shelf_menu_model.h" |
| #include "ash/common/shelf/wm_shelf.h" |
| +#include "ash/common/shell_delegate.h" |
| #include "ash/common/wm_lookup.h" |
| #include "ash/common/wm_root_window_controller.h" |
| #include "ash/common/wm_shell.h" |
| #include "ash/common/wm_window.h" |
| #include "base/strings/utf_string_conversions.h" |
| +#include "services/preferences/public/cpp/pref_observer_store.h" |
| +#include "services/preferences/public/interfaces/preferences.mojom.h" |
| +#include "services/service_manager/public/cpp/connector.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/display/display.h" |
| #include "ui/display/screen.h" |
| @@ -168,6 +172,20 @@ ShelfController::~ShelfController() {} |
| void ShelfController::BindRequest(mojom::ShelfControllerRequest request) { |
| bindings_.AddBinding(this, std::move(request)); |
| + |
| + // Sample of connecting to the PreferencesManager |
| + WmShell* shell = WmShell::Get(); |
| + service_manager::Connector* connector = |
| + shell->delegate()->GetShellConnector(); |
| + if (!connector) |
| + return; |
| + prefs::mojom::PreferencesManagerPtr pref_manager_ptr; |
| + connector->ConnectToInterface("service:content_browser", &pref_manager_ptr); |
| + store_ = new PrefObserverStore(std::move(pref_manager_ptr)); |
| + std::set<std::string> keys; |
| + const std::string key("hey"); |
| + keys.insert(key); |
| + store_->Init(keys); |
|
jonross
2016/11/02 19:57:30
Once this is connected it can be used as a normal
|
| } |
| void ShelfController::NotifyShelfCreated(WmShelf* shelf) { |