OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/chrome_sync_client.h" | 5 #include "chrome/browser/sync/chrome_sync_client.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 9 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 : profile_(profile), | 175 : profile_(profile), |
176 sync_sessions_client_(new SyncSessionsClientImpl(profile)), | 176 sync_sessions_client_(new SyncSessionsClientImpl(profile)), |
177 browsing_data_remover_observer_(NULL), | 177 browsing_data_remover_observer_(NULL), |
178 weak_ptr_factory_(this) {} | 178 weak_ptr_factory_(this) {} |
179 | 179 |
180 ChromeSyncClient::~ChromeSyncClient() { | 180 ChromeSyncClient::~ChromeSyncClient() { |
181 } | 181 } |
182 | 182 |
183 void ChromeSyncClient::Initialize(sync_driver::SyncService* sync_service) { | 183 void ChromeSyncClient::Initialize(sync_driver::SyncService* sync_service) { |
184 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 184 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 185 |
| 186 web_data_service_ = WebDataServiceFactory::GetAutofillWebDataForProfile( |
| 187 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 188 // TODO(crbug.com/558320) Is EXPLICIT_ACCESS appropriate here? |
| 189 password_store_ = PasswordStoreFactory::GetForProfile( |
| 190 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 191 |
185 // Component factory may already be set in tests. | 192 // Component factory may already be set in tests. |
186 if (!GetSyncApiComponentFactory()) { | 193 if (!GetSyncApiComponentFactory()) { |
187 const GURL sync_service_url = GetSyncServiceURL( | 194 const GURL sync_service_url = GetSyncServiceURL( |
188 *base::CommandLine::ForCurrentProcess(), chrome::GetChannel()); | 195 *base::CommandLine::ForCurrentProcess(), chrome::GetChannel()); |
189 ProfileOAuth2TokenService* token_service = | 196 ProfileOAuth2TokenService* token_service = |
190 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_); | 197 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_); |
191 net::URLRequestContextGetter* url_request_context_getter = | 198 net::URLRequestContextGetter* url_request_context_getter = |
192 profile_->GetRequestContext(); | 199 profile_->GetRequestContext(); |
193 | 200 |
194 component_factory_.reset(new ProfileSyncComponentsFactoryImpl( | 201 component_factory_.reset(new ProfileSyncComponentsFactoryImpl( |
195 this, chrome::GetChannel(), chrome::GetVersionString(), | 202 this, chrome::GetChannel(), chrome::GetVersionString(), |
196 ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET, | 203 ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET, |
197 *base::CommandLine::ForCurrentProcess(), | 204 *base::CommandLine::ForCurrentProcess(), |
198 prefs::kSavingBrowserHistoryDisabled, sync_service_url, | 205 prefs::kSavingBrowserHistoryDisabled, sync_service_url, |
199 content::BrowserThread::GetMessageLoopProxyForThread( | 206 content::BrowserThread::GetMessageLoopProxyForThread( |
200 content::BrowserThread::UI), | 207 content::BrowserThread::UI), |
201 content::BrowserThread::GetMessageLoopProxyForThread( | 208 content::BrowserThread::GetMessageLoopProxyForThread( |
202 content::BrowserThread::DB), | 209 content::BrowserThread::DB), |
203 token_service, url_request_context_getter)); | 210 token_service, url_request_context_getter, web_data_service_, |
| 211 password_store_)); |
204 } | 212 } |
205 sync_service_ = sync_service; | 213 sync_service_ = sync_service; |
206 web_data_service_ = GetWebDataService(); | |
207 password_store_ = GetPasswordStore(); | |
208 } | 214 } |
209 | 215 |
210 sync_driver::SyncService* ChromeSyncClient::GetSyncService() { | 216 sync_driver::SyncService* ChromeSyncClient::GetSyncService() { |
211 // TODO(zea): bring back this DCHECK after Typed URLs are converted to | 217 // TODO(zea): bring back this DCHECK after Typed URLs are converted to |
212 // SyncableService. | 218 // SyncableService. |
213 // DCHECK_CURRENTLY_ON(BrowserThread::UI); | 219 // DCHECK_CURRENTLY_ON(BrowserThread::UI); |
214 return sync_service_; | 220 return sync_service_; |
215 } | 221 } |
216 | 222 |
217 PrefService* ChromeSyncClient::GetPrefService() { | 223 PrefService* ChromeSyncClient::GetPrefService() { |
(...skipping 16 matching lines...) Expand all Loading... |
234 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 240 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
235 return HistoryServiceFactory::GetForProfile( | 241 return HistoryServiceFactory::GetForProfile( |
236 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 242 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
237 } | 243 } |
238 | 244 |
239 autofill::PersonalDataManager* ChromeSyncClient::GetPersonalDataManager() { | 245 autofill::PersonalDataManager* ChromeSyncClient::GetPersonalDataManager() { |
240 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 246 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
241 return autofill::PersonalDataManagerFactory::GetForProfile(profile_); | 247 return autofill::PersonalDataManagerFactory::GetForProfile(profile_); |
242 } | 248 } |
243 | 249 |
244 scoped_refptr<password_manager::PasswordStore> | |
245 ChromeSyncClient::GetPasswordStore() { | |
246 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
247 return PasswordStoreFactory::GetForProfile( | |
248 profile_, ServiceAccessType::EXPLICIT_ACCESS); | |
249 } | |
250 | |
251 sync_driver::ClearBrowsingDataCallback | 250 sync_driver::ClearBrowsingDataCallback |
252 ChromeSyncClient::GetClearBrowsingDataCallback() { | 251 ChromeSyncClient::GetClearBrowsingDataCallback() { |
253 return base::Bind(&ChromeSyncClient::ClearBrowsingData, | 252 return base::Bind(&ChromeSyncClient::ClearBrowsingData, |
254 base::Unretained(this)); | 253 base::Unretained(this)); |
255 } | 254 } |
256 | 255 |
257 base::Closure ChromeSyncClient::GetPasswordStateChangedCallback() { | 256 base::Closure ChromeSyncClient::GetPasswordStateChangedCallback() { |
258 return base::Bind( | 257 return base::Bind( |
259 &PasswordStoreFactory::OnPasswordsSyncedStatePotentiallyChanged, | 258 &PasswordStoreFactory::OnPasswordsSyncedStatePotentiallyChanged, |
260 base::Unretained(profile_)); | 259 base::Unretained(profile_)); |
261 } | 260 } |
262 | 261 |
263 sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod | 262 sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod |
264 ChromeSyncClient::GetRegisterPlatformTypesCallback() { | 263 ChromeSyncClient::GetRegisterPlatformTypesCallback() { |
265 return base::Bind( | 264 return base::Bind( |
266 #if BUILDFLAG(ANDROID_JAVA_UI) | 265 #if BUILDFLAG(ANDROID_JAVA_UI) |
267 &ChromeSyncClient::RegisterAndroidDataTypes, | 266 &ChromeSyncClient::RegisterAndroidDataTypes, |
268 #else | 267 #else |
269 &ChromeSyncClient::RegisterDesktopDataTypes, | 268 &ChromeSyncClient::RegisterDesktopDataTypes, |
270 #endif // BUILDFLAG(ANDROID_JAVA_UI) | 269 #endif // BUILDFLAG(ANDROID_JAVA_UI) |
271 weak_ptr_factory_.GetWeakPtr()); | 270 weak_ptr_factory_.GetWeakPtr()); |
272 } | 271 } |
273 | 272 |
274 scoped_refptr<autofill::AutofillWebDataService> | |
275 ChromeSyncClient::GetWebDataService() { | |
276 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
277 return WebDataServiceFactory::GetAutofillWebDataForProfile( | |
278 profile_, ServiceAccessType::EXPLICIT_ACCESS); | |
279 } | |
280 | |
281 BookmarkUndoService* ChromeSyncClient::GetBookmarkUndoServiceIfExists() { | 273 BookmarkUndoService* ChromeSyncClient::GetBookmarkUndoServiceIfExists() { |
282 return BookmarkUndoServiceFactory::GetForProfileIfExists(profile_); | 274 return BookmarkUndoServiceFactory::GetForProfileIfExists(profile_); |
283 } | 275 } |
284 | 276 |
285 invalidation::InvalidationService* ChromeSyncClient::GetInvalidationService() { | 277 invalidation::InvalidationService* ChromeSyncClient::GetInvalidationService() { |
286 invalidation::ProfileInvalidationProvider* provider = | 278 invalidation::ProfileInvalidationProvider* provider = |
287 invalidation::ProfileInvalidationProviderFactory::GetForProfile(profile_); | 279 invalidation::ProfileInvalidationProviderFactory::GetForProfile(profile_); |
288 if (provider) | 280 if (provider) |
289 return provider->GetInvalidationService(); | 281 return provider->GetInvalidationService(); |
290 return nullptr; | 282 return nullptr; |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 case syncer::GROUP_HISTORY: { | 439 case syncer::GROUP_HISTORY: { |
448 history::HistoryService* history_service = GetHistoryService(); | 440 history::HistoryService* history_service = GetHistoryService(); |
449 if (!history_service) | 441 if (!history_service) |
450 return nullptr; | 442 return nullptr; |
451 return new HistoryModelWorker( | 443 return new HistoryModelWorker( |
452 history_service->AsWeakPtr(), | 444 history_service->AsWeakPtr(), |
453 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 445 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
454 observer); | 446 observer); |
455 } | 447 } |
456 case syncer::GROUP_PASSWORD: { | 448 case syncer::GROUP_PASSWORD: { |
457 scoped_refptr<password_manager::PasswordStore> password_store = | 449 if (!password_store_.get()) |
458 GetPasswordStore(); | |
459 if (!password_store.get()) | |
460 return nullptr; | 450 return nullptr; |
461 return new PasswordModelWorker(password_store, observer); | 451 return new PasswordModelWorker(password_store_, observer); |
462 } | 452 } |
463 default: | 453 default: |
464 return nullptr; | 454 return nullptr; |
465 } | 455 } |
466 } | 456 } |
467 | 457 |
468 sync_driver::SyncApiComponentFactory* | 458 sync_driver::SyncApiComponentFactory* |
469 ChromeSyncClient::GetSyncApiComponentFactory() { | 459 ChromeSyncClient::GetSyncApiComponentFactory() { |
470 return component_factory_.get(); | 460 return component_factory_.get(); |
471 } | 461 } |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
611 sync_service->RegisterDataTypeController( | 601 sync_service->RegisterDataTypeController( |
612 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, | 602 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, |
613 error_callback, this, profile_)); | 603 error_callback, this, profile_)); |
614 sync_service->RegisterDataTypeController( | 604 sync_service->RegisterDataTypeController( |
615 new SupervisedUserSyncDataTypeController( | 605 new SupervisedUserSyncDataTypeController( |
616 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 606 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
617 #endif | 607 #endif |
618 } | 608 } |
619 | 609 |
620 } // namespace browser_sync | 610 } // namespace browser_sync |
OLD | NEW |