OLD | NEW |
1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "services/preferences/public/cpp/pref_service_factory.h" | 5 #include "services/preferences/public/cpp/pref_service_factory.h" |
6 | 6 |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/test/sequenced_worker_pool_owner.h" | 10 #include "base/test/sequenced_worker_pool_owner.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 bool OnConnect(const service_manager::ServiceInfo& remote_info, | 40 bool OnConnect(const service_manager::ServiceInfo& remote_info, |
41 service_manager::InterfaceRegistry* registry) override { | 41 service_manager::InterfaceRegistry* registry) override { |
42 registry->AddInterface<service_manager::mojom::ServiceFactory>(this); | 42 registry->AddInterface<service_manager::mojom::ServiceFactory>(this); |
43 return true; | 43 return true; |
44 } | 44 } |
45 | 45 |
46 void CreateService(service_manager::mojom::ServiceRequest request, | 46 void CreateService(service_manager::mojom::ServiceRequest request, |
47 const std::string& name) override { | 47 const std::string& name) override { |
48 if (name == prefs::mojom::kServiceName) { | 48 if (name == prefs::mojom::kServiceName) { |
49 pref_service_context_.reset(new service_manager::ServiceContext( | 49 pref_service_context_.reset(new service_manager::ServiceContext( |
50 CreatePrefService({PrefValueStore::COMMAND_LINE_STORE, | 50 CreatePrefService( |
51 PrefValueStore::RECOMMENDED_STORE}, | 51 {PrefValueStore::COMMAND_LINE_STORE, |
52 worker_pool_), | 52 PrefValueStore::RECOMMENDED_STORE, PrefValueStore::USER_STORE, |
| 53 PrefValueStore::DEFAULT_STORE}, |
| 54 worker_pool_), |
53 std::move(request))); | 55 std::move(request))); |
54 } | 56 } |
55 } | 57 } |
56 | 58 |
57 void Create(const service_manager::Identity& remote_identity, | 59 void Create(const service_manager::Identity& remote_identity, |
58 service_manager::mojom::ServiceFactoryRequest request) override { | 60 service_manager::mojom::ServiceFactoryRequest request) override { |
59 service_factory_bindings_.AddBinding(this, std::move(request)); | 61 service_factory_bindings_.AddBinding(this, std::move(request)); |
60 } | 62 } |
61 | 63 |
62 private: | 64 private: |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 void WillDestroyCurrentMessageLoop() override { worker_pool_owner_.reset(); } | 121 void WillDestroyCurrentMessageLoop() override { worker_pool_owner_.reset(); } |
120 | 122 |
121 // Create a fully initialized PrefService synchronously. | 123 // Create a fully initialized PrefService synchronously. |
122 std::unique_ptr<PrefService> Create() { | 124 std::unique_ptr<PrefService> Create() { |
123 std::unique_ptr<PrefService> pref_service; | 125 std::unique_ptr<PrefService> pref_service; |
124 base::RunLoop run_loop; | 126 base::RunLoop run_loop; |
125 auto pref_registry = make_scoped_refptr(new PrefRegistrySimple()); | 127 auto pref_registry = make_scoped_refptr(new PrefRegistrySimple()); |
126 pref_registry->RegisterIntegerPref(kKey, kInitialValue); | 128 pref_registry->RegisterIntegerPref(kKey, kInitialValue); |
127 pref_registry->RegisterIntegerPref(kOtherKey, kInitialValue); | 129 pref_registry->RegisterIntegerPref(kOtherKey, kInitialValue); |
128 ConnectToPrefService(connector(), pref_registry, | 130 ConnectToPrefService(connector(), pref_registry, |
| 131 std::vector<PrefValueStore::PrefStoreType>(), |
129 base::Bind(&PrefServiceFactoryTest::OnCreate, | 132 base::Bind(&PrefServiceFactoryTest::OnCreate, |
130 run_loop.QuitClosure(), &pref_service)); | 133 run_loop.QuitClosure(), &pref_service)); |
131 run_loop.Run(); | 134 run_loop.Run(); |
132 return pref_service; | 135 return pref_service; |
133 } | 136 } |
134 | 137 |
135 // Wait until first update of the pref |key| in |pref_service| synchronously. | 138 // Wait until first update of the pref |key| in |pref_service| synchronously. |
136 void WaitForPrefChange(PrefService* pref_service, const std::string& key) { | 139 void WaitForPrefChange(PrefService* pref_service, const std::string& key) { |
137 PrefChangeRegistrar registrar; | 140 PrefChangeRegistrar registrar; |
138 registrar.Init(pref_service); | 141 registrar.Init(pref_service); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 base::MakeUnique<base::Value>(2), 0); | 256 base::MakeUnique<base::Value>(2), 0); |
254 WaitForPrefChange(pref_service.get(), kKey); | 257 WaitForPrefChange(pref_service.get(), kKey); |
255 EXPECT_EQ(2, pref_service->GetInteger(kKey)); | 258 EXPECT_EQ(2, pref_service->GetInteger(kKey)); |
256 | 259 |
257 pref_service->SetInteger(kKey, 3); | 260 pref_service->SetInteger(kKey, 3); |
258 EXPECT_EQ(2, pref_service->GetInteger(kKey)); | 261 EXPECT_EQ(2, pref_service->GetInteger(kKey)); |
259 } | 262 } |
260 | 263 |
261 } // namespace | 264 } // namespace |
262 } // namespace prefs | 265 } // namespace prefs |
OLD | NEW |