Chromium Code Reviews| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 133 ~SyncSessionsClientImpl() override {} | 133 ~SyncSessionsClientImpl() override {} |
| 134 | 134 |
| 135 // SyncSessionsClient implementation. | 135 // SyncSessionsClient implementation. |
| 136 bookmarks::BookmarkModel* GetBookmarkModel() override { | 136 bookmarks::BookmarkModel* GetBookmarkModel() override { |
| 137 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 137 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| 138 return BookmarkModelFactory::GetForProfile(profile_); | 138 return BookmarkModelFactory::GetForProfile(profile_); |
| 139 } | 139 } |
| 140 favicon::FaviconService* GetFaviconService() override { | 140 favicon::FaviconService* GetFaviconService() override { |
| 141 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 141 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| 142 return FaviconServiceFactory::GetForProfile( | 142 return FaviconServiceFactory::GetForProfile( |
| 143 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 143 profile_, ServiceAccessType::IMPLICIT_ACCESS); |
| 144 } | 144 } |
| 145 history::HistoryService* GetHistoryService() override { | 145 history::HistoryService* GetHistoryService() override { |
| 146 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 146 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| 147 return HistoryServiceFactory::GetForProfile( | 147 return HistoryServiceFactory::GetForProfile( |
| 148 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 148 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
|
skym
2016/01/28 20:20:55
What about here?
pavely
2016/01/28 22:30:53
Done.
| |
| 149 } | 149 } |
| 150 bool ShouldSyncURL(const GURL& url) const override { | 150 bool ShouldSyncURL(const GURL& url) const override { |
| 151 if (url == GURL(chrome::kChromeUIHistoryURL)) { | 151 if (url == GURL(chrome::kChromeUIHistoryURL)) { |
| 152 // The history page is treated specially as we want it to trigger syncable | 152 // The history page is treated specially as we want it to trigger syncable |
| 153 // events for UI purposes. | 153 // events for UI purposes. |
| 154 return true; | 154 return true; |
| 155 } | 155 } |
| 156 return url.is_valid() && !url.SchemeIs(content::kChromeUIScheme) && | 156 return url.is_valid() && !url.SchemeIs(content::kChromeUIScheme) && |
| 157 !url.SchemeIs(chrome::kChromeNativeScheme) && !url.SchemeIsFile(); | 157 !url.SchemeIs(chrome::kChromeNativeScheme) && !url.SchemeIsFile(); |
| 158 } | 158 } |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 181 sync_sessions_client_(new SyncSessionsClientImpl(profile)), | 181 sync_sessions_client_(new SyncSessionsClientImpl(profile)), |
| 182 browsing_data_remover_observer_(NULL), | 182 browsing_data_remover_observer_(NULL), |
| 183 weak_ptr_factory_(this) {} | 183 weak_ptr_factory_(this) {} |
| 184 | 184 |
| 185 ChromeSyncClient::~ChromeSyncClient() { | 185 ChromeSyncClient::~ChromeSyncClient() { |
| 186 } | 186 } |
| 187 | 187 |
| 188 void ChromeSyncClient::Initialize() { | 188 void ChromeSyncClient::Initialize() { |
| 189 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 189 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 190 | 190 |
| 191 web_data_service_ = WebDataServiceFactory::GetAutofillWebDataForProfile( | 191 web_data_service_ = WebDataServiceFactory::GetAutofillWebDataForProfile( |
|
skym
2016/01/28 20:20:55
Kinda odd we cache some (webdata/password), but fe
pavely
2016/01/28 22:30:53
Don't know why. Maybe factory needs to be called o
| |
| 192 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 192 profile_, ServiceAccessType::IMPLICIT_ACCESS); |
| 193 // TODO(crbug.com/558320) Is EXPLICIT_ACCESS appropriate here? | |
| 194 password_store_ = PasswordStoreFactory::GetForProfile( | 193 password_store_ = PasswordStoreFactory::GetForProfile( |
| 195 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 194 profile_, ServiceAccessType::IMPLICIT_ACCESS); |
| 196 | 195 |
| 197 // Component factory may already be set in tests. | 196 // Component factory may already be set in tests. |
| 198 if (!GetSyncApiComponentFactory()) { | 197 if (!GetSyncApiComponentFactory()) { |
| 199 const GURL sync_service_url = GetSyncServiceURL( | 198 const GURL sync_service_url = GetSyncServiceURL( |
| 200 *base::CommandLine::ForCurrentProcess(), chrome::GetChannel()); | 199 *base::CommandLine::ForCurrentProcess(), chrome::GetChannel()); |
| 201 ProfileOAuth2TokenService* token_service = | 200 ProfileOAuth2TokenService* token_service = |
| 202 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_); | 201 ProfileOAuth2TokenServiceFactory::GetForProfile(profile_); |
| 203 net::URLRequestContextGetter* url_request_context_getter = | 202 net::URLRequestContextGetter* url_request_context_getter = |
| 204 profile_->GetRequestContext(); | 203 profile_->GetRequestContext(); |
| 205 | 204 |
| 206 component_factory_.reset(new ProfileSyncComponentsFactoryImpl( | 205 component_factory_.reset(new ProfileSyncComponentsFactoryImpl( |
|
skym
2016/01/28 20:20:55
Wow this constructor is big.
pavely
2016/01/28 22:30:53
Acknowledged.
| |
| 207 this, chrome::GetChannel(), chrome::GetVersionString(), | 206 this, chrome::GetChannel(), chrome::GetVersionString(), |
| 208 ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET, | 207 ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET, |
| 209 *base::CommandLine::ForCurrentProcess(), | 208 *base::CommandLine::ForCurrentProcess(), |
| 210 prefs::kSavingBrowserHistoryDisabled, sync_service_url, | 209 prefs::kSavingBrowserHistoryDisabled, sync_service_url, |
| 211 content::BrowserThread::GetMessageLoopProxyForThread( | 210 content::BrowserThread::GetMessageLoopProxyForThread( |
| 212 content::BrowserThread::UI), | 211 content::BrowserThread::UI), |
| 213 content::BrowserThread::GetMessageLoopProxyForThread( | 212 content::BrowserThread::GetMessageLoopProxyForThread( |
| 214 content::BrowserThread::DB), | 213 content::BrowserThread::DB), |
| 215 token_service, url_request_context_getter, web_data_service_, | 214 token_service, url_request_context_getter, web_data_service_, |
| 216 password_store_)); | 215 password_store_)); |
| 217 } | 216 } |
| 218 } | 217 } |
| 219 | 218 |
| 220 sync_driver::SyncService* ChromeSyncClient::GetSyncService() { | 219 sync_driver::SyncService* ChromeSyncClient::GetSyncService() { |
| 221 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 220 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 222 return ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); | 221 return ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); |
| 223 } | 222 } |
| 224 | 223 |
| 225 PrefService* ChromeSyncClient::GetPrefService() { | 224 PrefService* ChromeSyncClient::GetPrefService() { |
| 226 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 225 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 227 return profile_->GetPrefs(); | 226 return profile_->GetPrefs(); |
| 228 } | 227 } |
| 229 | 228 |
| 230 bookmarks::BookmarkModel* ChromeSyncClient::GetBookmarkModel() { | 229 bookmarks::BookmarkModel* ChromeSyncClient::GetBookmarkModel() { |
| 231 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 230 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 232 return BookmarkModelFactory::GetForProfile(profile_); | 231 return BookmarkModelFactory::GetForProfile(profile_); |
| 233 } | 232 } |
| 234 | 233 |
| 235 favicon::FaviconService* ChromeSyncClient::GetFaviconService() { | 234 favicon::FaviconService* ChromeSyncClient::GetFaviconService() { |
|
skym
2016/01/28 20:20:55
Why doesn't this just delegate to the sync_session
pavely
2016/01/28 22:30:53
To be honest don't know.
| |
| 236 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 235 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 237 return FaviconServiceFactory::GetForProfile( | 236 return FaviconServiceFactory::GetForProfile( |
| 238 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 237 profile_, ServiceAccessType::IMPLICIT_ACCESS); |
| 239 } | 238 } |
| 240 | 239 |
| 241 history::HistoryService* ChromeSyncClient::GetHistoryService() { | 240 history::HistoryService* ChromeSyncClient::GetHistoryService() { |
|
skym
2016/01/28 20:20:55
Same delegate question.
| |
| 242 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 241 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 243 return HistoryServiceFactory::GetForProfile( | 242 return HistoryServiceFactory::GetForProfile( |
| 244 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 243 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
|
skym
2016/01/28 20:20:55
and here
pavely
2016/01/28 22:30:53
Done.
| |
| 245 } | 244 } |
| 246 | 245 |
| 247 autofill::PersonalDataManager* ChromeSyncClient::GetPersonalDataManager() { | 246 autofill::PersonalDataManager* ChromeSyncClient::GetPersonalDataManager() { |
| 248 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 247 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 249 return autofill::PersonalDataManagerFactory::GetForProfile(profile_); | 248 return autofill::PersonalDataManagerFactory::GetForProfile(profile_); |
| 250 } | 249 } |
| 251 | 250 |
| 252 sync_driver::ClearBrowsingDataCallback | 251 sync_driver::ClearBrowsingDataCallback |
| 253 ChromeSyncClient::GetClearBrowsingDataCallback() { | 252 ChromeSyncClient::GetClearBrowsingDataCallback() { |
| 254 return base::Bind(&ChromeSyncClient::ClearBrowsingData, | 253 return base::Bind(&ChromeSyncClient::ClearBrowsingData, |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 351 return ThemeServiceFactory::GetForProfile(profile_)-> | 350 return ThemeServiceFactory::GetForProfile(profile_)-> |
| 352 GetThemeSyncableService()->AsWeakPtr(); | 351 GetThemeSyncableService()->AsWeakPtr(); |
| 353 #endif | 352 #endif |
| 354 case syncer::HISTORY_DELETE_DIRECTIVES: { | 353 case syncer::HISTORY_DELETE_DIRECTIVES: { |
| 355 history::HistoryService* history = GetHistoryService(); | 354 history::HistoryService* history = GetHistoryService(); |
| 356 return history ? history->AsWeakPtr() | 355 return history ? history->AsWeakPtr() |
| 357 : base::WeakPtr<history::HistoryService>(); | 356 : base::WeakPtr<history::HistoryService>(); |
| 358 } | 357 } |
| 359 case syncer::TYPED_URLS: { | 358 case syncer::TYPED_URLS: { |
| 360 history::HistoryService* history = HistoryServiceFactory::GetForProfile( | 359 history::HistoryService* history = HistoryServiceFactory::GetForProfile( |
| 361 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 360 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
|
skym
2016/01/28 20:20:55
and here. Also why is this repeating logic instead
pavely
2016/01/28 22:30:53
HistoryServiceFactory::GetForProfile works slightl
skym
2016/01/28 22:41:13
Makes sense. Were you going to change this to be I
| |
| 362 if (!history) | 361 if (!history) |
| 363 return base::WeakPtr<history::TypedUrlSyncableService>(); | 362 return base::WeakPtr<history::TypedUrlSyncableService>(); |
| 364 return history->GetTypedUrlSyncableService()->AsWeakPtr(); | 363 return history->GetTypedUrlSyncableService()->AsWeakPtr(); |
| 365 } | 364 } |
| 366 #if defined(ENABLE_SPELLCHECK) | 365 #if defined(ENABLE_SPELLCHECK) |
| 367 case syncer::DICTIONARY: | 366 case syncer::DICTIONARY: |
| 368 return SpellcheckServiceFactory::GetForContext(profile_)-> | 367 return SpellcheckServiceFactory::GetForContext(profile_)-> |
| 369 GetCustomDictionary()->AsWeakPtr(); | 368 GetCustomDictionary()->AsWeakPtr(); |
| 370 #endif | 369 #endif |
| 371 case syncer::FAVICON_IMAGES: | 370 case syncer::FAVICON_IMAGES: |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 470 } | 469 } |
| 471 | 470 |
| 472 void ChromeSyncClient::ClearBrowsingData(base::Time start, base::Time end) { | 471 void ChromeSyncClient::ClearBrowsingData(base::Time start, base::Time end) { |
| 473 BrowsingDataRemover* remover = | 472 BrowsingDataRemover* remover = |
| 474 BrowsingDataRemoverFactory::GetForBrowserContext(profile_); | 473 BrowsingDataRemoverFactory::GetForBrowserContext(profile_); |
| 475 remover->Remove(BrowsingDataRemover::TimeRange(start, end), | 474 remover->Remove(BrowsingDataRemover::TimeRange(start, end), |
| 476 BrowsingDataRemover::REMOVE_ALL, BrowsingDataHelper::ALL); | 475 BrowsingDataRemover::REMOVE_ALL, BrowsingDataHelper::ALL); |
| 477 | 476 |
| 478 scoped_refptr<password_manager::PasswordStore> password = | 477 scoped_refptr<password_manager::PasswordStore> password = |
| 479 PasswordStoreFactory::GetForProfile(profile_, | 478 PasswordStoreFactory::GetForProfile(profile_, |
| 480 ServiceAccessType::EXPLICIT_ACCESS); | 479 ServiceAccessType::EXPLICIT_ACCESS); |
|
skym
2016/01/28 20:20:55
and here. Also why isn't this using cached passwor
pavely
2016/01/28 22:30:53
Here I thought that ClearBrowsingData must be call
| |
| 481 password->RemoveLoginsSyncedBetween(start, end); | 480 password->RemoveLoginsSyncedBetween(start, end); |
| 482 } | 481 } |
| 483 | 482 |
| 484 void ChromeSyncClient::SetBrowsingDataRemoverObserverForTesting( | 483 void ChromeSyncClient::SetBrowsingDataRemoverObserverForTesting( |
| 485 BrowsingDataRemover::Observer* observer) { | 484 BrowsingDataRemover::Observer* observer) { |
| 486 BrowsingDataRemover* remover = | 485 BrowsingDataRemover* remover = |
| 487 BrowsingDataRemoverFactory::GetForBrowserContext(profile_); | 486 BrowsingDataRemoverFactory::GetForBrowserContext(profile_); |
| 488 if (browsing_data_remover_observer_) | 487 if (browsing_data_remover_observer_) |
| 489 remover->RemoveObserver(browsing_data_remover_observer_); | 488 remover->RemoveObserver(browsing_data_remover_observer_); |
| 490 | 489 |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 616 sync_service->RegisterDataTypeController( | 615 sync_service->RegisterDataTypeController( |
| 617 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, | 616 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, |
| 618 error_callback, this, profile_)); | 617 error_callback, this, profile_)); |
| 619 sync_service->RegisterDataTypeController( | 618 sync_service->RegisterDataTypeController( |
| 620 new SupervisedUserSyncDataTypeController( | 619 new SupervisedUserSyncDataTypeController( |
| 621 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 620 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
| 622 #endif | 621 #endif |
| 623 } | 622 } |
| 624 | 623 |
| 625 } // namespace browser_sync | 624 } // namespace browser_sync |
| OLD | NEW |