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

Side by Side Diff: ios/chrome/browser/sync/ios_chrome_sync_client.cc

Issue 1460723004: [Sync] Remove the last datatype-specific deps from sync_driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Delete outdated comment. Created 5 years 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
« no previous file with comments | « ios/chrome/browser/sync/ios_chrome_sync_client.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ios/chrome/browser/sync/ios_chrome_sync_client.h" 5 #include "ios/chrome/browser/sync/ios_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 "components/autofill/core/browser/webdata/autocomplete_syncable_service .h" 9 #include "components/autofill/core/browser/webdata/autocomplete_syncable_service .h"
10 #include "components/autofill/core/browser/webdata/autofill_profile_syncable_ser vice.h" 10 #include "components/autofill/core/browser/webdata/autofill_profile_syncable_ser vice.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 IOSChromeSyncClient::IOSChromeSyncClient(ios::ChromeBrowserState* browser_state) 127 IOSChromeSyncClient::IOSChromeSyncClient(ios::ChromeBrowserState* browser_state)
128 : browser_state_(browser_state), 128 : browser_state_(browser_state),
129 sync_sessions_client_(new SyncSessionsClientImpl(browser_state)), 129 sync_sessions_client_(new SyncSessionsClientImpl(browser_state)),
130 dummy_extensions_activity_(new syncer::ExtensionsActivity()), 130 dummy_extensions_activity_(new syncer::ExtensionsActivity()),
131 weak_ptr_factory_(this) {} 131 weak_ptr_factory_(this) {}
132 132
133 IOSChromeSyncClient::~IOSChromeSyncClient() {} 133 IOSChromeSyncClient::~IOSChromeSyncClient() {}
134 134
135 void IOSChromeSyncClient::Initialize(sync_driver::SyncService* sync_service) { 135 void IOSChromeSyncClient::Initialize(sync_driver::SyncService* sync_service) {
136 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI); 136 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
137
138 web_data_service_ =
139 ios::WebDataServiceFactory::GetAutofillWebDataForBrowserState(
140 browser_state_, ServiceAccessType::EXPLICIT_ACCESS);
141 // TODO(crbug.com/558320) Is EXPLICIT_ACCESS appropriate here?
142 password_store_ = IOSChromePasswordStoreFactory::GetForBrowserState(
143 browser_state_, ServiceAccessType::EXPLICIT_ACCESS);
144
137 // Component factory may already be set in tests. 145 // Component factory may already be set in tests.
138 if (!GetSyncApiComponentFactory()) { 146 if (!GetSyncApiComponentFactory()) {
139 const GURL sync_service_url = GetSyncServiceURL( 147 const GURL sync_service_url = GetSyncServiceURL(
140 *base::CommandLine::ForCurrentProcess(), ::GetChannel()); 148 *base::CommandLine::ForCurrentProcess(), ::GetChannel());
141 ProfileOAuth2TokenService* token_service = 149 ProfileOAuth2TokenService* token_service =
142 OAuth2TokenServiceFactory::GetForBrowserState(browser_state_); 150 OAuth2TokenServiceFactory::GetForBrowserState(browser_state_);
143 151
144 net::URLRequestContextGetter* url_request_context_getter = 152 net::URLRequestContextGetter* url_request_context_getter =
145 browser_state_->GetRequestContext(); 153 browser_state_->GetRequestContext();
146 154
147 component_factory_.reset(new ProfileSyncComponentsFactoryImpl( 155 component_factory_.reset(new ProfileSyncComponentsFactoryImpl(
148 this, ::GetChannel(), ::GetVersionString(), 156 this, ::GetChannel(), ::GetVersionString(),
149 ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET, 157 ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET,
150 *base::CommandLine::ForCurrentProcess(), 158 *base::CommandLine::ForCurrentProcess(),
151 prefs::kSavingBrowserHistoryDisabled, sync_service_url, 159 prefs::kSavingBrowserHistoryDisabled, sync_service_url,
152 web::WebThread::GetTaskRunnerForThread(web::WebThread::UI), 160 web::WebThread::GetTaskRunnerForThread(web::WebThread::UI),
153 web::WebThread::GetTaskRunnerForThread(web::WebThread::DB), 161 web::WebThread::GetTaskRunnerForThread(web::WebThread::DB),
154 token_service, url_request_context_getter)); 162 token_service, url_request_context_getter, web_data_service_,
163 password_store_));
155 } 164 }
156 sync_service_ = sync_service; 165 sync_service_ = sync_service;
157 web_data_service_ = GetWebDataService();
158 password_store_ = GetPasswordStore();
159 } 166 }
160 167
161 sync_driver::SyncService* IOSChromeSyncClient::GetSyncService() { 168 sync_driver::SyncService* IOSChromeSyncClient::GetSyncService() {
162 // TODO(crbug.com/558298): bring back this DCHECK after Typed URLs are 169 // TODO(crbug.com/558298): bring back this DCHECK after Typed URLs are
163 // converted to SyncableService. 170 // converted to SyncableService.
164 // DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI); 171 // DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
165 return sync_service_; 172 return sync_service_;
166 } 173 }
167 174
168 PrefService* IOSChromeSyncClient::GetPrefService() { 175 PrefService* IOSChromeSyncClient::GetPrefService() {
(...skipping 16 matching lines...) Expand all
185 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI); 192 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
186 return ios::HistoryServiceFactory::GetForBrowserState( 193 return ios::HistoryServiceFactory::GetForBrowserState(
187 browser_state_, ServiceAccessType::EXPLICIT_ACCESS); 194 browser_state_, ServiceAccessType::EXPLICIT_ACCESS);
188 } 195 }
189 196
190 autofill::PersonalDataManager* IOSChromeSyncClient::GetPersonalDataManager() { 197 autofill::PersonalDataManager* IOSChromeSyncClient::GetPersonalDataManager() {
191 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI); 198 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
192 return PersonalDataManagerFactory::GetForBrowserState(browser_state_); 199 return PersonalDataManagerFactory::GetForBrowserState(browser_state_);
193 } 200 }
194 201
195 scoped_refptr<password_manager::PasswordStore>
196 IOSChromeSyncClient::GetPasswordStore() {
197 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
198 // TODO(crbug.com/558320) Is EXPLICIT_ACCESS appropriate here?
199 return IOSChromePasswordStoreFactory::GetForBrowserState(
200 browser_state_, ServiceAccessType::EXPLICIT_ACCESS);
201 }
202
203 sync_driver::ClearBrowsingDataCallback 202 sync_driver::ClearBrowsingDataCallback
204 IOSChromeSyncClient::GetClearBrowsingDataCallback() { 203 IOSChromeSyncClient::GetClearBrowsingDataCallback() {
205 return base::Bind(&IOSChromeSyncClient::ClearBrowsingData, 204 return base::Bind(&IOSChromeSyncClient::ClearBrowsingData,
206 base::Unretained(this)); 205 base::Unretained(this));
207 } 206 }
208 207
209 base::Closure IOSChromeSyncClient::GetPasswordStateChangedCallback() { 208 base::Closure IOSChromeSyncClient::GetPasswordStateChangedCallback() {
210 return base::Bind( 209 return base::Bind(
211 &IOSChromePasswordStoreFactory::OnPasswordsSyncedStatePotentiallyChanged, 210 &IOSChromePasswordStoreFactory::OnPasswordsSyncedStatePotentiallyChanged,
212 base::Unretained(browser_state_)); 211 base::Unretained(browser_state_));
213 } 212 }
214 213
215 sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod 214 sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod
216 IOSChromeSyncClient::GetRegisterPlatformTypesCallback() { 215 IOSChromeSyncClient::GetRegisterPlatformTypesCallback() {
217 // The iOS port does not have any platform-specific datatypes. 216 // The iOS port does not have any platform-specific datatypes.
218 return sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod(); 217 return sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod();
219 } 218 }
220 219
221 scoped_refptr<autofill::AutofillWebDataService>
222 IOSChromeSyncClient::GetWebDataService() {
223 DCHECK_CURRENTLY_ON_WEB_THREAD(web::WebThread::UI);
224 return ios::WebDataServiceFactory::GetAutofillWebDataForBrowserState(
225 browser_state_, ServiceAccessType::EXPLICIT_ACCESS);
226 }
227
228 BookmarkUndoService* IOSChromeSyncClient::GetBookmarkUndoServiceIfExists() { 220 BookmarkUndoService* IOSChromeSyncClient::GetBookmarkUndoServiceIfExists() {
229 return ios::BookmarkUndoServiceFactory::GetForBrowserStateIfExists( 221 return ios::BookmarkUndoServiceFactory::GetForBrowserStateIfExists(
230 browser_state_); 222 browser_state_);
231 } 223 }
232 224
233 invalidation::InvalidationService* 225 invalidation::InvalidationService*
234 IOSChromeSyncClient::GetInvalidationService() { 226 IOSChromeSyncClient::GetInvalidationService() {
235 invalidation::ProfileInvalidationProvider* provider = 227 invalidation::ProfileInvalidationProvider* provider =
236 IOSChromeProfileInvalidationProviderFactory::GetForBrowserState( 228 IOSChromeProfileInvalidationProviderFactory::GetForBrowserState(
237 browser_state_); 229 browser_state_);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 return new syncer::PassiveModelWorker(observer); 351 return new syncer::PassiveModelWorker(observer);
360 case syncer::GROUP_HISTORY: { 352 case syncer::GROUP_HISTORY: {
361 history::HistoryService* history_service = GetHistoryService(); 353 history::HistoryService* history_service = GetHistoryService();
362 if (!history_service) 354 if (!history_service)
363 return nullptr; 355 return nullptr;
364 return new browser_sync::HistoryModelWorker( 356 return new browser_sync::HistoryModelWorker(
365 history_service->AsWeakPtr(), 357 history_service->AsWeakPtr(),
366 web::WebThread::GetTaskRunnerForThread(web::WebThread::UI), observer); 358 web::WebThread::GetTaskRunnerForThread(web::WebThread::UI), observer);
367 } 359 }
368 case syncer::GROUP_PASSWORD: { 360 case syncer::GROUP_PASSWORD: {
369 scoped_refptr<password_manager::PasswordStore> password_store = 361 if (!password_store_)
370 GetPasswordStore();
371 if (!password_store)
372 return nullptr; 362 return nullptr;
373 return new browser_sync::PasswordModelWorker(password_store, observer); 363 return new browser_sync::PasswordModelWorker(password_store_, observer);
374 } 364 }
375 default: 365 default:
376 return nullptr; 366 return nullptr;
377 } 367 }
378 } 368 }
379 369
380 sync_driver::SyncApiComponentFactory* 370 sync_driver::SyncApiComponentFactory*
381 IOSChromeSyncClient::GetSyncApiComponentFactory() { 371 IOSChromeSyncClient::GetSyncApiComponentFactory() {
382 return component_factory_.get(); 372 return component_factory_.get();
383 } 373 }
384 374
385 void IOSChromeSyncClient::ClearBrowsingData(base::Time start, base::Time end) { 375 void IOSChromeSyncClient::ClearBrowsingData(base::Time start, base::Time end) {
386 // This method should never be called on iOS. 376 // This method should never be called on iOS.
387 NOTREACHED(); 377 NOTREACHED();
388 } 378 }
389 379
390 void IOSChromeSyncClient::SetSyncApiComponentFactoryForTesting( 380 void IOSChromeSyncClient::SetSyncApiComponentFactoryForTesting(
391 scoped_ptr<sync_driver::SyncApiComponentFactory> component_factory) { 381 scoped_ptr<sync_driver::SyncApiComponentFactory> component_factory) {
392 component_factory_ = component_factory.Pass(); 382 component_factory_ = component_factory.Pass();
393 } 383 }
OLDNEW
« no previous file with comments | « ios/chrome/browser/sync/ios_chrome_sync_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698