| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/sync/profile_sync_components_factory_impl.h" | 5 #include "chrome/browser/sync/profile_sync_components_factory_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/prefs/pref_service.h" |
| 8 #include "build/build_config.h" | 9 #include "build/build_config.h" |
| 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
| 10 #include "chrome/browser/dom_distiller/dom_distiller_service_factory.h" | |
| 11 #include "chrome/browser/history/history_service_factory.h" | |
| 12 #include "chrome/browser/password_manager/password_store_factory.h" | |
| 13 #include "chrome/browser/pref_service_flags_storage.h" | |
| 14 #include "chrome/browser/prefs/pref_model_associator.h" | |
| 15 #include "chrome/browser/prefs/pref_service_syncable.h" | |
| 16 #include "chrome/browser/profiles/profile.h" | 11 #include "chrome/browser/profiles/profile.h" |
| 17 #include "chrome/browser/search_engines/template_url_service_factory.h" | |
| 18 #include "chrome/browser/signin/signin_manager_factory.h" | |
| 19 #include "chrome/browser/sync/chrome_sync_client.h" | |
| 20 #include "chrome/browser/sync/glue/autofill_data_type_controller.h" | 12 #include "chrome/browser/sync/glue/autofill_data_type_controller.h" |
| 21 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h" | 13 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h" |
| 22 #include "chrome/browser/sync/glue/autofill_wallet_data_type_controller.h" | 14 #include "chrome/browser/sync/glue/autofill_wallet_data_type_controller.h" |
| 23 #include "chrome/browser/sync/glue/bookmark_change_processor.h" | 15 #include "chrome/browser/sync/glue/bookmark_change_processor.h" |
| 24 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h" | 16 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h" |
| 25 #include "chrome/browser/sync/glue/bookmark_model_associator.h" | 17 #include "chrome/browser/sync/glue/bookmark_model_associator.h" |
| 26 #include "chrome/browser/sync/glue/chrome_report_unrecoverable_error.h" | 18 #include "chrome/browser/sync/glue/chrome_report_unrecoverable_error.h" |
| 27 #include "chrome/browser/sync/glue/history_delete_directives_data_type_controlle
r.h" | 19 #include "chrome/browser/sync/glue/history_delete_directives_data_type_controlle
r.h" |
| 28 #include "chrome/browser/sync/glue/local_device_info_provider_impl.h" | 20 #include "chrome/browser/sync/glue/local_device_info_provider_impl.h" |
| 29 #include "chrome/browser/sync/glue/password_data_type_controller.h" | 21 #include "chrome/browser/sync/glue/password_data_type_controller.h" |
| 30 #include "chrome/browser/sync/glue/search_engine_data_type_controller.h" | 22 #include "chrome/browser/sync/glue/search_engine_data_type_controller.h" |
| 31 #include "chrome/browser/sync/glue/sync_backend_host.h" | 23 #include "chrome/browser/sync/glue/sync_backend_host.h" |
| 32 #include "chrome/browser/sync/glue/sync_backend_host_impl.h" | 24 #include "chrome/browser/sync/glue/sync_backend_host_impl.h" |
| 33 #include "chrome/browser/sync/glue/theme_data_type_controller.h" | 25 #include "chrome/browser/sync/glue/theme_data_type_controller.h" |
| 34 #include "chrome/browser/sync/glue/typed_url_change_processor.h" | 26 #include "chrome/browser/sync/glue/typed_url_change_processor.h" |
| 35 #include "chrome/browser/sync/glue/typed_url_data_type_controller.h" | 27 #include "chrome/browser/sync/glue/typed_url_data_type_controller.h" |
| 36 #include "chrome/browser/sync/profile_sync_service.h" | 28 #include "chrome/browser/sync/profile_sync_service.h" |
| 37 #include "chrome/browser/sync/profile_sync_service_factory.h" | |
| 38 #include "chrome/browser/sync/sessions/session_data_type_controller.h" | 29 #include "chrome/browser/sync/sessions/session_data_type_controller.h" |
| 39 #include "chrome/browser/themes/theme_service.h" | |
| 40 #include "chrome/browser/themes/theme_service_factory.h" | |
| 41 #include "chrome/browser/themes/theme_syncable_service.h" | |
| 42 #include "chrome/browser/web_data_service_factory.h" | |
| 43 #include "chrome/common/chrome_switches.h" | 30 #include "chrome/common/chrome_switches.h" |
| 44 #include "chrome/common/pref_names.h" | 31 #include "chrome/common/pref_names.h" |
| 45 #include "components/autofill/core/browser/webdata/autocomplete_syncable_service
.h" | |
| 46 #include "components/autofill/core/browser/webdata/autofill_profile_syncable_ser
vice.h" | |
| 47 #include "components/autofill/core/browser/webdata/autofill_wallet_metadata_sync
able_service.h" | |
| 48 #include "components/autofill/core/browser/webdata/autofill_wallet_syncable_serv
ice.h" | |
| 49 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" | |
| 50 #include "components/autofill/core/common/autofill_pref_names.h" | 32 #include "components/autofill/core/common/autofill_pref_names.h" |
| 51 #include "components/autofill/core/common/autofill_switches.h" | 33 #include "components/autofill/core/common/autofill_switches.h" |
| 52 #include "components/dom_distiller/core/dom_distiller_features.h" | 34 #include "components/dom_distiller/core/dom_distiller_features.h" |
| 53 #include "components/dom_distiller/core/dom_distiller_service.h" | |
| 54 #include "components/history/core/browser/history_service.h" | |
| 55 #include "components/password_manager/core/browser/password_store.h" | |
| 56 #include "components/search_engines/template_url_service.h" | |
| 57 #include "components/signin/core/browser/signin_manager.h" | |
| 58 #include "components/sync_driver/data_type_manager_impl.h" | 35 #include "components/sync_driver/data_type_manager_impl.h" |
| 59 #include "components/sync_driver/data_type_manager_observer.h" | |
| 60 #include "components/sync_driver/device_info_data_type_controller.h" | 36 #include "components/sync_driver/device_info_data_type_controller.h" |
| 61 #include "components/sync_driver/generic_change_processor.h" | |
| 62 #include "components/sync_driver/glue/typed_url_model_associator.h" | 37 #include "components/sync_driver/glue/typed_url_model_associator.h" |
| 63 #include "components/sync_driver/proxy_data_type_controller.h" | 38 #include "components/sync_driver/proxy_data_type_controller.h" |
| 64 #include "components/sync_driver/shared_change_processor.h" | |
| 65 #include "components/sync_driver/ui_data_type_controller.h" | 39 #include "components/sync_driver/ui_data_type_controller.h" |
| 66 #include "content/public/browser/browser_thread.h" | 40 #include "content/public/browser/browser_thread.h" |
| 41 #include "google_apis/gaia/oauth2_token_service.h" |
| 67 #include "google_apis/gaia/oauth2_token_service_request.h" | 42 #include "google_apis/gaia/oauth2_token_service_request.h" |
| 68 #include "net/url_request/url_request_context_getter.h" | 43 #include "net/url_request/url_request_context_getter.h" |
| 69 #include "sync/api/syncable_service.h" | |
| 70 #include "sync/internal_api/public/attachments/attachment_downloader.h" | 44 #include "sync/internal_api/public/attachments/attachment_downloader.h" |
| 71 #include "sync/internal_api/public/attachments/attachment_service.h" | 45 #include "sync/internal_api/public/attachments/attachment_service.h" |
| 72 #include "sync/internal_api/public/attachments/attachment_service_impl.h" | 46 #include "sync/internal_api/public/attachments/attachment_service_impl.h" |
| 73 #include "sync/internal_api/public/attachments/attachment_uploader_impl.h" | 47 #include "sync/internal_api/public/attachments/attachment_uploader_impl.h" |
| 74 | 48 |
| 75 #if defined(ENABLE_APP_LIST) | 49 #if defined(ENABLE_APP_LIST) |
| 76 #include "chrome/browser/ui/app_list/app_list_syncable_service.h" | |
| 77 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h" | |
| 78 #include "ui/app_list/app_list_switches.h" | 50 #include "ui/app_list/app_list_switches.h" |
| 79 #endif | 51 #endif |
| 80 | 52 |
| 81 #if defined(ENABLE_EXTENSIONS) | 53 #if defined(ENABLE_EXTENSIONS) |
| 82 #include "chrome/browser/extensions/api/storage/settings_sync_util.h" | |
| 83 #include "chrome/browser/extensions/extension_sync_service.h" | |
| 84 #include "chrome/browser/sync/glue/extension_data_type_controller.h" | 54 #include "chrome/browser/sync/glue/extension_data_type_controller.h" |
| 85 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h" | 55 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h" |
| 86 #endif | 56 #endif |
| 87 | 57 |
| 88 #if defined(ENABLE_SUPERVISED_USERS) | 58 #if defined(ENABLE_SUPERVISED_USERS) |
| 89 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service.h" | |
| 90 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service_factory.h" | |
| 91 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service.h" | |
| 92 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service_fac
tory.h" | |
| 93 #include "chrome/browser/supervised_user/supervised_user_service.h" | |
| 94 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" | |
| 95 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" | |
| 96 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor
y.h" | |
| 97 #include "chrome/browser/supervised_user/supervised_user_sync_data_type_controll
er.h" | 59 #include "chrome/browser/supervised_user/supervised_user_sync_data_type_controll
er.h" |
| 98 #include "chrome/browser/supervised_user/supervised_user_whitelist_service.h" | |
| 99 #endif | |
| 100 | |
| 101 #if defined(ENABLE_SPELLCHECK) | |
| 102 #include "chrome/browser/spellchecker/spellcheck_factory.h" | |
| 103 #include "chrome/browser/spellchecker/spellcheck_service.h" | |
| 104 #endif | |
| 105 | |
| 106 #if defined(OS_CHROMEOS) | |
| 107 #include "components/wifi_sync/wifi_credential_syncable_service.h" | |
| 108 #include "components/wifi_sync/wifi_credential_syncable_service_factory.h" | |
| 109 #endif | 60 #endif |
| 110 | 61 |
| 111 using bookmarks::BookmarkModel; | 62 using bookmarks::BookmarkModel; |
| 112 using browser_sync::AutofillDataTypeController; | 63 using browser_sync::AutofillDataTypeController; |
| 113 using browser_sync::AutofillProfileDataTypeController; | 64 using browser_sync::AutofillProfileDataTypeController; |
| 114 using browser_sync::BookmarkChangeProcessor; | 65 using browser_sync::BookmarkChangeProcessor; |
| 115 using browser_sync::BookmarkDataTypeController; | 66 using browser_sync::BookmarkDataTypeController; |
| 116 using browser_sync::BookmarkModelAssociator; | 67 using browser_sync::BookmarkModelAssociator; |
| 117 using browser_sync::ChromeReportUnrecoverableError; | 68 using browser_sync::ChromeReportUnrecoverableError; |
| 118 #if defined(ENABLE_EXTENSIONS) | 69 #if defined(ENABLE_EXTENSIONS) |
| (...skipping 10 matching lines...) Expand all Loading... |
| 129 using browser_sync::TypedUrlDataTypeController; | 80 using browser_sync::TypedUrlDataTypeController; |
| 130 using browser_sync::TypedUrlModelAssociator; | 81 using browser_sync::TypedUrlModelAssociator; |
| 131 using content::BrowserThread; | 82 using content::BrowserThread; |
| 132 using sync_driver::DataTypeController; | 83 using sync_driver::DataTypeController; |
| 133 using sync_driver::DataTypeErrorHandler; | 84 using sync_driver::DataTypeErrorHandler; |
| 134 using sync_driver::DataTypeManager; | 85 using sync_driver::DataTypeManager; |
| 135 using sync_driver::DataTypeManagerImpl; | 86 using sync_driver::DataTypeManagerImpl; |
| 136 using sync_driver::DataTypeManagerObserver; | 87 using sync_driver::DataTypeManagerObserver; |
| 137 using sync_driver::DeviceInfoDataTypeController; | 88 using sync_driver::DeviceInfoDataTypeController; |
| 138 using sync_driver::ProxyDataTypeController; | 89 using sync_driver::ProxyDataTypeController; |
| 139 using sync_driver::SharedChangeProcessor; | |
| 140 using sync_driver::UIDataTypeController; | 90 using sync_driver::UIDataTypeController; |
| 141 | 91 |
| 142 namespace { | 92 namespace { |
| 143 | 93 |
| 144 syncer::ModelTypeSet GetDisabledTypesFromCommandLine( | 94 syncer::ModelTypeSet GetDisabledTypesFromCommandLine( |
| 145 const base::CommandLine& command_line) { | 95 const base::CommandLine& command_line) { |
| 146 syncer::ModelTypeSet disabled_types; | 96 syncer::ModelTypeSet disabled_types; |
| 147 std::string disabled_types_str = | 97 std::string disabled_types_str = |
| 148 command_line.GetSwitchValueASCII(switches::kDisableSyncTypes); | 98 command_line.GetSwitchValueASCII(switches::kDisableSyncTypes); |
| 149 | 99 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 174 } // namespace | 124 } // namespace |
| 175 | 125 |
| 176 ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl( | 126 ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl( |
| 177 Profile* profile, | 127 Profile* profile, |
| 178 base::CommandLine* command_line, | 128 base::CommandLine* command_line, |
| 179 const GURL& sync_service_url, | 129 const GURL& sync_service_url, |
| 180 OAuth2TokenService* token_service, | 130 OAuth2TokenService* token_service, |
| 181 net::URLRequestContextGetter* url_request_context_getter) | 131 net::URLRequestContextGetter* url_request_context_getter) |
| 182 : profile_(profile), | 132 : profile_(profile), |
| 183 command_line_(command_line), | 133 command_line_(command_line), |
| 184 web_data_service_(WebDataServiceFactory::GetAutofillWebDataForProfile( | |
| 185 profile_, | |
| 186 ServiceAccessType::EXPLICIT_ACCESS)), | |
| 187 sync_service_url_(sync_service_url), | 134 sync_service_url_(sync_service_url), |
| 188 token_service_(token_service), | 135 token_service_(token_service), |
| 189 url_request_context_getter_(url_request_context_getter), | 136 url_request_context_getter_(url_request_context_getter), |
| 190 chrome_sync_client_(profile_, this), | 137 chrome_sync_client_(profile_, this), |
| 191 weak_factory_(this) { | 138 weak_factory_(this) { |
| 192 DCHECK(token_service_); | 139 DCHECK(token_service_); |
| 193 DCHECK(url_request_context_getter_); | 140 DCHECK(url_request_context_getter_); |
| 194 } | 141 } |
| 195 | 142 |
| 196 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() { | 143 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() { |
| 197 } | 144 } |
| 198 | 145 |
| 199 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( | 146 void ProfileSyncComponentsFactoryImpl::Initialize( |
| 200 ProfileSyncService* pss) { | 147 sync_driver::SyncService* sync_service) { |
| 148 chrome_sync_client_.Initialize(sync_service); |
| 149 } |
| 150 |
| 151 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes() { |
| 201 syncer::ModelTypeSet disabled_types = | 152 syncer::ModelTypeSet disabled_types = |
| 202 GetDisabledTypesFromCommandLine(*command_line_); | 153 GetDisabledTypesFromCommandLine(*command_line_); |
| 203 syncer::ModelTypeSet enabled_types = | 154 syncer::ModelTypeSet enabled_types = |
| 204 GetEnabledTypesFromCommandLine(*command_line_); | 155 GetEnabledTypesFromCommandLine(*command_line_); |
| 205 RegisterCommonDataTypes(disabled_types, enabled_types, pss); | 156 RegisterCommonDataTypes(disabled_types, enabled_types); |
| 206 #if !defined(OS_ANDROID) | 157 #if !defined(OS_ANDROID) |
| 207 RegisterDesktopDataTypes(disabled_types, enabled_types, pss); | 158 RegisterDesktopDataTypes(disabled_types, enabled_types); |
| 208 #endif | 159 #endif |
| 209 } | 160 } |
| 210 | 161 |
| 211 void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( | 162 void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
| 212 syncer::ModelTypeSet disabled_types, | 163 syncer::ModelTypeSet disabled_types, |
| 213 syncer::ModelTypeSet enabled_types, | 164 syncer::ModelTypeSet enabled_types) { |
| 214 ProfileSyncService* pss) { | 165 sync_driver::SyncService* sync_service = chrome_sync_client_.GetSyncService(); |
| 166 |
| 215 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? | 167 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? |
| 216 pss->RegisterDataTypeController(new DeviceInfoDataTypeController( | 168 sync_service->RegisterDataTypeController(new DeviceInfoDataTypeController( |
| 217 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 169 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 218 base::Bind(&ChromeReportUnrecoverableError), | 170 base::Bind(&ChromeReportUnrecoverableError), |
| 219 &chrome_sync_client_, | 171 &chrome_sync_client_, |
| 220 pss->GetLocalDeviceInfoProvider())); | 172 sync_service->GetLocalDeviceInfoProvider())); |
| 221 | 173 |
| 222 // Autofill sync is enabled by default. Register unless explicitly | 174 // Autofill sync is enabled by default. Register unless explicitly |
| 223 // disabled. | 175 // disabled. |
| 224 if (!disabled_types.Has(syncer::AUTOFILL)) { | 176 if (!disabled_types.Has(syncer::AUTOFILL)) { |
| 225 pss->RegisterDataTypeController( | 177 sync_service->RegisterDataTypeController( |
| 226 new AutofillDataTypeController(&chrome_sync_client_, profile_)); | 178 new AutofillDataTypeController(&chrome_sync_client_)); |
| 227 } | 179 } |
| 228 | 180 |
| 229 // Autofill profile sync is enabled by default. Register unless explicitly | 181 // Autofill profile sync is enabled by default. Register unless explicitly |
| 230 // disabled. | 182 // disabled. |
| 231 if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) { | 183 if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) { |
| 232 pss->RegisterDataTypeController( | 184 sync_service->RegisterDataTypeController( |
| 233 new AutofillProfileDataTypeController(&chrome_sync_client_, profile_)); | 185 new AutofillProfileDataTypeController(&chrome_sync_client_)); |
| 234 } | 186 } |
| 235 | 187 |
| 236 // Wallet data sync is enabled by default, but behind a syncer experiment | 188 // Wallet data sync is enabled by default, but behind a syncer experiment |
| 237 // enforced by the datatype controller. Register unless explicitly disabled. | 189 // enforced by the datatype controller. Register unless explicitly disabled. |
| 238 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); | 190 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); |
| 239 if (!wallet_disabled) { | 191 if (!wallet_disabled) { |
| 240 pss->RegisterDataTypeController( | 192 sync_service->RegisterDataTypeController( |
| 241 new browser_sync::AutofillWalletDataTypeController( | 193 new browser_sync::AutofillWalletDataTypeController( |
| 242 &chrome_sync_client_, profile_, syncer::AUTOFILL_WALLET_DATA)); | 194 &chrome_sync_client_, syncer::AUTOFILL_WALLET_DATA)); |
| 243 } | 195 } |
| 244 | 196 |
| 245 // Wallet metadata sync depends on Wallet data sync and is disabled by | 197 // Wallet metadata sync depends on Wallet data sync and is disabled by |
| 246 // default. Register if Wallet data is syncing and metadata sync is explicitly | 198 // default. Register if Wallet data is syncing and metadata sync is explicitly |
| 247 // enabled. | 199 // enabled. |
| 248 if (!wallet_disabled && enabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { | 200 if (!wallet_disabled && enabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { |
| 249 pss->RegisterDataTypeController( | 201 sync_service->RegisterDataTypeController( |
| 250 new browser_sync::AutofillWalletDataTypeController( | 202 new browser_sync::AutofillWalletDataTypeController( |
| 251 &chrome_sync_client_, profile_, syncer::AUTOFILL_WALLET_METADATA)); | 203 &chrome_sync_client_, syncer::AUTOFILL_WALLET_METADATA)); |
| 252 } | 204 } |
| 253 | 205 |
| 254 // Bookmark sync is enabled by default. Register unless explicitly | 206 // Bookmark sync is enabled by default. Register unless explicitly |
| 255 // disabled. | 207 // disabled. |
| 256 if (!disabled_types.Has(syncer::BOOKMARKS)) { | 208 if (!disabled_types.Has(syncer::BOOKMARKS)) { |
| 257 pss->RegisterDataTypeController( | 209 sync_service->RegisterDataTypeController( |
| 258 new BookmarkDataTypeController(&chrome_sync_client_, profile_, pss)); | 210 new BookmarkDataTypeController(&chrome_sync_client_)); |
| 259 } | 211 } |
| 260 | 212 |
| 261 const bool history_disabled = | 213 const bool history_disabled = |
| 262 profile_->GetPrefs()->GetBoolean(prefs::kSavingBrowserHistoryDisabled); | 214 profile_->GetPrefs()->GetBoolean(prefs::kSavingBrowserHistoryDisabled); |
| 263 // TypedUrl sync is enabled by default. Register unless explicitly disabled, | 215 // TypedUrl sync is enabled by default. Register unless explicitly disabled, |
| 264 // or if saving history is disabled. | 216 // or if saving history is disabled. |
| 265 if (!disabled_types.Has(syncer::TYPED_URLS) && !history_disabled) { | 217 if (!disabled_types.Has(syncer::TYPED_URLS) && !history_disabled) { |
| 266 pss->RegisterDataTypeController( | 218 sync_service->RegisterDataTypeController( |
| 267 new TypedUrlDataTypeController(&chrome_sync_client_, profile_, pss)); | 219 new TypedUrlDataTypeController(&chrome_sync_client_)); |
| 268 } | 220 } |
| 269 | 221 |
| 270 // Delete directive sync is enabled by default. Register unless full history | 222 // Delete directive sync is enabled by default. Register unless full history |
| 271 // sync is disabled. | 223 // sync is disabled. |
| 272 if (!disabled_types.Has(syncer::HISTORY_DELETE_DIRECTIVES) && | 224 if (!disabled_types.Has(syncer::HISTORY_DELETE_DIRECTIVES) && |
| 273 !history_disabled) { | 225 !history_disabled) { |
| 274 pss->RegisterDataTypeController( | 226 sync_service->RegisterDataTypeController( |
| 275 new HistoryDeleteDirectivesDataTypeController(&chrome_sync_client_, | 227 new HistoryDeleteDirectivesDataTypeController(&chrome_sync_client_)); |
| 276 pss)); | |
| 277 } | 228 } |
| 278 | 229 |
| 279 // Session sync is enabled by default. Register unless explicitly disabled. | 230 // Session sync is enabled by default. Register unless explicitly disabled. |
| 280 // This is also disabled if the browser history is disabled, because the | 231 // This is also disabled if the browser history is disabled, because the |
| 281 // tab sync data is added to the web history on the server. | 232 // tab sync data is added to the web history on the server. |
| 282 if (!disabled_types.Has(syncer::PROXY_TABS) && !history_disabled) { | 233 if (!disabled_types.Has(syncer::PROXY_TABS) && !history_disabled) { |
| 283 pss->RegisterDataTypeController(new ProxyDataTypeController( | 234 sync_service->RegisterDataTypeController(new ProxyDataTypeController( |
| 284 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 235 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 285 syncer::PROXY_TABS)); | 236 syncer::PROXY_TABS)); |
| 286 pss->RegisterDataTypeController( | 237 // TODO(zea): remove this once SyncedWindowDelegateGetter is componentized. |
| 287 new SessionDataTypeController(&chrome_sync_client_, | 238 // For now, we know that the implementation of SyncService is always a |
| 288 profile_, | 239 // ProfileSyncService at this level. |
| 289 pss->GetSyncedWindowDelegatesGetter(), | 240 ProfileSyncService* pss = static_cast<ProfileSyncService*>(sync_service); |
| 290 pss->GetLocalDeviceInfoProvider())); | 241 sync_service->RegisterDataTypeController(new SessionDataTypeController( |
| 242 &chrome_sync_client_, profile_, pss->GetSyncedWindowDelegatesGetter(), |
| 243 sync_service->GetLocalDeviceInfoProvider())); |
| 291 } | 244 } |
| 292 | 245 |
| 293 // Favicon sync is enabled by default. Register unless explicitly disabled. | 246 // Favicon sync is enabled by default. Register unless explicitly disabled. |
| 294 if (!disabled_types.Has(syncer::FAVICON_IMAGES) && | 247 if (!disabled_types.Has(syncer::FAVICON_IMAGES) && |
| 295 !disabled_types.Has(syncer::FAVICON_TRACKING) && | 248 !disabled_types.Has(syncer::FAVICON_TRACKING) && |
| 296 !history_disabled) { | 249 !history_disabled) { |
| 297 // crbug/384552. We disable error uploading for this data types for now. | 250 // crbug/384552. We disable error uploading for this data types for now. |
| 298 pss->RegisterDataTypeController( | 251 sync_service->RegisterDataTypeController( |
| 299 new UIDataTypeController( | 252 new UIDataTypeController( |
| 300 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 253 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 301 base::Closure(), | 254 base::Closure(), |
| 302 syncer::FAVICON_IMAGES, | 255 syncer::FAVICON_IMAGES, |
| 303 &chrome_sync_client_)); | 256 &chrome_sync_client_)); |
| 304 pss->RegisterDataTypeController( | 257 sync_service->RegisterDataTypeController( |
| 305 new UIDataTypeController( | 258 new UIDataTypeController( |
| 306 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 259 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 307 base::Closure(), | 260 base::Closure(), |
| 308 syncer::FAVICON_TRACKING, | 261 syncer::FAVICON_TRACKING, |
| 309 &chrome_sync_client_)); | 262 &chrome_sync_client_)); |
| 310 } | 263 } |
| 311 | 264 |
| 312 // Password sync is enabled by default. Register unless explicitly | 265 // Password sync is enabled by default. Register unless explicitly |
| 313 // disabled. | 266 // disabled. |
| 314 if (!disabled_types.Has(syncer::PASSWORDS)) { | 267 if (!disabled_types.Has(syncer::PASSWORDS)) { |
| 315 pss->RegisterDataTypeController( | 268 sync_service->RegisterDataTypeController( |
| 316 new PasswordDataTypeController(&chrome_sync_client_, profile_)); | 269 new PasswordDataTypeController(&chrome_sync_client_, profile_)); |
| 317 } | 270 } |
| 318 | 271 |
| 319 if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) { | 272 if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) { |
| 320 pss->RegisterDataTypeController( | 273 sync_service->RegisterDataTypeController( |
| 321 new UIDataTypeController( | 274 new UIDataTypeController( |
| 322 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 275 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 323 base::Bind(&ChromeReportUnrecoverableError), | 276 base::Bind(&ChromeReportUnrecoverableError), |
| 324 syncer::PRIORITY_PREFERENCES, | 277 syncer::PRIORITY_PREFERENCES, |
| 325 &chrome_sync_client_)); | 278 &chrome_sync_client_)); |
| 326 } | 279 } |
| 327 | 280 |
| 328 // Article sync is disabled by default. Register only if explicitly enabled. | 281 // Article sync is disabled by default. Register only if explicitly enabled. |
| 329 if (dom_distiller::IsEnableSyncArticlesSet()) { | 282 if (dom_distiller::IsEnableSyncArticlesSet()) { |
| 330 pss->RegisterDataTypeController( | 283 sync_service->RegisterDataTypeController( |
| 331 new UIDataTypeController( | 284 new UIDataTypeController( |
| 332 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 285 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 333 base::Bind(&ChromeReportUnrecoverableError), | 286 base::Bind(&ChromeReportUnrecoverableError), |
| 334 syncer::ARTICLES, | 287 syncer::ARTICLES, |
| 335 &chrome_sync_client_)); | 288 &chrome_sync_client_)); |
| 336 } | 289 } |
| 337 | 290 |
| 338 #if defined(ENABLE_SUPERVISED_USERS) | 291 #if defined(ENABLE_SUPERVISED_USERS) |
| 339 pss->RegisterDataTypeController( | 292 sync_service->RegisterDataTypeController( |
| 340 new SupervisedUserSyncDataTypeController( | 293 new SupervisedUserSyncDataTypeController( |
| 341 syncer::SUPERVISED_USER_SETTINGS, | 294 syncer::SUPERVISED_USER_SETTINGS, |
| 342 this, | 295 &chrome_sync_client_, |
| 343 profile_)); | 296 profile_)); |
| 344 pss->RegisterDataTypeController( | 297 sync_service->RegisterDataTypeController( |
| 345 new SupervisedUserSyncDataTypeController( | 298 new SupervisedUserSyncDataTypeController( |
| 346 syncer::SUPERVISED_USER_WHITELISTS, | 299 syncer::SUPERVISED_USER_WHITELISTS, |
| 347 this, | 300 &chrome_sync_client_, |
| 348 profile_)); | 301 profile_)); |
| 349 #endif | 302 #endif |
| 350 } | 303 } |
| 351 | 304 |
| 352 void ProfileSyncComponentsFactoryImpl::RegisterDesktopDataTypes( | 305 void ProfileSyncComponentsFactoryImpl::RegisterDesktopDataTypes( |
| 353 syncer::ModelTypeSet disabled_types, | 306 syncer::ModelTypeSet disabled_types, |
| 354 syncer::ModelTypeSet enabled_types, | 307 syncer::ModelTypeSet enabled_types) { |
| 355 ProfileSyncService* pss) { | 308 sync_driver::SyncService* sync_service = chrome_sync_client_.GetSyncService(); |
| 309 |
| 356 #if defined(ENABLE_EXTENSIONS) | 310 #if defined(ENABLE_EXTENSIONS) |
| 357 // App sync is enabled by default. Register unless explicitly | 311 // App sync is enabled by default. Register unless explicitly |
| 358 // disabled. | 312 // disabled. |
| 359 if (!disabled_types.Has(syncer::APPS)) { | 313 if (!disabled_types.Has(syncer::APPS)) { |
| 360 pss->RegisterDataTypeController(new ExtensionDataTypeController( | 314 sync_service->RegisterDataTypeController(new ExtensionDataTypeController( |
| 361 syncer::APPS, &chrome_sync_client_, profile_)); | 315 syncer::APPS, &chrome_sync_client_, profile_)); |
| 362 } | 316 } |
| 363 | 317 |
| 364 // Extension sync is enabled by default. Register unless explicitly | 318 // Extension sync is enabled by default. Register unless explicitly |
| 365 // disabled. | 319 // disabled. |
| 366 if (!disabled_types.Has(syncer::EXTENSIONS)) { | 320 if (!disabled_types.Has(syncer::EXTENSIONS)) { |
| 367 pss->RegisterDataTypeController(new ExtensionDataTypeController( | 321 sync_service->RegisterDataTypeController(new ExtensionDataTypeController( |
| 368 syncer::EXTENSIONS, &chrome_sync_client_, profile_)); | 322 syncer::EXTENSIONS, &chrome_sync_client_, profile_)); |
| 369 } | 323 } |
| 370 #endif | 324 #endif |
| 371 | 325 |
| 372 // Preference sync is enabled by default. Register unless explicitly | 326 // Preference sync is enabled by default. Register unless explicitly |
| 373 // disabled. | 327 // disabled. |
| 374 if (!disabled_types.Has(syncer::PREFERENCES)) { | 328 if (!disabled_types.Has(syncer::PREFERENCES)) { |
| 375 pss->RegisterDataTypeController( | 329 sync_service->RegisterDataTypeController( |
| 376 new UIDataTypeController( | 330 new UIDataTypeController( |
| 377 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 331 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 378 base::Bind(&ChromeReportUnrecoverableError), | 332 base::Bind(&ChromeReportUnrecoverableError), |
| 379 syncer::PREFERENCES, | 333 syncer::PREFERENCES, |
| 380 &chrome_sync_client_)); | 334 &chrome_sync_client_)); |
| 381 } | 335 } |
| 382 | 336 |
| 383 #if defined(ENABLE_THEMES) | 337 #if defined(ENABLE_THEMES) |
| 384 // Theme sync is enabled by default. Register unless explicitly disabled. | 338 // Theme sync is enabled by default. Register unless explicitly disabled. |
| 385 if (!disabled_types.Has(syncer::THEMES)) { | 339 if (!disabled_types.Has(syncer::THEMES)) { |
| 386 pss->RegisterDataTypeController( | 340 sync_service->RegisterDataTypeController( |
| 387 new ThemeDataTypeController(&chrome_sync_client_, profile_)); | 341 new ThemeDataTypeController(&chrome_sync_client_, profile_)); |
| 388 } | 342 } |
| 389 #endif | 343 #endif |
| 390 | 344 |
| 391 // Search Engine sync is enabled by default. Register unless explicitly | 345 // Search Engine sync is enabled by default. Register unless explicitly |
| 392 // disabled. | 346 // disabled. |
| 393 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { | 347 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { |
| 394 pss->RegisterDataTypeController( | 348 sync_service->RegisterDataTypeController( |
| 395 new SearchEngineDataTypeController(&chrome_sync_client_, profile_)); | 349 new SearchEngineDataTypeController(&chrome_sync_client_, profile_)); |
| 396 } | 350 } |
| 397 | 351 |
| 398 #if defined(ENABLE_EXTENSIONS) | 352 #if defined(ENABLE_EXTENSIONS) |
| 399 // Extension setting sync is enabled by default. Register unless explicitly | 353 // Extension setting sync is enabled by default. Register unless explicitly |
| 400 // disabled. | 354 // disabled. |
| 401 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { | 355 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { |
| 402 pss->RegisterDataTypeController(new ExtensionSettingDataTypeController( | 356 sync_service->RegisterDataTypeController( |
| 403 syncer::EXTENSION_SETTINGS, &chrome_sync_client_, profile_)); | 357 new ExtensionSettingDataTypeController(syncer::EXTENSION_SETTINGS, |
| 358 &chrome_sync_client_, profile_)); |
| 404 } | 359 } |
| 405 | 360 |
| 406 // App setting sync is enabled by default. Register unless explicitly | 361 // App setting sync is enabled by default. Register unless explicitly |
| 407 // disabled. | 362 // disabled. |
| 408 if (!disabled_types.Has(syncer::APP_SETTINGS)) { | 363 if (!disabled_types.Has(syncer::APP_SETTINGS)) { |
| 409 pss->RegisterDataTypeController(new ExtensionSettingDataTypeController( | 364 sync_service->RegisterDataTypeController( |
| 410 syncer::APP_SETTINGS, &chrome_sync_client_, profile_)); | 365 new ExtensionSettingDataTypeController(syncer::APP_SETTINGS, |
| 366 &chrome_sync_client_, profile_)); |
| 411 } | 367 } |
| 412 #endif | 368 #endif |
| 413 | 369 |
| 414 #if defined(ENABLE_APP_LIST) | 370 #if defined(ENABLE_APP_LIST) |
| 415 if (app_list::switches::IsAppListSyncEnabled()) { | 371 if (app_list::switches::IsAppListSyncEnabled()) { |
| 416 pss->RegisterDataTypeController( | 372 sync_service->RegisterDataTypeController( |
| 417 new UIDataTypeController( | 373 new UIDataTypeController( |
| 418 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 374 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 419 base::Bind(&ChromeReportUnrecoverableError), | 375 base::Bind(&ChromeReportUnrecoverableError), |
| 420 syncer::APP_LIST, | 376 syncer::APP_LIST, |
| 421 &chrome_sync_client_)); | 377 &chrome_sync_client_)); |
| 422 } | 378 } |
| 423 #endif | 379 #endif |
| 424 | 380 |
| 425 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) | 381 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) |
| 426 // Dictionary sync is enabled by default. | 382 // Dictionary sync is enabled by default. |
| 427 if (!disabled_types.Has(syncer::DICTIONARY)) { | 383 if (!disabled_types.Has(syncer::DICTIONARY)) { |
| 428 pss->RegisterDataTypeController( | 384 sync_service->RegisterDataTypeController( |
| 429 new UIDataTypeController( | 385 new UIDataTypeController( |
| 430 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 386 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 431 base::Bind(&ChromeReportUnrecoverableError), | 387 base::Bind(&ChromeReportUnrecoverableError), |
| 432 syncer::DICTIONARY, | 388 syncer::DICTIONARY, |
| 433 &chrome_sync_client_)); | 389 &chrome_sync_client_)); |
| 434 } | 390 } |
| 435 #endif | 391 #endif |
| 436 | 392 |
| 437 #if defined(ENABLE_SUPERVISED_USERS) | 393 #if defined(ENABLE_SUPERVISED_USERS) |
| 438 pss->RegisterDataTypeController( | 394 sync_service->RegisterDataTypeController( |
| 439 new SupervisedUserSyncDataTypeController( | 395 new SupervisedUserSyncDataTypeController( |
| 440 syncer::SUPERVISED_USERS, | 396 syncer::SUPERVISED_USERS, |
| 441 this, | 397 &chrome_sync_client_, |
| 442 profile_)); | 398 profile_)); |
| 443 pss->RegisterDataTypeController( | 399 sync_service->RegisterDataTypeController( |
| 444 new SupervisedUserSyncDataTypeController( | 400 new SupervisedUserSyncDataTypeController( |
| 445 syncer::SUPERVISED_USER_SHARED_SETTINGS, | 401 syncer::SUPERVISED_USER_SHARED_SETTINGS, |
| 446 this, | 402 &chrome_sync_client_, |
| 447 profile_)); | 403 profile_)); |
| 448 #endif | 404 #endif |
| 449 | 405 |
| 450 #if defined(OS_CHROMEOS) | 406 #if defined(OS_CHROMEOS) |
| 451 if (command_line_->HasSwitch(switches::kEnableWifiCredentialSync) && | 407 if (command_line_->HasSwitch(switches::kEnableWifiCredentialSync) && |
| 452 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { | 408 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { |
| 453 pss->RegisterDataTypeController( | 409 sync_service->RegisterDataTypeController( |
| 454 new UIDataTypeController( | 410 new UIDataTypeController( |
| 455 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 411 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
| 456 base::Bind(&ChromeReportUnrecoverableError), | 412 base::Bind(&ChromeReportUnrecoverableError), |
| 457 syncer::WIFI_CREDENTIALS, | 413 syncer::WIFI_CREDENTIALS, |
| 458 &chrome_sync_client_)); | 414 &chrome_sync_client_)); |
| 459 } | 415 } |
| 460 #endif | 416 #endif |
| 461 } | 417 } |
| 462 | 418 |
| 463 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( | 419 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( |
| 464 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& | 420 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& |
| 465 debug_info_listener, | 421 debug_info_listener, |
| 466 const DataTypeController::TypeMap* controllers, | 422 const DataTypeController::TypeMap* controllers, |
| 467 const sync_driver::DataTypeEncryptionHandler* encryption_handler, | 423 const sync_driver::DataTypeEncryptionHandler* encryption_handler, |
| 468 SyncBackendHost* backend, | 424 SyncBackendHost* backend, |
| 469 DataTypeManagerObserver* observer) { | 425 DataTypeManagerObserver* observer) { |
| 470 return new DataTypeManagerImpl(base::Bind(ChromeReportUnrecoverableError), | 426 return new DataTypeManagerImpl(base::Bind(ChromeReportUnrecoverableError), |
| 471 debug_info_listener, | 427 debug_info_listener, |
| 472 controllers, | 428 controllers, |
| 473 encryption_handler, | 429 encryption_handler, |
| 474 backend, | 430 backend, |
| 475 observer); | 431 observer); |
| 476 } | 432 } |
| 477 | 433 |
| 478 browser_sync::SyncBackendHost* | 434 browser_sync::SyncBackendHost* |
| 479 ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( | 435 ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( |
| 480 const std::string& name, | 436 const std::string& name, |
| 481 Profile* profile, | |
| 482 invalidation::InvalidationService* invalidator, | 437 invalidation::InvalidationService* invalidator, |
| 483 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, | 438 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, |
| 484 const base::FilePath& sync_folder) { | 439 const base::FilePath& sync_folder) { |
| 485 return new browser_sync::SyncBackendHostImpl(name, profile, invalidator, | 440 return new browser_sync::SyncBackendHostImpl(name, profile_, invalidator, |
| 486 sync_prefs, sync_folder); | 441 sync_prefs, sync_folder); |
| 487 } | 442 } |
| 488 | 443 |
| 489 scoped_ptr<sync_driver::LocalDeviceInfoProvider> | 444 scoped_ptr<sync_driver::LocalDeviceInfoProvider> |
| 490 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { | 445 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { |
| 491 return scoped_ptr<sync_driver::LocalDeviceInfoProvider>( | 446 return scoped_ptr<sync_driver::LocalDeviceInfoProvider>( |
| 492 new browser_sync::LocalDeviceInfoProviderImpl()); | 447 new browser_sync::LocalDeviceInfoProviderImpl()); |
| 493 } | 448 } |
| 494 | 449 |
| 495 class TokenServiceProvider | 450 class TokenServiceProvider |
| (...skipping 26 matching lines...) Expand all Loading... |
| 522 | 477 |
| 523 scoped_refptr<base::SingleThreadTaskRunner> | 478 scoped_refptr<base::SingleThreadTaskRunner> |
| 524 TokenServiceProvider::GetTokenServiceTaskRunner() { | 479 TokenServiceProvider::GetTokenServiceTaskRunner() { |
| 525 return task_runner_; | 480 return task_runner_; |
| 526 } | 481 } |
| 527 | 482 |
| 528 OAuth2TokenService* TokenServiceProvider::GetTokenService() { | 483 OAuth2TokenService* TokenServiceProvider::GetTokenService() { |
| 529 return token_service_; | 484 return token_service_; |
| 530 } | 485 } |
| 531 | 486 |
| 532 base::WeakPtr<syncer::SyncableService> | |
| 533 ProfileSyncComponentsFactoryImpl::GetSyncableServiceForType( | |
| 534 syncer::ModelType type) { | |
| 535 return chrome_sync_client_.GetSyncableServiceForType(type); | |
| 536 } | |
| 537 | |
| 538 scoped_ptr<syncer::AttachmentService> | 487 scoped_ptr<syncer::AttachmentService> |
| 539 ProfileSyncComponentsFactoryImpl::CreateAttachmentService( | 488 ProfileSyncComponentsFactoryImpl::CreateAttachmentService( |
| 540 scoped_ptr<syncer::AttachmentStoreForSync> attachment_store, | 489 scoped_ptr<syncer::AttachmentStoreForSync> attachment_store, |
| 541 const syncer::UserShare& user_share, | 490 const syncer::UserShare& user_share, |
| 542 const std::string& store_birthday, | 491 const std::string& store_birthday, |
| 543 syncer::ModelType model_type, | 492 syncer::ModelType model_type, |
| 544 syncer::AttachmentService::Delegate* delegate) { | 493 syncer::AttachmentService::Delegate* delegate) { |
| 545 scoped_ptr<syncer::AttachmentUploader> attachment_uploader; | 494 scoped_ptr<syncer::AttachmentUploader> attachment_uploader; |
| 546 scoped_ptr<syncer::AttachmentDownloader> attachment_downloader; | 495 scoped_ptr<syncer::AttachmentDownloader> attachment_downloader; |
| 547 // Only construct an AttachmentUploader and AttachmentDownload if we have sync | 496 // Only construct an AttachmentUploader and AttachmentDownload if we have sync |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 base::TimeDelta::FromMinutes(30); | 531 base::TimeDelta::FromMinutes(30); |
| 583 const base::TimeDelta max_backoff_delay = base::TimeDelta::FromHours(4); | 532 const base::TimeDelta max_backoff_delay = base::TimeDelta::FromHours(4); |
| 584 scoped_ptr<syncer::AttachmentService> attachment_service( | 533 scoped_ptr<syncer::AttachmentService> attachment_service( |
| 585 new syncer::AttachmentServiceImpl( | 534 new syncer::AttachmentServiceImpl( |
| 586 attachment_store.Pass(), attachment_uploader.Pass(), | 535 attachment_store.Pass(), attachment_uploader.Pass(), |
| 587 attachment_downloader.Pass(), delegate, initial_backoff_delay, | 536 attachment_downloader.Pass(), delegate, initial_backoff_delay, |
| 588 max_backoff_delay)); | 537 max_backoff_delay)); |
| 589 return attachment_service.Pass(); | 538 return attachment_service.Pass(); |
| 590 } | 539 } |
| 591 | 540 |
| 592 ProfileSyncComponentsFactory::SyncComponents | 541 sync_driver::SyncApiComponentFactory::SyncComponents |
| 593 ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( | 542 ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( |
| 594 ProfileSyncService* profile_sync_service, | 543 sync_driver::SyncService* sync_service, |
| 595 sync_driver::DataTypeErrorHandler* error_handler) { | 544 sync_driver::DataTypeErrorHandler* error_handler) { |
| 596 BookmarkModel* bookmark_model = | 545 BookmarkModel* bookmark_model = |
| 597 BookmarkModelFactory::GetForProfile(profile_sync_service->profile()); | 546 BookmarkModelFactory::GetForProfile(profile_); |
| 598 syncer::UserShare* user_share = profile_sync_service->GetUserShare(); | 547 syncer::UserShare* user_share = sync_service->GetUserShare(); |
| 599 // TODO(akalin): We may want to propagate this switch up eventually. | 548 // TODO(akalin): We may want to propagate this switch up eventually. |
| 600 #if defined(OS_ANDROID) | 549 #if defined(OS_ANDROID) |
| 601 const bool kExpectMobileBookmarksFolder = true; | 550 const bool kExpectMobileBookmarksFolder = true; |
| 602 #else | 551 #else |
| 603 const bool kExpectMobileBookmarksFolder = false; | 552 const bool kExpectMobileBookmarksFolder = false; |
| 604 #endif | 553 #endif |
| 605 BookmarkModelAssociator* model_associator = | 554 BookmarkModelAssociator* model_associator = |
| 606 new BookmarkModelAssociator(bookmark_model, | 555 new BookmarkModelAssociator(bookmark_model, |
| 607 profile_sync_service->profile(), | 556 profile_, |
| 608 user_share, | 557 user_share, |
| 609 error_handler, | 558 error_handler, |
| 610 kExpectMobileBookmarksFolder); | 559 kExpectMobileBookmarksFolder); |
| 611 BookmarkChangeProcessor* change_processor = | 560 BookmarkChangeProcessor* change_processor = |
| 612 new BookmarkChangeProcessor(profile_sync_service->profile(), | 561 new BookmarkChangeProcessor(profile_, |
| 613 model_associator, | 562 model_associator, |
| 614 error_handler); | 563 error_handler); |
| 615 return SyncComponents(model_associator, change_processor); | 564 return SyncComponents(model_associator, change_processor); |
| 616 } | 565 } |
| 617 | 566 |
| 618 ProfileSyncComponentsFactory::SyncComponents | 567 sync_driver::SyncApiComponentFactory::SyncComponents |
| 619 ProfileSyncComponentsFactoryImpl::CreateTypedUrlSyncComponents( | 568 ProfileSyncComponentsFactoryImpl::CreateTypedUrlSyncComponents( |
| 620 ProfileSyncService* profile_sync_service, | 569 sync_driver::SyncService* sync_service, |
| 621 history::HistoryBackend* history_backend, | 570 history::HistoryBackend* history_backend, |
| 622 sync_driver::DataTypeErrorHandler* error_handler) { | 571 sync_driver::DataTypeErrorHandler* error_handler) { |
| 572 // TODO(zea): Once TypedURLs are converted to SyncableService, remove |
| 573 // |sync_service_| member, and make GetSyncService require it be called on |
| 574 // the UI thread. |
| 623 TypedUrlModelAssociator* model_associator = | 575 TypedUrlModelAssociator* model_associator = |
| 624 new TypedUrlModelAssociator(profile_sync_service, | 576 new TypedUrlModelAssociator(sync_service, |
| 625 history_backend, | 577 history_backend, |
| 626 error_handler); | 578 error_handler); |
| 627 TypedUrlChangeProcessor* change_processor = | 579 TypedUrlChangeProcessor* change_processor = |
| 628 new TypedUrlChangeProcessor(profile_, | 580 new TypedUrlChangeProcessor(profile_, |
| 629 model_associator, | 581 model_associator, |
| 630 history_backend, | 582 history_backend, |
| 631 error_handler); | 583 error_handler); |
| 632 return SyncComponents(model_associator, change_processor); | 584 return SyncComponents(model_associator, change_processor); |
| 633 } | 585 } |
| OLD | NEW |