diff options
16 files changed, 128 insertions, 203 deletions
diff --git a/chrome/browser/extensions/extension_settings_backend.cc b/chrome/browser/extensions/extension_settings_backend.cc index 843e328..7dacd2a 100644 --- a/chrome/browser/extensions/extension_settings_backend.cc +++ b/chrome/browser/extensions/extension_settings_backend.cc @@ -12,9 +12,9 @@ #include "base/memory/linked_ptr.h" #include "base/memory/scoped_ptr.h" #include "chrome/browser/extensions/extension_settings_leveldb_storage.h" -#include "chrome/browser/extensions/extension_settings_noop_storage.h" #include "chrome/browser/extensions/extension_settings_storage_cache.h" #include "chrome/browser/extensions/extension_settings_sync_util.h" +#include "chrome/browser/extensions/in_memory_extension_settings_storage.h" #include "chrome/common/extensions/extension.h" #include "content/browser/browser_thread.h" #include "third_party/leveldatabase/src/include/leveldb/iterator.h" @@ -41,89 +41,35 @@ SyncableExtensionSettingsStorage* ExtensionSettingsBackend::GetOrCreateStorageWithSyncData( const std::string& extension_id, const DictionaryValue& sync_data) const { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - SyncableExtensionSettingsStorage* storage = GetOrCreateAndInitStorage( - ExtensionSettingsStorage::LEVELDB, - true, - extension_id, - sync_data); - if (!storage) { - // Fall back to an in-memory storage area (cached NOOP). - // It's ok for these to be synced, it just means that on next starting up - // extensions will see the "old" settings, then overwritten (and notified) - // when the sync changes come through. - storage = GetOrCreateAndInitStorage( - ExtensionSettingsStorage::NOOP, - true, - extension_id, - sync_data); - DCHECK(storage); - } - return storage; -} - -ExtensionSettingsStorage* ExtensionSettingsBackend::GetStorageForTesting( - ExtensionSettingsStorage::Type type, - bool cached, - const std::string& extension_id) const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - DictionaryValue empty; - ExtensionSettingsStorage* storage = - GetOrCreateAndInitStorage(type, cached, extension_id, empty); - DCHECK(storage); - return storage; -} -SyncableExtensionSettingsStorage* -ExtensionSettingsBackend::GetOrCreateAndInitStorage( - ExtensionSettingsStorage::Type type, - bool cached, - const std::string& extension_id, - const DictionaryValue& initial_sync_data) const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - StorageObjMap::iterator existing = storage_objs_.find(extension_id); - if (existing != storage_objs_.end()) { - return existing->second.get(); + linked_ptr<SyncableExtensionSettingsStorage> syncable_storage = + storage_objs_[extension_id]; + if (syncable_storage.get()) { + return syncable_storage.get(); } - return CreateAndInitStorage(type, cached, extension_id, initial_sync_data); -} -SyncableExtensionSettingsStorage* -ExtensionSettingsBackend::CreateAndInitStorage( - ExtensionSettingsStorage::Type type, - bool cached, - const std::string& extension_id, - const DictionaryValue& initial_sync_data) const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - DCHECK_EQ(0u, storage_objs_.count(extension_id)); - ExtensionSettingsStorage* storage = NULL; - switch (type) { - case ExtensionSettingsStorage::NOOP: - storage = new ExtensionSettingsNoopStorage(); - break; - case ExtensionSettingsStorage::LEVELDB: - storage = ExtensionSettingsLeveldbStorage::Create( - base_path_, extension_id); - break; - default: - NOTREACHED(); - } - if (!storage) { - return NULL; - } - if (cached) { + ExtensionSettingsStorage* storage = + ExtensionSettingsLeveldbStorage::Create(base_path_, extension_id); + if (storage) { storage = new ExtensionSettingsStorageCache(storage); + } else { + // Failed to create a leveldb storage area, create an in-memory one. + // It's ok for these to be synced, it just means that on next starting up + // extensions will see the "old" settings, then overwritten (and notified) + // when the sync changes come through. + storage = new InMemoryExtensionSettingsStorage(); } - SyncableExtensionSettingsStorage* synced_storage = - new SyncableExtensionSettingsStorage(extension_id, storage); + syncable_storage = + linked_ptr<SyncableExtensionSettingsStorage>( + new SyncableExtensionSettingsStorage(extension_id, storage)); if (sync_processor_) { // TODO(kalman): do something if StartSyncing fails. - ignore_result( - synced_storage->StartSyncing(initial_sync_data, sync_processor_)); + ignore_result(syncable_storage->StartSyncing(sync_data, sync_processor_)); } - storage_objs_[extension_id] = - linked_ptr<SyncableExtensionSettingsStorage>(synced_storage); - return synced_storage; + + storage_objs_[extension_id] = syncable_storage; + return syncable_storage.get(); } std::set<std::string> ExtensionSettingsBackend::GetKnownExtensionIDs() const { diff --git a/chrome/browser/extensions/extension_settings_backend.h b/chrome/browser/extensions/extension_settings_backend.h index 4b11fadf..43b90a3 100644 --- a/chrome/browser/extensions/extension_settings_backend.h +++ b/chrome/browser/extensions/extension_settings_backend.h @@ -28,21 +28,12 @@ class ExtensionSettingsBackend : public SyncableService { // Gets a weak reference to the storage area for a given extension. // Must be run on the FILE thread. // - // By default this will be of a cached LEVELDB storage, but on failure to - // create a leveldb instance will fall back to cached NOOP storage. + // By default this will be an ExtensionSettingsLeveldbStorage, but on + // failure to create a leveldb instance will fall back to + // InMemoryExtensionSettingsStorage. ExtensionSettingsStorage* GetStorage( const std::string& extension_id) const; - // Gets a weak reference to the storage area for a given extension, with a - // specific type and whether it should be wrapped in a cache. - // - // Use this for testing; if the given type fails to be created (e.g. if - // leveldb creation fails) then a DCHECK will fail. - ExtensionSettingsStorage* GetStorageForTesting( - ExtensionSettingsStorage::Type type, - bool cached, - const std::string& extension_id) const; - // SyncableService implementation. virtual SyncDataList GetAllSyncData(syncable::ModelType type) const OVERRIDE; virtual SyncError MergeDataAndStartSyncing( @@ -63,23 +54,6 @@ class ExtensionSettingsBackend : public SyncableService { SyncableExtensionSettingsStorage* GetOrCreateStorageWithSyncData( const std::string& extension_id, const DictionaryValue& sync_data) const; - // If a storage area exists in the cache, returns the cached storage area. - // Otherwise tries to create one using CreateAndInitStorage. - SyncableExtensionSettingsStorage* GetOrCreateAndInitStorage( - ExtensionSettingsStorage::Type type, - bool cached, - const std::string& extension_id, - const DictionaryValue& initial_sync_data) const; - - // Creates a storage area of a given type, optionally wrapped in a cache. - // Returns NULL if creation fails. Otherwise, adds the new storage area to - // the cache and initializes sync if sync is enabled. - SyncableExtensionSettingsStorage* CreateAndInitStorage( - ExtensionSettingsStorage::Type type, - bool cached, - const std::string& extension_id, - const DictionaryValue& initial_sync_data) const; - // Gets all extension IDs known to extension settings. This may not be all // installed extensions. std::set<std::string> GetKnownExtensionIDs() const; diff --git a/chrome/browser/extensions/extension_settings_leveldb_storage_unittest.cc b/chrome/browser/extensions/extension_settings_leveldb_storage_unittest.cc index ff49d13..393a859 100644 --- a/chrome/browser/extensions/extension_settings_leveldb_storage_unittest.cc +++ b/chrome/browser/extensions/extension_settings_leveldb_storage_unittest.cc @@ -4,12 +4,13 @@ #include "chrome/browser/extensions/extension_settings_storage_unittest.h" +#include "chrome/browser/extensions/extension_settings_leveldb_storage.h" + namespace { ExtensionSettingsStorage* Param( - const ExtensionSettingsBackend& backend, const std::string& extension_id) { - return backend.GetStorageForTesting( - ExtensionSettingsStorage::LEVELDB, false, extension_id); + const FilePath& file_path, const std::string& extension_id) { + return ExtensionSettingsLeveldbStorage::Create(file_path, extension_id); } } // namespace diff --git a/chrome/browser/extensions/extension_settings_noop_storage.cc b/chrome/browser/extensions/extension_settings_noop_storage.cc deleted file mode 100644 index 3e1199b..0000000 --- a/chrome/browser/extensions/extension_settings_noop_storage.cc +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/extensions/extension_settings_noop_storage.h" - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Get( - const std::string& key) { - return Result(new DictionaryValue()); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Get( - const std::vector<std::string>& keys) { - return Result(new DictionaryValue()); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Get() { - return Result(new DictionaryValue()); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Set( - const std::string& key, const Value& value) { - DictionaryValue* settings = new DictionaryValue(); - settings->SetWithoutPathExpansion(key, value.DeepCopy()); - return Result(settings); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Set( - const DictionaryValue& settings) { - return Result(settings.DeepCopy()); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Remove( - const std::string& key) { - return Result(NULL); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Remove( - const std::vector<std::string>& keys) { - return Result(NULL); -} - -ExtensionSettingsStorage::Result ExtensionSettingsNoopStorage::Clear() { - return Result(NULL); -} diff --git a/chrome/browser/extensions/extension_settings_quota_unittest.cc b/chrome/browser/extensions/extension_settings_quota_unittest.cc index 49ec32f..213d0ac 100644 --- a/chrome/browser/extensions/extension_settings_quota_unittest.cc +++ b/chrome/browser/extensions/extension_settings_quota_unittest.cc @@ -11,7 +11,7 @@ #include "chrome/browser/extensions/extension_settings_backend.h" #include "chrome/browser/extensions/extension_settings_storage_cache.h" #include "chrome/browser/extensions/extension_settings_storage_quota_enforcer.h" -#include "chrome/browser/extensions/extension_settings_noop_storage.h" +#include "chrome/browser/extensions/in_memory_extension_settings_storage.h" class ExtensionSettingsQuotaUnittest : public testing::Test { public: @@ -21,7 +21,7 @@ class ExtensionSettingsQuotaUnittest : public testing::Test { byte_value_256_(new ListValue()), delegate_( new ExtensionSettingsStorageCache( - new ExtensionSettingsNoopStorage())) { + new InMemoryExtensionSettingsStorage())) { for (int i = 1; i < 89; ++i) { byte_value_256_->Append(Value::CreateIntegerValue(i)); } diff --git a/chrome/browser/extensions/extension_settings_storage.h b/chrome/browser/extensions/extension_settings_storage.h index 1a5311fe..e1393ca 100644 --- a/chrome/browser/extensions/extension_settings_storage.h +++ b/chrome/browser/extensions/extension_settings_storage.h @@ -16,13 +16,6 @@ // destructions. class ExtensionSettingsStorage { public: - // The different types of extension settings storage. - enum Type { - NONE, - NOOP, - LEVELDB - }; - // The result of an operation. // // Supports lightweight copying. diff --git a/chrome/browser/extensions/extension_settings_storage_cache.cc b/chrome/browser/extensions/extension_settings_storage_cache.cc index 2b5cedab..441cb5b 100644 --- a/chrome/browser/extensions/extension_settings_storage_cache.cc +++ b/chrome/browser/extensions/extension_settings_storage_cache.cc @@ -63,12 +63,6 @@ ExtensionSettingsStorage::Result ExtensionSettingsStorageCache::Get() { } cache_.MergeDictionary(result.GetSettings()); - // Hack so that the cached settings are used when the delegate is a no-op - // storage, in which case Get() will always return empty settings. - if (result.GetSettings()->empty()) { - return Result(cache_.DeepCopy()); - } - return result; } diff --git a/chrome/browser/extensions/extension_settings_cached_noop_storage_unittest.cc b/chrome/browser/extensions/extension_settings_storage_cache_unittest.cc index 71d9671..f14ca79 100644 --- a/chrome/browser/extensions/extension_settings_cached_noop_storage_unittest.cc +++ b/chrome/browser/extensions/extension_settings_storage_cache_unittest.cc @@ -4,17 +4,20 @@ #include "chrome/browser/extensions/extension_settings_storage_unittest.h" +#include "chrome/browser/extensions/extension_settings_storage_cache.h" +#include "chrome/browser/extensions/in_memory_extension_settings_storage.h" + namespace { ExtensionSettingsStorage* Param( - const ExtensionSettingsBackend& backend, const std::string& extension_id) { - return backend.GetStorageForTesting( - ExtensionSettingsStorage::NOOP, true, extension_id); + const FilePath& file_path, const std::string& extension_id) { + return new ExtensionSettingsStorageCache( + new InMemoryExtensionSettingsStorage()); } } // namespace INSTANTIATE_TEST_CASE_P( - ExtensionSettingsCachedNoopStorage, + ExtensionSettingsStorageCache, ExtensionSettingsStorageTest, testing::Values(&Param)); diff --git a/chrome/browser/extensions/extension_settings_storage_unittest.cc b/chrome/browser/extensions/extension_settings_storage_unittest.cc index bd8cf5b..5e4e5a2 100644 --- a/chrome/browser/extensions/extension_settings_storage_unittest.cc +++ b/chrome/browser/extensions/extension_settings_storage_unittest.cc @@ -7,7 +7,6 @@ #include "base/json/json_writer.h" #include "base/file_util.h" #include "base/values.h" -#include "chrome/browser/extensions/extension_settings_backend.h" // Gets the pretty-printed JSON for a value. static std::string GetJSON(const Value& value) { @@ -80,19 +79,10 @@ ExtensionSettingsStorageTest::~ExtensionSettingsStorageTest() {} void ExtensionSettingsStorageTest::SetUp() { ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); - // TODO(kalman): Use ExtensionSettingsFrontend here? It would test more code - // paths. - backend_.reset(new ExtensionSettingsBackend(temp_dir_.path())); - storage_ = (GetParam())(*backend_, "fakeExtension"); + storage_ = (GetParam())(temp_dir_.path(), "fakeExtension"); ASSERT_TRUE(storage_ != NULL); } -void ExtensionSettingsStorageTest::TearDown() { - // Must do this explicitly here so that it's destroyed before the - // message loops are. - backend_.reset(); -} - TEST_P(ExtensionSettingsStorageTest, GetWhenEmpty) { ASSERT_PRED_FORMAT2(SettingsEq, empty_dict_.get(), storage_->Get(key1_)); ASSERT_PRED_FORMAT2(SettingsEq, diff --git a/chrome/browser/extensions/extension_settings_storage_unittest.h b/chrome/browser/extensions/extension_settings_storage_unittest.h index a0c2610..51877ce 100644 --- a/chrome/browser/extensions/extension_settings_storage_unittest.h +++ b/chrome/browser/extensions/extension_settings_storage_unittest.h @@ -18,7 +18,7 @@ // Parameter type for the value-parameterized tests. typedef ExtensionSettingsStorage* (*ExtensionSettingsStorageTestParam)( - const ExtensionSettingsBackend& backend, const std::string& extension_id); + const FilePath& file_path, const std::string& extension_id); // Test fixture for ExtensionSettingsStorage tests. Tests are defined in // extension_settings_storage_unittest.cc with configurations for both cached @@ -30,7 +30,6 @@ class ExtensionSettingsStorageTest virtual ~ExtensionSettingsStorageTest(); virtual void SetUp() OVERRIDE; - virtual void TearDown() OVERRIDE; protected: ExtensionSettingsStorage* storage_; @@ -57,7 +56,6 @@ class ExtensionSettingsStorageTest private: ScopedTempDir temp_dir_; - scoped_ptr<ExtensionSettingsBackend> backend_; // Need these so that the DCHECKs for running on FILE or UI threads pass. MessageLoop message_loop_; diff --git a/chrome/browser/extensions/extension_settings_sync_unittest.cc b/chrome/browser/extensions/extension_settings_sync_unittest.cc index 1b69d7b..f9b34f9 100644 --- a/chrome/browser/extensions/extension_settings_sync_unittest.cc +++ b/chrome/browser/extensions/extension_settings_sync_unittest.cc @@ -13,7 +13,6 @@ #include "base/task.h" #include "chrome/browser/extensions/extension_settings_backend.h" #include "chrome/browser/extensions/extension_settings_storage_cache.h" -#include "chrome/browser/extensions/extension_settings_noop_storage.h" #include "chrome/browser/extensions/extension_settings_sync_util.h" #include "chrome/browser/extensions/syncable_extension_settings_storage.h" #include "chrome/browser/sync/api/sync_change_processor.h" diff --git a/chrome/browser/extensions/in_memory_extension_settings_storage.cc b/chrome/browser/extensions/in_memory_extension_settings_storage.cc new file mode 100644 index 0000000..f467f31 --- /dev/null +++ b/chrome/browser/extensions/in_memory_extension_settings_storage.cc @@ -0,0 +1,69 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/extensions/in_memory_extension_settings_storage.h" + +namespace { + +std::vector<std::string> CreateVector(const std::string& string) { + std::vector<std::string> strings; + strings.push_back(string); + return strings; +} + +} // namespace + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Get( + const std::string& key) { + return Get(CreateVector(key)); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Get( + const std::vector<std::string>& keys) { + DictionaryValue* settings = new DictionaryValue(); + for (std::vector<std::string>::const_iterator it = keys.begin(); + it != keys.end(); ++it) { + Value* value = NULL; + if (storage_.GetWithoutPathExpansion(*it, &value)) { + settings->SetWithoutPathExpansion(*it, value->DeepCopy()); + } + } + return Result(settings); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Get() { + return Result(storage_.DeepCopy()); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Set( + const std::string& key, const Value& value) { + DictionaryValue settings; + settings.SetWithoutPathExpansion(key, value.DeepCopy()); + return Set(settings); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Set( + const DictionaryValue& settings) { + storage_.MergeDictionary(&settings); + return Result(settings.DeepCopy()); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Remove( + const std::string& key) { + return Remove(CreateVector(key)); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Remove( + const std::vector<std::string>& keys) { + for (std::vector<std::string>::const_iterator it = keys.begin(); + it != keys.end(); ++it) { + storage_.RemoveWithoutPathExpansion(*it, NULL); + } + return Result(NULL); +} + +ExtensionSettingsStorage::Result InMemoryExtensionSettingsStorage::Clear() { + storage_.Clear(); + return Result(NULL); +} diff --git a/chrome/browser/extensions/extension_settings_noop_storage.h b/chrome/browser/extensions/in_memory_extension_settings_storage.h index 0396273..e879cfa 100644 --- a/chrome/browser/extensions/extension_settings_noop_storage.h +++ b/chrome/browser/extensions/in_memory_extension_settings_storage.h @@ -2,19 +2,17 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SETTINGS_NOOP_STORAGE_H_ -#define CHROME_BROWSER_EXTENSIONS_EXTENSION_SETTINGS_NOOP_STORAGE_H_ +#ifndef CHROME_BROWSER_EXTENSIONS_IN_MEMORY_EXTENSION_SETTINGS_STORAGE_H_ +#define CHROME_BROWSER_EXTENSIONS_IN_MEMORY_EXTENSION_SETTINGS_STORAGE_H_ #pragma once #include "base/compiler_specific.h" #include "chrome/browser/extensions/extension_settings_storage.h" -// Implementation of ExtensionSettingsStorage which does nothing, but behaves -// as though each Get/Set were successful. -// Intended to be wrapped by a Cache for trivial in-memory storage. -class ExtensionSettingsNoopStorage : public ExtensionSettingsStorage { +// In-memory storage, as opposed to ExtensionSettingsLeveldbStorage. +class InMemoryExtensionSettingsStorage : public ExtensionSettingsStorage { public: - ExtensionSettingsNoopStorage() {} + InMemoryExtensionSettingsStorage() {} // ExtensionSettingsStorage implementation. virtual Result Get(const std::string& key) OVERRIDE; @@ -27,7 +25,9 @@ class ExtensionSettingsNoopStorage : public ExtensionSettingsStorage { virtual Result Clear() OVERRIDE; private: - DISALLOW_COPY_AND_ASSIGN(ExtensionSettingsNoopStorage); + DictionaryValue storage_; + + DISALLOW_COPY_AND_ASSIGN(InMemoryExtensionSettingsStorage); }; -#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SETTINGS_NOOP_STORAGE_H_ +#endif // CHROME_BROWSER_EXTENSIONS_IN_MEMORY_EXTENSION_SETTINGS_STORAGE_H_ diff --git a/chrome/browser/extensions/extension_settings_cached_leveldb_storage_unittest.cc b/chrome/browser/extensions/in_memory_extension_settings_storage_unittest.cc index 436d806..723099d 100644 --- a/chrome/browser/extensions/extension_settings_cached_leveldb_storage_unittest.cc +++ b/chrome/browser/extensions/in_memory_extension_settings_storage_unittest.cc @@ -4,17 +4,18 @@ #include "chrome/browser/extensions/extension_settings_storage_unittest.h" +#include "chrome/browser/extensions/in_memory_extension_settings_storage.h" + namespace { ExtensionSettingsStorage* Param( - const ExtensionSettingsBackend& backend, const std::string& extension_id) { - return backend.GetStorageForTesting( - ExtensionSettingsStorage::LEVELDB, true, extension_id); + const FilePath& file_path, const std::string& extension_id) { + return new InMemoryExtensionSettingsStorage(); } } // namespace INSTANTIATE_TEST_CASE_P( - ExtensionSettingsCachedLeveldbStorage, + InMemoryExtensionSettingsStorage, ExtensionSettingsStorageTest, testing::Values(&Param)); diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index 3192607..3d1d683 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -1089,8 +1089,6 @@ 'browser/extensions/extension_settings_frontend.h', 'browser/extensions/extension_settings_api.cc', 'browser/extensions/extension_settings_api.h', - 'browser/extensions/extension_settings_noop_storage.cc', - 'browser/extensions/extension_settings_noop_storage.h', 'browser/extensions/extension_settings_storage.cc', 'browser/extensions/extension_settings_storage.h', 'browser/extensions/extension_settings_storage_cache.cc', @@ -1178,6 +1176,8 @@ 'browser/extensions/file_reader.h', 'browser/extensions/image_loading_tracker.cc', 'browser/extensions/image_loading_tracker.h', + 'browser/extensions/in_memory_extension_settings_storage.cc', + 'browser/extensions/in_memory_extension_settings_storage.h', 'browser/extensions/key_identifier_conversion_views.cc', 'browser/extensions/key_identifier_conversion_views.h', 'browser/extensions/pack_extension_job.cc', diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index 4728861..a3bd85e 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -1053,6 +1053,7 @@ '../third_party/cld/cld.gyp:cld', '../third_party/icu/icu.gyp:icui18n', '../third_party/icu/icu.gyp:icuuc', + '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', '../third_party/libjingle/libjingle.gyp:libjingle', '../third_party/libxml/libxml.gyp:libxml', '../ui/gfx/gl/gl.gyp:gl', @@ -1248,10 +1249,9 @@ 'browser/extensions/extension_prefs_unittest.cc', 'browser/extensions/extension_process_manager_unittest.cc', 'browser/extensions/extension_proxy_api_helpers_unittest.cc', - 'browser/extensions/extension_settings_cached_leveldb_storage_unittest.cc', - 'browser/extensions/extension_settings_cached_noop_storage_unittest.cc', 'browser/extensions/extension_settings_leveldb_storage_unittest.cc', 'browser/extensions/extension_settings_quota_unittest.cc', + 'browser/extensions/extension_settings_storage_cache_unittest.cc', 'browser/extensions/extension_settings_storage_unittest.h', 'browser/extensions/extension_settings_storage_unittest.cc', 'browser/extensions/extension_settings_sync_unittest.cc', @@ -1268,6 +1268,7 @@ 'browser/extensions/external_policy_extension_loader_unittest.cc', 'browser/extensions/file_reader_unittest.cc', 'browser/extensions/image_loading_tracker_unittest.cc', + 'browser/extensions/in_memory_extension_settings_storage_unittest.cc', 'browser/extensions/key_identifier_conversion_views_unittest.cc', 'browser/extensions/sandboxed_extension_unpacker_unittest.cc', 'browser/extensions/user_script_listener_unittest.cc', @@ -2993,6 +2994,7 @@ '../testing/gmock.gyp:gmock', '../testing/gtest.gyp:gtest', '../third_party/bzip2/bzip2.gyp:bzip2', + '../third_party/leveldatabase/leveldatabase.gyp:leveldatabase', '../third_party/libjingle/libjingle.gyp:libjingle', 'profile_import', 'syncapi_core', |