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

Side by Side Diff: components/browser_sync/profile_sync_service.cc

Issue 2388673002: Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5 id:40001 of https://co (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
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 "components/browser_sync/profile_sync_service.h" 5 #include "components/browser_sync/profile_sync_service.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <cstddef> 9 #include <cstddef>
10 #include <map> 10 #include <map>
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 #include "components/version_info/version_info_values.h" 80 #include "components/version_info/version_info_values.h"
81 #include "net/cookies/cookie_monster.h" 81 #include "net/cookies/cookie_monster.h"
82 #include "net/url_request/url_request_context_getter.h" 82 #include "net/url_request/url_request_context_getter.h"
83 #include "ui/base/l10n/l10n_util.h" 83 #include "ui/base/l10n/l10n_util.h"
84 #include "ui/base/l10n/time_format.h" 84 #include "ui/base/l10n/time_format.h"
85 85
86 #if defined(OS_ANDROID) 86 #if defined(OS_ANDROID)
87 #include "components/sync/core/read_transaction.h" 87 #include "components/sync/core/read_transaction.h"
88 #endif 88 #endif
89 89
90 using sync_driver::ChangeProcessor;
91 using sync_driver::DataTypeController;
92 using sync_driver::DataTypeManager;
93 using sync_driver::DataTypeStatusTable;
94 using sync_driver::DeviceInfoSyncService;
95 using sync_driver_v2::DeviceInfoService;
90 using sync_sessions::SessionsSyncManager; 96 using sync_sessions::SessionsSyncManager;
91 using syncer::BackendMigrator; 97 using syncer::ModelType;
92 using syncer::ChangeProcessor; 98 using syncer::ModelTypeSet;
93 using syncer::DataTypeController;
94 using syncer::DataTypeManager;
95 using syncer::DataTypeStatusTable;
96 using syncer::DeviceInfoService;
97 using syncer::DeviceInfoSyncService;
98 using syncer::JsBackend; 99 using syncer::JsBackend;
99 using syncer::JsController; 100 using syncer::JsController;
100 using syncer::JsEventDetails; 101 using syncer::JsEventDetails;
101 using syncer::JsEventHandler; 102 using syncer::JsEventHandler;
102 using syncer::ModelSafeRoutingInfo; 103 using syncer::ModelSafeRoutingInfo;
103 using syncer::ModelType;
104 using syncer::ModelTypeSet;
105 using syncer::ModelTypeStore;
106 using syncer::ProtocolEventObserver;
107 using syncer::SharedModelTypeProcessor;
108 using syncer::SyncBackendHost;
109 using syncer::SyncCredentials; 104 using syncer::SyncCredentials;
110 using syncer::SyncProtocolError; 105 using syncer::SyncProtocolError;
111 using syncer::WeakHandle; 106 using syncer::WeakHandle;
107 using syncer_v2::ModelTypeStore;
108 using syncer_v2::SharedModelTypeProcessor;
112 109
113 namespace browser_sync { 110 namespace browser_sync {
114 111
115 typedef GoogleServiceAuthError AuthError; 112 typedef GoogleServiceAuthError AuthError;
116 113
117 const char kSyncUnrecoverableErrorHistogram[] = "Sync.UnrecoverableErrors"; 114 const char kSyncUnrecoverableErrorHistogram[] = "Sync.UnrecoverableErrors";
118 115
119 const net::BackoffEntry::Policy kRequestAccessTokenBackoffPolicy = { 116 const net::BackoffEntry::Policy kRequestAccessTokenBackoffPolicy = {
120 // Number of initial errors (in sequence) to ignore before applying 117 // Number of initial errors (in sequence) to ignore before applying
121 // exponential back-off rules. 118 // exponential back-off rules.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 file_thread(std::move(other.file_thread)), 184 file_thread(std::move(other.file_thread)),
188 blocking_pool(other.blocking_pool) {} 185 blocking_pool(other.blocking_pool) {}
189 186
190 ProfileSyncService::ProfileSyncService(InitParams init_params) 187 ProfileSyncService::ProfileSyncService(InitParams init_params)
191 : OAuth2TokenService::Consumer("sync"), 188 : OAuth2TokenService::Consumer("sync"),
192 last_auth_error_(AuthError::AuthErrorNone()), 189 last_auth_error_(AuthError::AuthErrorNone()),
193 passphrase_required_reason_(syncer::REASON_PASSPHRASE_NOT_REQUIRED), 190 passphrase_required_reason_(syncer::REASON_PASSPHRASE_NOT_REQUIRED),
194 sync_client_(std::move(init_params.sync_client)), 191 sync_client_(std::move(init_params.sync_client)),
195 sync_prefs_(sync_client_->GetPrefService()), 192 sync_prefs_(sync_client_->GetPrefService()),
196 sync_service_url_( 193 sync_service_url_(
197 syncer::GetSyncServiceURL(*base::CommandLine::ForCurrentProcess(), 194 GetSyncServiceURL(*base::CommandLine::ForCurrentProcess(),
198 init_params.channel)), 195 init_params.channel)),
199 network_time_update_callback_( 196 network_time_update_callback_(
200 std::move(init_params.network_time_update_callback)), 197 std::move(init_params.network_time_update_callback)),
201 base_directory_(init_params.base_directory), 198 base_directory_(init_params.base_directory),
202 url_request_context_(init_params.url_request_context), 199 url_request_context_(init_params.url_request_context),
203 debug_identifier_(std::move(init_params.debug_identifier)), 200 debug_identifier_(std::move(init_params.debug_identifier)),
204 channel_(init_params.channel), 201 channel_(init_params.channel),
205 db_thread_(init_params.db_thread), 202 db_thread_(init_params.db_thread),
206 file_thread_(init_params.file_thread), 203 file_thread_(init_params.file_thread),
207 blocking_pool_(init_params.blocking_pool), 204 blocking_pool_(init_params.blocking_pool),
208 is_first_time_sync_configure_(false), 205 is_first_time_sync_configure_(false),
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 251
255 bool ProfileSyncService::CanSyncStart() const { 252 bool ProfileSyncService::CanSyncStart() const {
256 return IsSyncAllowed() && IsSyncRequested() && IsSignedIn(); 253 return IsSyncAllowed() && IsSyncRequested() && IsSignedIn();
257 } 254 }
258 255
259 void ProfileSyncService::Initialize() { 256 void ProfileSyncService::Initialize() {
260 sync_client_->Initialize(); 257 sync_client_->Initialize();
261 258
262 // We don't pass StartupController an Unretained reference to future-proof 259 // We don't pass StartupController an Unretained reference to future-proof
263 // against the controller impl changing to post tasks. 260 // against the controller impl changing to post tasks.
264 startup_controller_.reset(new syncer::StartupController( 261 startup_controller_.reset(new StartupController(
265 &sync_prefs_, 262 &sync_prefs_,
266 base::Bind(&ProfileSyncService::CanBackendStart, base::Unretained(this)), 263 base::Bind(&ProfileSyncService::CanBackendStart, base::Unretained(this)),
267 base::Bind(&ProfileSyncService::StartUpSlowBackendComponents, 264 base::Bind(&ProfileSyncService::StartUpSlowBackendComponents,
268 weak_factory_.GetWeakPtr()))); 265 weak_factory_.GetWeakPtr())));
269 std::unique_ptr<sync_sessions::LocalSessionEventRouter> router( 266 std::unique_ptr<sync_sessions::LocalSessionEventRouter> router(
270 sync_client_->GetSyncSessionsClient()->GetLocalSessionEventRouter()); 267 sync_client_->GetSyncSessionsClient()->GetLocalSessionEventRouter());
271 local_device_ = sync_client_->GetSyncApiComponentFactory() 268 local_device_ = sync_client_->GetSyncApiComponentFactory()
272 ->CreateLocalDeviceInfoProvider(); 269 ->CreateLocalDeviceInfoProvider();
273 sync_stopped_reporter_.reset(new syncer::SyncStoppedReporter( 270 sync_stopped_reporter_.reset(new SyncStoppedReporter(
274 sync_service_url_, local_device_->GetSyncUserAgent(), 271 sync_service_url_, local_device_->GetSyncUserAgent(),
275 url_request_context_, syncer::SyncStoppedReporter::ResultCallback())); 272 url_request_context_, SyncStoppedReporter::ResultCallback()));
276 sessions_sync_manager_.reset(new SessionsSyncManager( 273 sessions_sync_manager_.reset(new SessionsSyncManager(
277 sync_client_->GetSyncSessionsClient(), &sync_prefs_, local_device_.get(), 274 sync_client_->GetSyncSessionsClient(), &sync_prefs_, local_device_.get(),
278 std::move(router), 275 std::move(router),
279 base::Bind(&ProfileSyncService::NotifyForeignSessionUpdated, 276 base::Bind(&ProfileSyncService::NotifyForeignSessionUpdated,
280 sync_enabled_weak_factory_.GetWeakPtr()), 277 sync_enabled_weak_factory_.GetWeakPtr()),
281 base::Bind(&ProfileSyncService::TriggerRefresh, 278 base::Bind(&ProfileSyncService::TriggerRefresh,
282 sync_enabled_weak_factory_.GetWeakPtr(), 279 sync_enabled_weak_factory_.GetWeakPtr(),
283 syncer::ModelTypeSet(syncer::SESSIONS)))); 280 syncer::ModelTypeSet(syncer::SESSIONS))));
284 281
285 if (base::FeatureList::IsEnabled(switches::kSyncUSSDeviceInfo)) { 282 if (base::FeatureList::IsEnabled(switches::kSyncUSSDeviceInfo)) {
286 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner( 283 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner(
287 blocking_pool_->GetSequencedTaskRunnerWithShutdownBehavior( 284 blocking_pool_->GetSequencedTaskRunnerWithShutdownBehavior(
288 blocking_pool_->GetSequenceToken(), 285 blocking_pool_->GetSequenceToken(),
289 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)); 286 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN));
290 // TODO(skym): Stop creating leveldb files when signed out. 287 // TODO(skym): Stop creating leveldb files when signed out.
291 // TODO(skym): Verify using AsUTF8Unsafe is okay here. Should work as long 288 // TODO(skym): Verify using AsUTF8Unsafe is okay here. Should work as long
292 // as the Local State file is guaranteed to be UTF-8. 289 // as the Local State file is guaranteed to be UTF-8.
293 device_info_service_.reset(new DeviceInfoService( 290 device_info_service_.reset(new DeviceInfoService(
294 local_device_.get(), 291 local_device_.get(),
295 base::Bind(&ModelTypeStore::CreateStore, syncer::DEVICE_INFO, 292 base::Bind(&ModelTypeStore::CreateStore, syncer::DEVICE_INFO,
296 directory_path_.Append(base::FilePath(kLevelDBFolderName)) 293 directory_path_.Append(base::FilePath(kLevelDBFolderName))
297 .AsUTF8Unsafe(), 294 .AsUTF8Unsafe(),
298 blocking_task_runner), 295 blocking_task_runner),
299 base::Bind(&SharedModelTypeProcessor::CreateAsChangeProcessor))); 296 base::Bind(&SharedModelTypeProcessor::CreateAsChangeProcessor)));
300 } else { 297 } else {
301 device_info_sync_service_.reset( 298 device_info_sync_service_.reset(
302 new DeviceInfoSyncService(local_device_.get())); 299 new DeviceInfoSyncService(local_device_.get()));
303 } 300 }
304 301
305 syncer::SyncApiComponentFactory::RegisterDataTypesMethod 302 sync_driver::SyncApiComponentFactory::RegisterDataTypesMethod
306 register_platform_types_callback = 303 register_platform_types_callback =
307 sync_client_->GetRegisterPlatformTypesCallback(); 304 sync_client_->GetRegisterPlatformTypesCallback();
308 sync_client_->GetSyncApiComponentFactory()->RegisterDataTypes( 305 sync_client_->GetSyncApiComponentFactory()->RegisterDataTypes(
309 this, register_platform_types_callback); 306 this, register_platform_types_callback);
310 307
311 if (gaia_cookie_manager_service_) 308 if (gaia_cookie_manager_service_)
312 gaia_cookie_manager_service_->AddObserver(this); 309 gaia_cookie_manager_service_->AddObserver(this);
313 310
314 // We clear this here (vs Shutdown) because we want to remember that an error 311 // We clear this here (vs Shutdown) because we want to remember that an error
315 // happened on shutdown so we can display details (message, location) about it 312 // happened on shutdown so we can display details (message, location) about it
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 std::string bootstrap_token = sync_prefs_.GetEncryptionBootstrapToken(); 354 std::string bootstrap_token = sync_prefs_.GetEncryptionBootstrapToken();
358 if (bootstrap_token.empty()) { 355 if (bootstrap_token.empty()) {
359 sync_prefs_.SetEncryptionBootstrapToken( 356 sync_prefs_.SetEncryptionBootstrapToken(
360 sync_prefs_.GetSpareBootstrapToken()); 357 sync_prefs_.GetSpareBootstrapToken());
361 } 358 }
362 #endif 359 #endif
363 360
364 #if !defined(OS_ANDROID) 361 #if !defined(OS_ANDROID)
365 DCHECK(sync_error_controller_ == NULL) 362 DCHECK(sync_error_controller_ == NULL)
366 << "Initialize() called more than once."; 363 << "Initialize() called more than once.";
367 sync_error_controller_.reset(new syncer::SyncErrorController(this)); 364 sync_error_controller_.reset(new SyncErrorController(this));
368 AddObserver(sync_error_controller_.get()); 365 AddObserver(sync_error_controller_.get());
369 #endif 366 #endif
370 367
371 memory_pressure_listener_.reset(new base::MemoryPressureListener( 368 memory_pressure_listener_.reset(new base::MemoryPressureListener(
372 base::Bind(&ProfileSyncService::OnMemoryPressure, 369 base::Bind(&ProfileSyncService::OnMemoryPressure,
373 sync_enabled_weak_factory_.GetWeakPtr()))); 370 sync_enabled_weak_factory_.GetWeakPtr())));
374 startup_controller_->Reset(GetRegisteredDataTypes()); 371 startup_controller_->Reset(GetRegisteredDataTypes());
375 372
376 // Auto-start means means the first time the profile starts up, sync should 373 // Auto-start means means the first time the profile starts up, sync should
377 // start up immediately. 374 // start up immediately.
(...skipping 25 matching lines...) Expand all
403 signin()->AddObserver(this); 400 signin()->AddObserver(this);
404 } 401 }
405 402
406 void ProfileSyncService::UnregisterAuthNotifications() { 403 void ProfileSyncService::UnregisterAuthNotifications() {
407 if (signin()) 404 if (signin())
408 signin()->RemoveObserver(this); 405 signin()->RemoveObserver(this);
409 oauth2_token_service_->RemoveObserver(this); 406 oauth2_token_service_->RemoveObserver(this);
410 } 407 }
411 408
412 void ProfileSyncService::RegisterDataTypeController( 409 void ProfileSyncService::RegisterDataTypeController(
413 std::unique_ptr<syncer::DataTypeController> data_type_controller) { 410 std::unique_ptr<sync_driver::DataTypeController> data_type_controller) {
414 DCHECK_EQ(data_type_controllers_.count(data_type_controller->type()), 0U); 411 DCHECK_EQ(data_type_controllers_.count(data_type_controller->type()), 0U);
415 data_type_controllers_[data_type_controller->type()] = 412 data_type_controllers_[data_type_controller->type()] =
416 std::move(data_type_controller); 413 std::move(data_type_controller);
417 } 414 }
418 415
419 bool ProfileSyncService::IsDataTypeControllerRunning( 416 bool ProfileSyncService::IsDataTypeControllerRunning(
420 syncer::ModelType type) const { 417 syncer::ModelType type) const {
421 DataTypeController::TypeMap::const_iterator iter = 418 DataTypeController::TypeMap::const_iterator iter =
422 data_type_controllers_.find(type); 419 data_type_controllers_.find(type);
423 if (iter == data_type_controllers_.end()) { 420 if (iter == data_type_controllers_.end()) {
424 return false; 421 return false;
425 } 422 }
426 return iter->second->state() == DataTypeController::RUNNING; 423 return iter->second->state() == DataTypeController::RUNNING;
427 } 424 }
428 425
429 sync_sessions::OpenTabsUIDelegate* ProfileSyncService::GetOpenTabsUIDelegate() { 426 sync_sessions::OpenTabsUIDelegate* ProfileSyncService::GetOpenTabsUIDelegate() {
430 if (!IsDataTypeControllerRunning(syncer::SESSIONS)) 427 if (!IsDataTypeControllerRunning(syncer::SESSIONS))
431 return NULL; 428 return NULL;
432 return sessions_sync_manager_.get(); 429 return sessions_sync_manager_.get();
433 } 430 }
434 431
435 sync_sessions::FaviconCache* ProfileSyncService::GetFaviconCache() { 432 sync_sessions::FaviconCache* ProfileSyncService::GetFaviconCache() {
436 return sessions_sync_manager_->GetFaviconCache(); 433 return sessions_sync_manager_->GetFaviconCache();
437 } 434 }
438 435
439 syncer::DeviceInfoTracker* ProfileSyncService::GetDeviceInfoTracker() const { 436 sync_driver::DeviceInfoTracker* ProfileSyncService::GetDeviceInfoTracker()
437 const {
440 // One of the two should always be non-null after initialization is done. 438 // One of the two should always be non-null after initialization is done.
441 if (device_info_service_) { 439 if (device_info_service_) {
442 return device_info_service_.get(); 440 return device_info_service_.get();
443 } else { 441 } else {
444 return device_info_sync_service_.get(); 442 return device_info_sync_service_.get();
445 } 443 }
446 } 444 }
447 445
448 syncer::LocalDeviceInfoProvider* 446 sync_driver::LocalDeviceInfoProvider*
449 ProfileSyncService::GetLocalDeviceInfoProvider() const { 447 ProfileSyncService::GetLocalDeviceInfoProvider() const {
450 return local_device_.get(); 448 return local_device_.get();
451 } 449 }
452 450
453 void ProfileSyncService::GetDataTypeControllerStates( 451 void ProfileSyncService::GetDataTypeControllerStates(
454 DataTypeController::StateMap* state_map) const { 452 DataTypeController::StateMap* state_map) const {
455 for (DataTypeController::TypeMap::const_iterator iter = 453 for (DataTypeController::TypeMap::const_iterator iter =
456 data_type_controllers_.begin(); 454 data_type_controllers_.begin();
457 iter != data_type_controllers_.end(); ++iter) 455 iter != data_type_controllers_.end(); ++iter)
458 (*state_map)[iter->first] = iter->second.get()->state(); 456 (*state_map)[iter->first] = iter->second.get()->state();
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 base::Unretained(network_resources_.get()), 504 base::Unretained(network_resources_.get()),
507 url_request_context_, network_time_update_callback_); 505 url_request_context_, network_time_update_callback_);
508 506
509 backend_->Initialize( 507 backend_->Initialize(
510 this, std::move(sync_thread_), db_thread_, file_thread_, 508 this, std::move(sync_thread_), db_thread_, file_thread_,
511 GetJsEventHandler(), sync_service_url_, local_device_->GetSyncUserAgent(), 509 GetJsEventHandler(), sync_service_url_, local_device_->GetSyncUserAgent(),
512 credentials, delete_stale_data, 510 credentials, delete_stale_data,
513 std::unique_ptr<syncer::SyncManagerFactory>( 511 std::unique_ptr<syncer::SyncManagerFactory>(
514 new syncer::SyncManagerFactory()), 512 new syncer::SyncManagerFactory()),
515 MakeWeakHandle(sync_enabled_weak_factory_.GetWeakPtr()), 513 MakeWeakHandle(sync_enabled_weak_factory_.GetWeakPtr()),
516 base::Bind(syncer::ChromeReportUnrecoverableError, channel_), 514 base::Bind(ChromeReportUnrecoverableError, channel_),
517 http_post_provider_factory_getter, std::move(saved_nigori_state_)); 515 http_post_provider_factory_getter, std::move(saved_nigori_state_));
518 } 516 }
519 517
520 bool ProfileSyncService::IsEncryptedDatatypeEnabled() const { 518 bool ProfileSyncService::IsEncryptedDatatypeEnabled() const {
521 if (encryption_pending()) 519 if (encryption_pending())
522 return true; 520 return true;
523 const syncer::ModelTypeSet preferred_types = GetPreferredDataTypes(); 521 const syncer::ModelTypeSet preferred_types = GetPreferredDataTypes();
524 const syncer::ModelTypeSet encrypted_types = GetEncryptedDataTypes(); 522 const syncer::ModelTypeSet encrypted_types = GetEncryptedDataTypes();
525 DCHECK(encrypted_types.Has(syncer::PASSWORDS)); 523 DCHECK(encrypted_types.Has(syncer::PASSWORDS));
526 return !Intersection(preferred_types, encrypted_types).Empty(); 524 return !Intersection(preferred_types, encrypted_types).Empty();
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 if (IsBackendInitialized()) { 820 if (IsBackendInitialized()) {
823 ReconfigureDatatypeManager(); 821 ReconfigureDatatypeManager();
824 } 822 }
825 } 823 }
826 824
827 void ProfileSyncService::UpdateLastSyncedTime() { 825 void ProfileSyncService::UpdateLastSyncedTime() {
828 sync_prefs_.SetLastSyncedTime(base::Time::Now()); 826 sync_prefs_.SetLastSyncedTime(base::Time::Now());
829 } 827 }
830 828
831 void ProfileSyncService::NotifyObservers() { 829 void ProfileSyncService::NotifyObservers() {
832 FOR_EACH_OBSERVER(syncer::SyncServiceObserver, observers_, OnStateChanged()); 830 FOR_EACH_OBSERVER(sync_driver::SyncServiceObserver, observers_,
831 OnStateChanged());
833 } 832 }
834 833
835 void ProfileSyncService::NotifySyncCycleCompleted() { 834 void ProfileSyncService::NotifySyncCycleCompleted() {
836 FOR_EACH_OBSERVER(syncer::SyncServiceObserver, observers_, 835 FOR_EACH_OBSERVER(sync_driver::SyncServiceObserver, observers_,
837 OnSyncCycleCompleted()); 836 OnSyncCycleCompleted());
838 } 837 }
839 838
840 void ProfileSyncService::NotifyForeignSessionUpdated() { 839 void ProfileSyncService::NotifyForeignSessionUpdated() {
841 FOR_EACH_OBSERVER(syncer::SyncServiceObserver, observers_, 840 FOR_EACH_OBSERVER(sync_driver::SyncServiceObserver, observers_,
842 OnForeignSessionUpdated()); 841 OnForeignSessionUpdated());
843 } 842 }
844 843
845 void ProfileSyncService::ClearStaleErrors() { 844 void ProfileSyncService::ClearStaleErrors() {
846 ClearUnrecoverableError(); 845 ClearUnrecoverableError();
847 last_actionable_error_ = SyncProtocolError(); 846 last_actionable_error_ = SyncProtocolError();
848 // Clear the data type errors as well. 847 // Clear the data type errors as well.
849 if (data_type_manager_.get()) 848 if (data_type_manager_.get())
850 data_type_manager_->ResetDataTypeErrors(); 849 data_type_manager_->ResetDataTypeErrors();
851 } 850 }
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 if (is_first_time_sync_configure_) { 1317 if (is_first_time_sync_configure_) {
1319 UMA_HISTOGRAM_LONG_TIMES("Sync.ServiceInitialConfigureTime", delta); 1318 UMA_HISTOGRAM_LONG_TIMES("Sync.ServiceInitialConfigureTime", delta);
1320 } else { 1319 } else {
1321 UMA_HISTOGRAM_LONG_TIMES("Sync.ServiceSubsequentConfigureTime", delta); 1320 UMA_HISTOGRAM_LONG_TIMES("Sync.ServiceSubsequentConfigureTime", delta);
1322 } 1321 }
1323 } 1322 }
1324 sync_configure_start_time_ = base::Time(); 1323 sync_configure_start_time_ = base::Time();
1325 } 1324 }
1326 1325
1327 // Notify listeners that configuration is done. 1326 // Notify listeners that configuration is done.
1328 FOR_EACH_OBSERVER(syncer::SyncServiceObserver, observers_, 1327 FOR_EACH_OBSERVER(sync_driver::SyncServiceObserver, observers_,
1329 OnSyncConfigurationCompleted()); 1328 OnSyncConfigurationCompleted());
1330 1329
1331 DVLOG(1) << "PSS OnConfigureDone called with status: " << configure_status_; 1330 DVLOG(1) << "PSS OnConfigureDone called with status: " << configure_status_;
1332 // The possible status values: 1331 // The possible status values:
1333 // ABORT - Configuration was aborted. This is not an error, if 1332 // ABORT - Configuration was aborted. This is not an error, if
1334 // initiated by user. 1333 // initiated by user.
1335 // OK - Some or all types succeeded. 1334 // OK - Some or all types succeeded.
1336 // Everything else is an UnrecoverableError. So treat it as such. 1335 // Everything else is an UnrecoverableError. So treat it as such.
1337 1336
1338 // First handle the abort case. 1337 // First handle the abort case.
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 } 1463 }
1465 1464
1466 bool ProfileSyncService::CanConfigureDataTypes() const { 1465 bool ProfileSyncService::CanConfigureDataTypes() const {
1467 return IsFirstSetupComplete() && !IsSetupInProgress(); 1466 return IsFirstSetupComplete() && !IsSetupInProgress();
1468 } 1467 }
1469 1468
1470 bool ProfileSyncService::IsFirstSetupInProgress() const { 1469 bool ProfileSyncService::IsFirstSetupInProgress() const {
1471 return !IsFirstSetupComplete() && startup_controller_->IsSetupInProgress(); 1470 return !IsFirstSetupComplete() && startup_controller_->IsSetupInProgress();
1472 } 1471 }
1473 1472
1474 std::unique_ptr<syncer::SyncSetupInProgressHandle> 1473 std::unique_ptr<sync_driver::SyncSetupInProgressHandle>
1475 ProfileSyncService::GetSetupInProgressHandle() { 1474 ProfileSyncService::GetSetupInProgressHandle() {
1476 if (++outstanding_setup_in_progress_handles_ == 1) { 1475 if (++outstanding_setup_in_progress_handles_ == 1) {
1477 DCHECK(!startup_controller_->IsSetupInProgress()); 1476 DCHECK(!startup_controller_->IsSetupInProgress());
1478 startup_controller_->SetSetupInProgress(true); 1477 startup_controller_->SetSetupInProgress(true);
1479 1478
1480 NotifyObservers(); 1479 NotifyObservers();
1481 } 1480 }
1482 1481
1483 return std::unique_ptr<syncer::SyncSetupInProgressHandle>( 1482 return std::unique_ptr<sync_driver::SyncSetupInProgressHandle>(
1484 new syncer::SyncSetupInProgressHandle( 1483 new sync_driver::SyncSetupInProgressHandle(
1485 base::Bind(&ProfileSyncService::OnSetupInProgressHandleDestroyed, 1484 base::Bind(&ProfileSyncService::OnSetupInProgressHandleDestroyed,
1486 weak_factory_.GetWeakPtr()))); 1485 weak_factory_.GetWeakPtr())));
1487 } 1486 }
1488 1487
1489 bool ProfileSyncService::IsSyncAllowed() const { 1488 bool ProfileSyncService::IsSyncAllowed() const {
1490 return IsSyncAllowedByFlag() && !IsManaged() && IsSyncAllowedByPlatform(); 1489 return IsSyncAllowedByFlag() && !IsManaged() && IsSyncAllowedByPlatform();
1491 } 1490 }
1492 1491
1493 bool ProfileSyncService::IsSyncActive() const { 1492 bool ProfileSyncService::IsSyncActive() const {
1494 return backend_initialized_ && data_type_manager_ && 1493 return backend_initialized_ && data_type_manager_ &&
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1562 bool sync_everything, 1561 bool sync_everything,
1563 const syncer::ModelTypeSet chosen_types) const { 1562 const syncer::ModelTypeSet chosen_types) const {
1564 if (!IsFirstSetupComplete() || 1563 if (!IsFirstSetupComplete() ||
1565 sync_everything != sync_prefs_.HasKeepEverythingSynced()) { 1564 sync_everything != sync_prefs_.HasKeepEverythingSynced()) {
1566 UMA_HISTOGRAM_BOOLEAN("Sync.SyncEverything", sync_everything); 1565 UMA_HISTOGRAM_BOOLEAN("Sync.SyncEverything", sync_everything);
1567 } 1566 }
1568 1567
1569 // Only log the data types that are shown in the sync settings ui. 1568 // Only log the data types that are shown in the sync settings ui.
1570 // Note: the order of these types must match the ordering of 1569 // Note: the order of these types must match the ordering of
1571 // the respective types in ModelType 1570 // the respective types in ModelType
1572 const syncer::user_selectable_type::UserSelectableSyncType 1571 const sync_driver::user_selectable_type::UserSelectableSyncType
1573 user_selectable_types[] = { 1572 user_selectable_types[] = {
1574 syncer::user_selectable_type::BOOKMARKS, 1573 sync_driver::user_selectable_type::BOOKMARKS,
1575 syncer::user_selectable_type::PREFERENCES, 1574 sync_driver::user_selectable_type::PREFERENCES,
1576 syncer::user_selectable_type::PASSWORDS, 1575 sync_driver::user_selectable_type::PASSWORDS,
1577 syncer::user_selectable_type::AUTOFILL, 1576 sync_driver::user_selectable_type::AUTOFILL,
1578 syncer::user_selectable_type::THEMES, 1577 sync_driver::user_selectable_type::THEMES,
1579 syncer::user_selectable_type::TYPED_URLS, 1578 sync_driver::user_selectable_type::TYPED_URLS,
1580 syncer::user_selectable_type::EXTENSIONS, 1579 sync_driver::user_selectable_type::EXTENSIONS,
1581 syncer::user_selectable_type::APPS, 1580 sync_driver::user_selectable_type::APPS,
1582 syncer::user_selectable_type::PROXY_TABS, 1581 sync_driver::user_selectable_type::PROXY_TABS,
1583 }; 1582 };
1584 1583
1585 static_assert(39 == syncer::MODEL_TYPE_COUNT, 1584 static_assert(39 == syncer::MODEL_TYPE_COUNT,
1586 "custom config histogram must be updated"); 1585 "custom config histogram must be updated");
1587 1586
1588 if (!sync_everything) { 1587 if (!sync_everything) {
1589 const syncer::ModelTypeSet current_types = GetPreferredDataTypes(); 1588 const syncer::ModelTypeSet current_types = GetPreferredDataTypes();
1590 1589
1591 syncer::ModelTypeSet type_set = syncer::UserSelectableTypes(); 1590 syncer::ModelTypeSet type_set = syncer::UserSelectableTypes();
1592 syncer::ModelTypeSet::Iterator it = type_set.First(); 1591 syncer::ModelTypeSet::Iterator it = type_set.First();
1593 1592
1594 DCHECK_EQ(arraysize(user_selectable_types), type_set.Size()); 1593 DCHECK_EQ(arraysize(user_selectable_types), type_set.Size());
1595 1594
1596 for (size_t i = 0; i < arraysize(user_selectable_types) && it.Good(); 1595 for (size_t i = 0; i < arraysize(user_selectable_types) && it.Good();
1597 ++i, it.Inc()) { 1596 ++i, it.Inc()) {
1598 const syncer::ModelType type = it.Get(); 1597 const syncer::ModelType type = it.Get();
1599 if (chosen_types.Has(type) && 1598 if (chosen_types.Has(type) &&
1600 (!IsFirstSetupComplete() || !current_types.Has(type))) { 1599 (!IsFirstSetupComplete() || !current_types.Has(type))) {
1601 // Selected type has changed - log it. 1600 // Selected type has changed - log it.
1602 UMA_HISTOGRAM_ENUMERATION( 1601 UMA_HISTOGRAM_ENUMERATION(
1603 "Sync.CustomSync", user_selectable_types[i], 1602 "Sync.CustomSync", user_selectable_types[i],
1604 syncer::user_selectable_type::SELECTABLE_DATATYPE_COUNT + 1); 1603 sync_driver::user_selectable_type::SELECTABLE_DATATYPE_COUNT + 1);
1605 } 1604 }
1606 } 1605 }
1607 } 1606 }
1608 } 1607 }
1609 1608
1610 #if defined(OS_CHROMEOS) 1609 #if defined(OS_CHROMEOS)
1611 void ProfileSyncService::RefreshSpareBootstrapToken( 1610 void ProfileSyncService::RefreshSpareBootstrapToken(
1612 const std::string& passphrase) { 1611 const std::string& passphrase) {
1613 syncer::SystemEncryptor encryptor; 1612 sync_driver::SystemEncryptor encryptor;
1614 syncer::Cryptographer temp_cryptographer(&encryptor); 1613 syncer::Cryptographer temp_cryptographer(&encryptor);
1615 // The first 2 params (hostname and username) doesn't have any effect here. 1614 // The first 2 params (hostname and username) doesn't have any effect here.
1616 syncer::KeyParams key_params = {"localhost", "dummy", passphrase}; 1615 syncer::KeyParams key_params = {"localhost", "dummy", passphrase};
1617 1616
1618 std::string bootstrap_token; 1617 std::string bootstrap_token;
1619 if (!temp_cryptographer.AddKey(key_params)) { 1618 if (!temp_cryptographer.AddKey(key_params)) {
1620 NOTREACHED() << "Failed to add key to cryptographer."; 1619 NOTREACHED() << "Failed to add key to cryptographer.";
1621 } 1620 }
1622 temp_cryptographer.GetBootstrapToken(&bootstrap_token); 1621 temp_cryptographer.GetBootstrapToken(&bootstrap_token);
1623 sync_prefs_.SetSpareBootstrapToken(bootstrap_token); 1622 sync_prefs_.SetSpareBootstrapToken(bootstrap_token);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1655 1654
1656 syncer::ModelTypeSet ProfileSyncService::GetActiveDataTypes() const { 1655 syncer::ModelTypeSet ProfileSyncService::GetActiveDataTypes() const {
1657 if (!IsSyncActive() || !ConfigurationDone()) 1656 if (!IsSyncActive() || !ConfigurationDone())
1658 return syncer::ModelTypeSet(); 1657 return syncer::ModelTypeSet();
1659 const syncer::ModelTypeSet preferred_types = GetPreferredDataTypes(); 1658 const syncer::ModelTypeSet preferred_types = GetPreferredDataTypes();
1660 const syncer::ModelTypeSet failed_types = 1659 const syncer::ModelTypeSet failed_types =
1661 data_type_status_table_.GetFailedTypes(); 1660 data_type_status_table_.GetFailedTypes();
1662 return Difference(preferred_types, failed_types); 1661 return Difference(preferred_types, failed_types);
1663 } 1662 }
1664 1663
1665 syncer::SyncClient* ProfileSyncService::GetSyncClient() const { 1664 sync_driver::SyncClient* ProfileSyncService::GetSyncClient() const {
1666 return sync_client_.get(); 1665 return sync_client_.get();
1667 } 1666 }
1668 1667
1669 syncer::ModelTypeSet ProfileSyncService::GetPreferredDataTypes() const { 1668 syncer::ModelTypeSet ProfileSyncService::GetPreferredDataTypes() const {
1670 const syncer::ModelTypeSet registered_types = GetRegisteredDataTypes(); 1669 const syncer::ModelTypeSet registered_types = GetRegisteredDataTypes();
1671 const syncer::ModelTypeSet preferred_types = 1670 const syncer::ModelTypeSet preferred_types =
1672 Union(sync_prefs_.GetPreferredDataTypes(registered_types), 1671 Union(sync_prefs_.GetPreferredDataTypes(registered_types),
1673 syncer::ControlTypes()); 1672 syncer::ControlTypes());
1674 const syncer::ModelTypeSet enforced_types = 1673 const syncer::ModelTypeSet enforced_types =
1675 Intersection(GetDataTypesFromPreferenceProviders(), registered_types); 1674 Intersection(GetDataTypesFromPreferenceProviders(), registered_types);
(...skipping 20 matching lines...) Expand all
1696 } 1695 }
1697 1696
1698 bool ProfileSyncService::IsUsingSecondaryPassphrase() const { 1697 bool ProfileSyncService::IsUsingSecondaryPassphrase() const {
1699 syncer::PassphraseType passphrase_type = GetPassphraseType(); 1698 syncer::PassphraseType passphrase_type = GetPassphraseType();
1700 return passphrase_type == 1699 return passphrase_type ==
1701 syncer::PassphraseType::FROZEN_IMPLICIT_PASSPHRASE || 1700 syncer::PassphraseType::FROZEN_IMPLICIT_PASSPHRASE ||
1702 passphrase_type == syncer::PassphraseType::CUSTOM_PASSPHRASE; 1701 passphrase_type == syncer::PassphraseType::CUSTOM_PASSPHRASE;
1703 } 1702 }
1704 1703
1705 std::string ProfileSyncService::GetCustomPassphraseKey() const { 1704 std::string ProfileSyncService::GetCustomPassphraseKey() const {
1706 syncer::SystemEncryptor encryptor; 1705 sync_driver::SystemEncryptor encryptor;
1707 syncer::Cryptographer cryptographer(&encryptor); 1706 syncer::Cryptographer cryptographer(&encryptor);
1708 cryptographer.Bootstrap(sync_prefs_.GetEncryptionBootstrapToken()); 1707 cryptographer.Bootstrap(sync_prefs_.GetEncryptionBootstrapToken());
1709 return cryptographer.GetDefaultNigoriKeyData(); 1708 return cryptographer.GetDefaultNigoriKeyData();
1710 } 1709 }
1711 1710
1712 syncer::PassphraseType ProfileSyncService::GetPassphraseType() const { 1711 syncer::PassphraseType ProfileSyncService::GetPassphraseType() const {
1713 return backend_->GetPassphraseType(); 1712 return backend_->GetPassphraseType();
1714 } 1713 }
1715 1714
1716 base::Time ProfileSyncService::GetExplicitPassphraseTime() const { 1715 base::Time ProfileSyncService::GetExplicitPassphraseTime() const {
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
2085 cookie_jar_mismatch = false; 2084 cookie_jar_mismatch = false;
2086 break; 2085 break;
2087 } 2086 }
2088 } 2087 }
2089 2088
2090 DVLOG(1) << "Cookie jar mismatch: " << cookie_jar_mismatch; 2089 DVLOG(1) << "Cookie jar mismatch: " << cookie_jar_mismatch;
2091 DVLOG(1) << "Cookie jar empty: " << cookie_jar_empty; 2090 DVLOG(1) << "Cookie jar empty: " << cookie_jar_empty;
2092 backend_->OnCookieJarChanged(cookie_jar_mismatch, cookie_jar_empty); 2091 backend_->OnCookieJarChanged(cookie_jar_mismatch, cookie_jar_empty);
2093 } 2092 }
2094 2093
2095 void ProfileSyncService::AddObserver(syncer::SyncServiceObserver* observer) { 2094 void ProfileSyncService::AddObserver(
2095 sync_driver::SyncServiceObserver* observer) {
2096 observers_.AddObserver(observer); 2096 observers_.AddObserver(observer);
2097 } 2097 }
2098 2098
2099 void ProfileSyncService::RemoveObserver(syncer::SyncServiceObserver* observer) { 2099 void ProfileSyncService::RemoveObserver(
2100 sync_driver::SyncServiceObserver* observer) {
2100 observers_.RemoveObserver(observer); 2101 observers_.RemoveObserver(observer);
2101 } 2102 }
2102 2103
2103 void ProfileSyncService::AddProtocolEventObserver( 2104 void ProfileSyncService::AddProtocolEventObserver(
2104 ProtocolEventObserver* observer) { 2105 ProtocolEventObserver* observer) {
2105 protocol_event_observers_.AddObserver(observer); 2106 protocol_event_observers_.AddObserver(observer);
2106 if (HasSyncingBackend()) { 2107 if (HasSyncingBackend()) {
2107 backend_->RequestBufferedProtocolEventsAndEnableForwarding(); 2108 backend_->RequestBufferedProtocolEventsAndEnableForwarding();
2108 } 2109 }
2109 } 2110 }
(...skipping 19 matching lines...) Expand all
2129 void ProfileSyncService::RemoveTypeDebugInfoObserver( 2130 void ProfileSyncService::RemoveTypeDebugInfoObserver(
2130 syncer::TypeDebugInfoObserver* type_debug_info_observer) { 2131 syncer::TypeDebugInfoObserver* type_debug_info_observer) {
2131 type_debug_info_observers_.RemoveObserver(type_debug_info_observer); 2132 type_debug_info_observers_.RemoveObserver(type_debug_info_observer);
2132 if (!type_debug_info_observers_.might_have_observers() && 2133 if (!type_debug_info_observers_.might_have_observers() &&
2133 backend_initialized_) { 2134 backend_initialized_) {
2134 backend_->DisableDirectoryTypeDebugInfoForwarding(); 2135 backend_->DisableDirectoryTypeDebugInfoForwarding();
2135 } 2136 }
2136 } 2137 }
2137 2138
2138 void ProfileSyncService::AddPreferenceProvider( 2139 void ProfileSyncService::AddPreferenceProvider(
2139 syncer::SyncTypePreferenceProvider* provider) { 2140 SyncTypePreferenceProvider* provider) {
2140 DCHECK(!HasPreferenceProvider(provider)) 2141 DCHECK(!HasPreferenceProvider(provider))
2141 << "Providers may only be added once!"; 2142 << "Providers may only be added once!";
2142 preference_providers_.insert(provider); 2143 preference_providers_.insert(provider);
2143 } 2144 }
2144 2145
2145 void ProfileSyncService::RemovePreferenceProvider( 2146 void ProfileSyncService::RemovePreferenceProvider(
2146 syncer::SyncTypePreferenceProvider* provider) { 2147 SyncTypePreferenceProvider* provider) {
2147 DCHECK(HasPreferenceProvider(provider)) 2148 DCHECK(HasPreferenceProvider(provider))
2148 << "Only providers that have been added before can be removed!"; 2149 << "Only providers that have been added before can be removed!";
2149 preference_providers_.erase(provider); 2150 preference_providers_.erase(provider);
2150 } 2151 }
2151 2152
2152 bool ProfileSyncService::HasPreferenceProvider( 2153 bool ProfileSyncService::HasPreferenceProvider(
2153 syncer::SyncTypePreferenceProvider* provider) const { 2154 SyncTypePreferenceProvider* provider) const {
2154 return preference_providers_.count(provider) > 0; 2155 return preference_providers_.count(provider) > 0;
2155 } 2156 }
2156 2157
2157 namespace { 2158 namespace {
2158 2159
2159 class GetAllNodesRequestHelper 2160 class GetAllNodesRequestHelper
2160 : public base::RefCountedThreadSafe<GetAllNodesRequestHelper> { 2161 : public base::RefCountedThreadSafe<GetAllNodesRequestHelper> {
2161 public: 2162 public:
2162 GetAllNodesRequestHelper( 2163 GetAllNodesRequestHelper(
2163 syncer::ModelTypeSet requested_types, 2164 syncer::ModelTypeSet requested_types,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
2231 } 2232 }
2232 2233
2233 for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) { 2234 for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) {
2234 const auto& dtc_iter = data_type_controllers_.find(it.Get()); 2235 const auto& dtc_iter = data_type_controllers_.find(it.Get());
2235 if (dtc_iter != data_type_controllers_.end()) { 2236 if (dtc_iter != data_type_controllers_.end()) {
2236 dtc_iter->second->GetAllNodes(base::Bind( 2237 dtc_iter->second->GetAllNodes(base::Bind(
2237 &GetAllNodesRequestHelper::OnReceivedNodesForType, helper)); 2238 &GetAllNodesRequestHelper::OnReceivedNodesForType, helper));
2238 } else { 2239 } else {
2239 // Control Types 2240 // Control Types
2240 helper->OnReceivedNodesForType( 2241 helper->OnReceivedNodesForType(
2241 it.Get(), 2242 it.Get(), sync_driver::DirectoryDataTypeController::
2242 syncer::DirectoryDataTypeController::GetAllNodesForTypeFromDirectory( 2243 GetAllNodesForTypeFromDirectory(
2243 it.Get(), GetUserShare()->directory.get())); 2244 it.Get(), GetUserShare()->directory.get()));
2244 } 2245 }
2245 } 2246 }
2246 } 2247 }
2247 2248
2248 bool ProfileSyncService::HasObserver( 2249 bool ProfileSyncService::HasObserver(
2249 const syncer::SyncServiceObserver* observer) const { 2250 const sync_driver::SyncServiceObserver* observer) const {
2250 return observers_.HasObserver(observer); 2251 return observers_.HasObserver(observer);
2251 } 2252 }
2252 2253
2253 base::WeakPtr<syncer::JsController> ProfileSyncService::GetJsController() { 2254 base::WeakPtr<syncer::JsController> ProfileSyncService::GetJsController() {
2254 return sync_js_controller_.AsWeakPtr(); 2255 return sync_js_controller_.AsWeakPtr();
2255 } 2256 }
2256 2257
2257 void ProfileSyncService::SyncEvent(SyncEventCodes code) { 2258 void ProfileSyncService::SyncEvent(SyncEventCodes code) {
2258 UMA_HISTOGRAM_ENUMERATION("Sync.EventCodes", code, MAX_SYNC_EVENT_CODE); 2259 UMA_HISTOGRAM_ENUMERATION("Sync.EventCodes", code, MAX_SYNC_EVENT_CODE);
2259 } 2260 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2315 << "Unrecoverable error."; 2316 << "Unrecoverable error.";
2316 } else { 2317 } else {
2317 DVLOG(0) << "ConfigureDataTypeManager not invoked because backend is not " 2318 DVLOG(0) << "ConfigureDataTypeManager not invoked because backend is not "
2318 << "initialized"; 2319 << "initialized";
2319 } 2320 }
2320 } 2321 }
2321 2322
2322 syncer::ModelTypeSet ProfileSyncService::GetDataTypesFromPreferenceProviders() 2323 syncer::ModelTypeSet ProfileSyncService::GetDataTypesFromPreferenceProviders()
2323 const { 2324 const {
2324 syncer::ModelTypeSet types; 2325 syncer::ModelTypeSet types;
2325 for (std::set<syncer::SyncTypePreferenceProvider*>::const_iterator it = 2326 for (std::set<SyncTypePreferenceProvider*>::const_iterator it =
2326 preference_providers_.begin(); 2327 preference_providers_.begin();
2327 it != preference_providers_.end(); ++it) { 2328 it != preference_providers_.end(); ++it) {
2328 types.PutAll((*it)->GetPreferredDataTypes()); 2329 types.PutAll((*it)->GetPreferredDataTypes());
2329 } 2330 }
2330 return types; 2331 return types;
2331 } 2332 }
2332 2333
2333 const DataTypeStatusTable& ProfileSyncService::data_type_status_table() const { 2334 const DataTypeStatusTable& ProfileSyncService::data_type_status_table() const {
2334 return data_type_status_table_; 2335 return data_type_status_table_;
2335 } 2336 }
(...skipping 21 matching lines...) Expand all
2357 } 2358 }
2358 2359
2359 syncer::SyncableService* ProfileSyncService::GetSessionsSyncableService() { 2360 syncer::SyncableService* ProfileSyncService::GetSessionsSyncableService() {
2360 return sessions_sync_manager_.get(); 2361 return sessions_sync_manager_.get();
2361 } 2362 }
2362 2363
2363 syncer::SyncableService* ProfileSyncService::GetDeviceInfoSyncableService() { 2364 syncer::SyncableService* ProfileSyncService::GetDeviceInfoSyncableService() {
2364 return device_info_sync_service_.get(); 2365 return device_info_sync_service_.get();
2365 } 2366 }
2366 2367
2367 syncer::ModelTypeService* ProfileSyncService::GetDeviceInfoService() { 2368 syncer_v2::ModelTypeService* ProfileSyncService::GetDeviceInfoService() {
2368 return device_info_service_.get(); 2369 return device_info_service_.get();
2369 } 2370 }
2370 2371
2371 syncer::SyncService::SyncTokenStatus ProfileSyncService::GetSyncTokenStatus() 2372 sync_driver::SyncService::SyncTokenStatus
2372 const { 2373 ProfileSyncService::GetSyncTokenStatus() const {
2373 SyncTokenStatus status; 2374 SyncTokenStatus status;
2374 status.connection_status_update_time = connection_status_update_time_; 2375 status.connection_status_update_time = connection_status_update_time_;
2375 status.connection_status = connection_status_; 2376 status.connection_status = connection_status_;
2376 status.token_request_time = token_request_time_; 2377 status.token_request_time = token_request_time_;
2377 status.token_receive_time = token_receive_time_; 2378 status.token_receive_time = token_receive_time_;
2378 status.last_get_token_error = last_get_token_error_; 2379 status.last_get_token_error = last_get_token_error_;
2379 if (request_access_token_retry_timer_.IsRunning()) 2380 if (request_access_token_retry_timer_.IsRunning())
2380 status.next_token_request_time = next_token_request_time_; 2381 status.next_token_request_time = next_token_request_time_;
2381 return status; 2382 return status;
2382 } 2383 }
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
2490 2491
2491 DCHECK(startup_controller_->IsSetupInProgress()); 2492 DCHECK(startup_controller_->IsSetupInProgress());
2492 startup_controller_->SetSetupInProgress(false); 2493 startup_controller_->SetSetupInProgress(false);
2493 2494
2494 if (IsBackendInitialized()) 2495 if (IsBackendInitialized())
2495 ReconfigureDatatypeManager(); 2496 ReconfigureDatatypeManager();
2496 NotifyObservers(); 2497 NotifyObservers();
2497 } 2498 }
2498 2499
2499 } // namespace browser_sync 2500 } // namespace browser_sync
OLDNEW
« no previous file with comments | « components/browser_sync/profile_sync_service.h ('k') | components/browser_sync/profile_sync_service_autofill_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698