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

Side by Side Diff: chrome/browser/sync/profile_sync_factory_impl.cc

Issue 7775008: Enable sync for the settings from the Extension Settings API. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Reordering Created 9 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "chrome/browser/extensions/extension_service.h" 6 #include "chrome/browser/extensions/extension_service.h"
7 #include "chrome/browser/extensions/extension_settings.h"
7 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/sync/api/syncable_service.h" 9 #include "chrome/browser/sync/api/syncable_service.h"
9 #include "chrome/browser/sync/glue/app_data_type_controller.h" 10 #include "chrome/browser/sync/glue/app_data_type_controller.h"
10 #include "chrome/browser/sync/glue/autofill_change_processor.h" 11 #include "chrome/browser/sync/glue/autofill_change_processor.h"
11 #include "chrome/browser/sync/glue/autofill_data_type_controller.h" 12 #include "chrome/browser/sync/glue/autofill_data_type_controller.h"
12 #include "chrome/browser/sync/glue/autofill_model_associator.h" 13 #include "chrome/browser/sync/glue/autofill_model_associator.h"
13 #include "chrome/browser/sync/glue/autofill_profile_change_processor.h" 14 #include "chrome/browser/sync/glue/autofill_profile_change_processor.h"
14 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h" 15 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h"
15 #include "chrome/browser/sync/glue/autofill_profile_model_associator.h" 16 #include "chrome/browser/sync/glue/autofill_profile_model_associator.h"
16 #include "chrome/browser/sync/glue/bookmark_change_processor.h" 17 #include "chrome/browser/sync/glue/bookmark_change_processor.h"
17 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h" 18 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h"
18 #include "chrome/browser/sync/glue/bookmark_model_associator.h" 19 #include "chrome/browser/sync/glue/bookmark_model_associator.h"
19 #include "chrome/browser/sync/glue/data_type_manager_impl.h" 20 #include "chrome/browser/sync/glue/data_type_manager_impl.h"
20 #include "chrome/browser/sync/glue/extension_data_type_controller.h" 21 #include "chrome/browser/sync/glue/extension_data_type_controller.h"
22 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h"
21 #include "chrome/browser/sync/glue/generic_change_processor.h" 23 #include "chrome/browser/sync/glue/generic_change_processor.h"
22 #include "chrome/browser/sync/glue/password_change_processor.h" 24 #include "chrome/browser/sync/glue/password_change_processor.h"
23 #include "chrome/browser/sync/glue/password_data_type_controller.h" 25 #include "chrome/browser/sync/glue/password_data_type_controller.h"
24 #include "chrome/browser/sync/glue/password_model_associator.h" 26 #include "chrome/browser/sync/glue/password_model_associator.h"
25 #include "chrome/browser/sync/glue/preference_data_type_controller.h" 27 #include "chrome/browser/sync/glue/preference_data_type_controller.h"
26 #include "chrome/browser/sync/glue/session_change_processor.h" 28 #include "chrome/browser/sync/glue/session_change_processor.h"
27 #include "chrome/browser/sync/glue/session_data_type_controller.h" 29 #include "chrome/browser/sync/glue/session_data_type_controller.h"
28 #include "chrome/browser/sync/glue/session_model_associator.h" 30 #include "chrome/browser/sync/glue/session_model_associator.h"
29 #include "chrome/browser/sync/glue/syncable_service_adapter.h" 31 #include "chrome/browser/sync/glue/syncable_service_adapter.h"
30 #include "chrome/browser/sync/glue/sync_backend_host.h" 32 #include "chrome/browser/sync/glue/sync_backend_host.h"
(...skipping 17 matching lines...) Expand all
48 using browser_sync::AutofillProfileDataTypeController; 50 using browser_sync::AutofillProfileDataTypeController;
49 using browser_sync::AutofillModelAssociator; 51 using browser_sync::AutofillModelAssociator;
50 using browser_sync::AutofillProfileModelAssociator; 52 using browser_sync::AutofillProfileModelAssociator;
51 using browser_sync::BookmarkChangeProcessor; 53 using browser_sync::BookmarkChangeProcessor;
52 using browser_sync::BookmarkDataTypeController; 54 using browser_sync::BookmarkDataTypeController;
53 using browser_sync::BookmarkModelAssociator; 55 using browser_sync::BookmarkModelAssociator;
54 using browser_sync::DataTypeController; 56 using browser_sync::DataTypeController;
55 using browser_sync::DataTypeManager; 57 using browser_sync::DataTypeManager;
56 using browser_sync::DataTypeManagerImpl; 58 using browser_sync::DataTypeManagerImpl;
57 using browser_sync::ExtensionDataTypeController; 59 using browser_sync::ExtensionDataTypeController;
60 using browser_sync::ExtensionSettingDataTypeController;
58 using browser_sync::GenericChangeProcessor; 61 using browser_sync::GenericChangeProcessor;
59 using browser_sync::PasswordChangeProcessor; 62 using browser_sync::PasswordChangeProcessor;
60 using browser_sync::PasswordDataTypeController; 63 using browser_sync::PasswordDataTypeController;
61 using browser_sync::PasswordModelAssociator; 64 using browser_sync::PasswordModelAssociator;
62 using browser_sync::PreferenceDataTypeController; 65 using browser_sync::PreferenceDataTypeController;
63 using browser_sync::SessionChangeProcessor; 66 using browser_sync::SessionChangeProcessor;
64 using browser_sync::SessionDataTypeController; 67 using browser_sync::SessionDataTypeController;
65 using browser_sync::SessionModelAssociator; 68 using browser_sync::SessionModelAssociator;
66 using browser_sync::SyncBackendHost; 69 using browser_sync::SyncBackendHost;
67 using browser_sync::ThemeChangeProcessor; 70 using browser_sync::ThemeChangeProcessor;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 new TypedUrlDataTypeController(this, profile_)); 146 new TypedUrlDataTypeController(this, profile_));
144 } 147 }
145 148
146 // Session sync is disabled by default. Register only if explicitly 149 // Session sync is disabled by default. Register only if explicitly
147 // enabled. 150 // enabled.
148 if (command_line_->HasSwitch(switches::kEnableSyncSessions)) { 151 if (command_line_->HasSwitch(switches::kEnableSyncSessions)) {
149 pss->RegisterDataTypeController( 152 pss->RegisterDataTypeController(
150 new SessionDataTypeController(this, profile_, pss)); 153 new SessionDataTypeController(this, profile_, pss));
151 } 154 }
152 155
156 // Extension setting sync is disabled by default. Register only if
157 // explicitly enabled.
158 if (command_line_->HasSwitch(switches::kEnableSyncExtensionSettings)) {
159 pss->RegisterDataTypeController(
160 new ExtensionSettingDataTypeController(this, profile_, pss));
161 }
162
153 if (!command_line_->HasSwitch(switches::kDisableSyncAutofillProfile)) { 163 if (!command_line_->HasSwitch(switches::kDisableSyncAutofillProfile)) {
154 pss->RegisterDataTypeController( 164 pss->RegisterDataTypeController(
155 new AutofillProfileDataTypeController(this, profile_)); 165 new AutofillProfileDataTypeController(this, profile_));
156 } 166 }
157 } 167 }
158 168
159 DataTypeManager* ProfileSyncFactoryImpl::CreateDataTypeManager( 169 DataTypeManager* ProfileSyncFactoryImpl::CreateDataTypeManager(
160 SyncBackendHost* backend, 170 SyncBackendHost* backend,
161 const DataTypeController::TypeMap* controllers) { 171 const DataTypeController::TypeMap* controllers) {
162 return new DataTypeManagerImpl(backend, controllers); 172 return new DataTypeManagerImpl(backend, controllers);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 new BookmarkModelAssociator(bookmark_model, 237 new BookmarkModelAssociator(bookmark_model,
228 user_share, 238 user_share,
229 error_handler); 239 error_handler);
230 BookmarkChangeProcessor* change_processor = 240 BookmarkChangeProcessor* change_processor =
231 new BookmarkChangeProcessor(model_associator, 241 new BookmarkChangeProcessor(model_associator,
232 error_handler); 242 error_handler);
233 return SyncComponents(model_associator, change_processor); 243 return SyncComponents(model_associator, change_processor);
234 } 244 }
235 245
236 ProfileSyncFactory::SyncComponents 246 ProfileSyncFactory::SyncComponents
247 ProfileSyncFactoryImpl::CreateExtensionSettingSyncComponents(
248 ProfileSyncService* profile_sync_service,
249 UnrecoverableErrorHandler* error_handler) {
250 SyncableService* sync_service =
251 profile_->GetExtensionService()->extension_settings();
252 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
253 GenericChangeProcessor* change_processor =
254 new GenericChangeProcessor(sync_service, error_handler, user_share);
255 browser_sync::SyncableServiceAdapter* sync_service_adapter =
256 new browser_sync::SyncableServiceAdapter(syncable::EXTENSION_SETTINGS,
257 sync_service,
258 change_processor);
259 return SyncComponents(sync_service_adapter, change_processor);
260 }
261
262 ProfileSyncFactory::SyncComponents
237 ProfileSyncFactoryImpl::CreateExtensionSyncComponents( 263 ProfileSyncFactoryImpl::CreateExtensionSyncComponents(
238 ProfileSyncService* profile_sync_service, 264 ProfileSyncService* profile_sync_service,
239 UnrecoverableErrorHandler* error_handler) { 265 UnrecoverableErrorHandler* error_handler) {
240 SyncableService* extension_sync_service = 266 SyncableService* extension_sync_service =
241 profile_sync_service->profile()->GetExtensionService(); 267 profile_sync_service->profile()->GetExtensionService();
242 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 268 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
243 GenericChangeProcessor* change_processor = 269 GenericChangeProcessor* change_processor =
244 new GenericChangeProcessor(extension_sync_service, error_handler, 270 new GenericChangeProcessor(extension_sync_service, error_handler,
245 user_share); 271 user_share);
246 browser_sync::SyncableServiceAdapter* sync_service_adapter = 272 browser_sync::SyncableServiceAdapter* sync_service_adapter =
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 ProfileSyncFactory::SyncComponents 336 ProfileSyncFactory::SyncComponents
311 ProfileSyncFactoryImpl::CreateSessionSyncComponents( 337 ProfileSyncFactoryImpl::CreateSessionSyncComponents(
312 ProfileSyncService* profile_sync_service, 338 ProfileSyncService* profile_sync_service,
313 UnrecoverableErrorHandler* error_handler) { 339 UnrecoverableErrorHandler* error_handler) {
314 SessionModelAssociator* model_associator = 340 SessionModelAssociator* model_associator =
315 new SessionModelAssociator(profile_sync_service); 341 new SessionModelAssociator(profile_sync_service);
316 SessionChangeProcessor* change_processor = 342 SessionChangeProcessor* change_processor =
317 new SessionChangeProcessor(error_handler, model_associator); 343 new SessionChangeProcessor(error_handler, model_associator);
318 return SyncComponents(model_associator, change_processor); 344 return SyncComponents(model_associator, change_processor);
319 } 345 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698