Chromium Code Reviews| Index: chrome/browser/extensions/api/storage/sync_or_local_value_store_cache.cc |
| diff --git a/chrome/browser/extensions/api/storage/sync_or_local_value_store_cache.cc b/chrome/browser/extensions/api/storage/sync_or_local_value_store_cache.cc |
| index f26bc2eeba57775d9fb5d358be87d73307c2777e..d17567548cd99fdc32184ccade4b84288071acfd 100644 |
| --- a/chrome/browser/extensions/api/storage/sync_or_local_value_store_cache.cc |
| +++ b/chrome/browser/extensions/api/storage/sync_or_local_value_store_cache.cc |
| @@ -8,9 +8,10 @@ |
| #include "base/callback.h" |
| #include "base/files/file_path.h" |
| #include "base/sequenced_task_runner.h" |
| -#include "chrome/browser/extensions/api/storage/settings_backend.h" |
| +#include "chrome/browser/extensions/api/storage/local_storage_backend.h" |
| #include "chrome/browser/extensions/api/storage/settings_frontend.h" |
| #include "chrome/browser/extensions/api/storage/settings_storage_quota_enforcer.h" |
| +#include "chrome/browser/extensions/api/storage/sync_storage_backend.h" |
| #include "chrome/browser/extensions/api/storage/weak_unlimited_settings_storage.h" |
| #include "chrome/browser/sync/glue/sync_start_util.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -47,16 +48,20 @@ SyncOrLocalValueStoreCache::~SyncOrLocalValueStoreCache() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| } |
| -SettingsBackend* SyncOrLocalValueStoreCache::GetAppBackend() const { |
| +syncer::SyncableService* SyncOrLocalValueStoreCache::GetSyncableService( |
| + syncer::ModelType type) const { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| - DCHECK(app_backend_.get()); |
| - return app_backend_.get(); |
| -} |
| - |
| -SettingsBackend* SyncOrLocalValueStoreCache::GetExtensionBackend() const { |
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
| - DCHECK(extension_backend_.get()); |
| - return extension_backend_.get(); |
| + switch (type) { |
| + case syncer::APP_SETTINGS: |
| + DCHECK(app_backend_.get()); |
|
not at google - send to devlin
2014/02/14 19:35:56
all this DCHECK'ing of backends looks weird. Let's
Devlin
2014/02/18 23:55:22
Done.
|
| + return app_backend_->GetAsSyncableService(); |
| + case syncer::EXTENSION_SETTINGS: |
| + DCHECK(extension_backend_.get()); |
| + return extension_backend_->GetAsSyncableService(); |
| + default: |
| + NOTREACHED(); |
| + return NULL; |
| + } |
| } |
| void SyncOrLocalValueStoreCache::RunWithValueStoreForExtension( |
| @@ -102,20 +107,31 @@ void SyncOrLocalValueStoreCache::InitOnFileThread( |
| DCHECK(!app_backend_.get()); |
| DCHECK(!extension_backend_.get()); |
| const bool local = settings_namespace_ == settings_namespace::LOCAL; |
|
not at google - send to devlin
2014/02/14 19:35:56
use switch
Devlin
2014/02/18 23:55:22
Done.
|
| - const base::FilePath app_path = profile_path.AppendASCII( |
| - local ? extensions::kLocalAppSettingsDirectoryName |
| - : extensions::kSyncAppSettingsDirectoryName); |
| - const base::FilePath extension_path = profile_path.AppendASCII( |
| - local ? extensions::kLocalExtensionSettingsDirectoryName |
| - : extensions::kSyncExtensionSettingsDirectoryName); |
| - app_backend_.reset(new SettingsBackend( |
| - factory, app_path, syncer::APP_SETTINGS, |
| - sync_start_util::GetFlareForSyncableService(profile_path), |
| - quota, observers)); |
| - extension_backend_.reset(new SettingsBackend( |
| - factory, extension_path, syncer::EXTENSION_SETTINGS, |
| - sync_start_util::GetFlareForSyncableService(profile_path), |
| - quota, observers)); |
| + if (local) { |
| + app_backend_.reset(new LocalStorageBackend( |
| + factory, |
| + profile_path.AppendASCII(kLocalAppSettingsDirectoryName), |
| + quota)); |
| + extension_backend_.reset(new LocalStorageBackend( |
| + factory, |
| + profile_path.AppendASCII(kLocalExtensionSettingsDirectoryName), |
| + quota)); |
| + } else { |
| + app_backend_.reset(new SyncStorageBackend( |
| + factory, |
| + profile_path.AppendASCII(kSyncAppSettingsDirectoryName), |
| + quota, |
| + observers, |
| + syncer::APP_SETTINGS, |
| + sync_start_util::GetFlareForSyncableService(profile_path))); |
| + extension_backend_.reset(new SyncStorageBackend( |
| + factory, |
| + profile_path.AppendASCII(kSyncExtensionSettingsDirectoryName), |
| + quota, |
| + observers, |
| + syncer::EXTENSION_SETTINGS, |
| + sync_start_util::GetFlareForSyncableService(profile_path))); |
| + } |
| } |
| } // namespace extensions |