Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Unified Diff: chrome/browser/sync/glue/extension_setting_data_type_controller.cc

Issue 9264062: [Sync] Consolidate DataTypeController methods that post on the backend thread (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add suppressions Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/extension_setting_data_type_controller.cc
diff --git a/chrome/browser/sync/glue/extension_setting_data_type_controller.cc b/chrome/browser/sync/glue/extension_setting_data_type_controller.cc
index e48b4d7eb4130a7ebdb18b0d5f1127803d3fcb88..08bfae170719c2746ca579b91f94439bd4761cc8 100644
--- a/chrome/browser/sync/glue/extension_setting_data_type_controller.cc
+++ b/chrome/browser/sync/glue/extension_setting_data_type_controller.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/sync/glue/extension_setting_data_type_controller.h"
+#include "base/bind.h"
#include "base/metrics/histogram.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/settings/settings_frontend.h"
@@ -45,33 +46,24 @@ ExtensionSettingDataTypeController::model_safe_group() const {
return browser_sync::GROUP_FILE;
}
-bool ExtensionSettingDataTypeController::StartModels() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- profile_->InitExtensions(true);
- return true;
-}
-
-bool ExtensionSettingDataTypeController::StartAssociationAsync() {
+bool ExtensionSettingDataTypeController::PostTaskOnBackendThread(
+ const tracked_objects::Location& from_here,
+ const base::Closure& task) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK_EQ(state(), ASSOCIATING);
DCHECK(profile_->GetExtensionService());
profile_->GetExtensionService()->settings_frontend()->RunWithSyncableService(
type_,
base::Bind(
- &ExtensionSettingDataTypeController::
- StartAssociationWithExtensionSettingsService,
- this));
+ &ExtensionSettingDataTypeController::RunTaskOnBackendThread,
+ this,
+ task));
return true;
}
-void ExtensionSettingDataTypeController::
- StartAssociationWithExtensionSettingsService(
- SyncableService* settings_service) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
- settings_service_ = settings_service;
- // Calls CreateSyncComponents, which expects settings_service_ to be
- // non-NULL.
- StartAssociation();
+bool ExtensionSettingDataTypeController::StartModels() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ profile_->InitExtensions(true);
+ return true;
}
void ExtensionSettingDataTypeController::CreateSyncComponents() {
@@ -85,20 +77,6 @@ void ExtensionSettingDataTypeController::CreateSyncComponents() {
set_change_processor(sync_components.change_processor);
}
-bool ExtensionSettingDataTypeController::StopAssociationAsync() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- DCHECK_EQ(state(), STOPPING);
- if (!BrowserThread::PostTask(
- BrowserThread::FILE,
- FROM_HERE,
- base::Bind(
- &ExtensionSettingDataTypeController::StopAssociation,
- this))) {
- NOTREACHED();
- }
- return true;
-}
-
void ExtensionSettingDataTypeController::RecordUnrecoverableError(
const tracked_objects::Location& from_here,
const std::string& message) {
@@ -116,4 +94,13 @@ void ExtensionSettingDataTypeController::RecordStartFailure(
"Sync.ExtensionSettingStartFailures", result, MAX_START_RESULT);
}
+void ExtensionSettingDataTypeController::RunTaskOnBackendThread(
+ const base::Closure& task,
+ SyncableService* settings_service) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
+ // Store |settings_service| so that |task| can use it.
+ settings_service_ = settings_service;
+ task.Run();
+}
+
} // namespace browser_sync

Powered by Google App Engine
This is Rietveld 408576698