| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "extensions/browser/value_store/test_value_store_factory.h" | 5 #include "extensions/browser/value_store/test_value_store_factory.h" |
| 6 | 6 |
| 7 #include "base/memory/ptr_util.h" |
| 7 #include "extensions/browser/value_store/leveldb_value_store.h" | 8 #include "extensions/browser/value_store/leveldb_value_store.h" |
| 8 #include "extensions/browser/value_store/testing_value_store.h" | 9 #include "extensions/browser/value_store/testing_value_store.h" |
| 9 | 10 |
| 10 namespace { | 11 namespace { |
| 11 | 12 |
| 12 const char kUMAClientName[] = "Test"; | 13 const char kUMAClientName[] = "Test"; |
| 13 | 14 |
| 14 } // namespace | 15 } // namespace |
| 15 | 16 |
| 16 namespace extensions { | 17 namespace extensions { |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 return nullptr; | 95 return nullptr; |
| 95 } | 96 } |
| 96 | 97 |
| 97 TestValueStoreFactory::TestValueStoreFactory() = default; | 98 TestValueStoreFactory::TestValueStoreFactory() = default; |
| 98 | 99 |
| 99 TestValueStoreFactory::TestValueStoreFactory(const base::FilePath& db_path) | 100 TestValueStoreFactory::TestValueStoreFactory(const base::FilePath& db_path) |
| 100 : db_path_(db_path) {} | 101 : db_path_(db_path) {} |
| 101 | 102 |
| 102 TestValueStoreFactory::~TestValueStoreFactory() {} | 103 TestValueStoreFactory::~TestValueStoreFactory() {} |
| 103 | 104 |
| 104 scoped_ptr<ValueStore> TestValueStoreFactory::CreateRulesStore() { | 105 std::unique_ptr<ValueStore> TestValueStoreFactory::CreateRulesStore() { |
| 105 if (db_path_.empty()) | 106 if (db_path_.empty()) |
| 106 last_created_store_ = new TestingValueStore(); | 107 last_created_store_ = new TestingValueStore(); |
| 107 else | 108 else |
| 108 last_created_store_ = new LeveldbValueStore(kUMAClientName, db_path_); | 109 last_created_store_ = new LeveldbValueStore(kUMAClientName, db_path_); |
| 109 return make_scoped_ptr(last_created_store_); | 110 return base::WrapUnique(last_created_store_); |
| 110 } | 111 } |
| 111 | 112 |
| 112 scoped_ptr<ValueStore> TestValueStoreFactory::CreateStateStore() { | 113 std::unique_ptr<ValueStore> TestValueStoreFactory::CreateStateStore() { |
| 113 return CreateRulesStore(); | 114 return CreateRulesStore(); |
| 114 } | 115 } |
| 115 | 116 |
| 116 TestValueStoreFactory::StorageHelper& TestValueStoreFactory::GetStorageHelper( | 117 TestValueStoreFactory::StorageHelper& TestValueStoreFactory::GetStorageHelper( |
| 117 SettingsNamespace settings_namespace) { | 118 SettingsNamespace settings_namespace) { |
| 118 switch (settings_namespace) { | 119 switch (settings_namespace) { |
| 119 case settings_namespace::LOCAL: | 120 case settings_namespace::LOCAL: |
| 120 return local_helper_; | 121 return local_helper_; |
| 121 case settings_namespace::SYNC: | 122 case settings_namespace::SYNC: |
| 122 return sync_helper_; | 123 return sync_helper_; |
| 123 case settings_namespace::MANAGED: | 124 case settings_namespace::MANAGED: |
| 124 return managed_helper_; | 125 return managed_helper_; |
| 125 case settings_namespace::INVALID: | 126 case settings_namespace::INVALID: |
| 126 break; | 127 break; |
| 127 } | 128 } |
| 128 NOTREACHED(); | 129 NOTREACHED(); |
| 129 return local_helper_; | 130 return local_helper_; |
| 130 } | 131 } |
| 131 | 132 |
| 132 scoped_ptr<ValueStore> TestValueStoreFactory::CreateSettingsStore( | 133 std::unique_ptr<ValueStore> TestValueStoreFactory::CreateSettingsStore( |
| 133 SettingsNamespace settings_namespace, | 134 SettingsNamespace settings_namespace, |
| 134 ModelType model_type, | 135 ModelType model_type, |
| 135 const ExtensionId& extension_id) { | 136 const ExtensionId& extension_id) { |
| 136 scoped_ptr<ValueStore> settings_store(CreateRulesStore()); | 137 std::unique_ptr<ValueStore> settings_store(CreateRulesStore()); |
| 137 // Note: This factory is purposely keeping the raw pointers to each ValueStore | 138 // Note: This factory is purposely keeping the raw pointers to each ValueStore |
| 138 // created. Tests using TestValueStoreFactory must be careful to keep | 139 // created. Tests using TestValueStoreFactory must be careful to keep |
| 139 // those ValueStore's alive for the duration of their test. | 140 // those ValueStore's alive for the duration of their test. |
| 140 GetStorageHelper(settings_namespace) | 141 GetStorageHelper(settings_namespace) |
| 141 .AddValueStore(extension_id, settings_store.get(), model_type); | 142 .AddValueStore(extension_id, settings_store.get(), model_type); |
| 142 return settings_store; | 143 return settings_store; |
| 143 } | 144 } |
| 144 | 145 |
| 145 ValueStore* TestValueStoreFactory::LastCreatedStore() const { | 146 ValueStore* TestValueStoreFactory::LastCreatedStore() const { |
| 146 return last_created_store_; | 147 return last_created_store_; |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 } | 182 } |
| 182 | 183 |
| 183 void TestValueStoreFactory::Reset() { | 184 void TestValueStoreFactory::Reset() { |
| 184 last_created_store_ = nullptr; | 185 last_created_store_ = nullptr; |
| 185 local_helper_.Reset(); | 186 local_helper_.Reset(); |
| 186 sync_helper_.Reset(); | 187 sync_helper_.Reset(); |
| 187 managed_helper_.Reset(); | 188 managed_helper_.Reset(); |
| 188 } | 189 } |
| 189 | 190 |
| 190 } // namespace extensions | 191 } // namespace extensions |
| OLD | NEW |