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

Side by Side Diff: sync/internal_api/sync_manager_impl.cc

Issue 10455012: [Sync] Add support for performing a GetKey on startup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fred's comments Created 8 years, 4 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 | Annotate | Revision Log
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 "sync/internal_api/sync_manager_impl.h" 5 #include "sync/internal_api/sync_manager_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 previous_types = GetRoutingInfoTypes(session_context_->routing_info()); 344 previous_types = GetRoutingInfoTypes(session_context_->routing_info());
345 if (!PurgeDisabledTypes(previous_types, 345 if (!PurgeDisabledTypes(previous_types,
346 GetRoutingInfoTypes(new_routing_info))) { 346 GetRoutingInfoTypes(new_routing_info))) {
347 // We failed to cleanup the types. Invoke the ready task without actually 347 // We failed to cleanup the types. Invoke the ready task without actually
348 // configuring any types. The caller should detect this as a configuration 348 // configuring any types. The caller should detect this as a configuration
349 // failure and act appropriately. 349 // failure and act appropriately.
350 ready_task.Run(); 350 ready_task.Run();
351 return; 351 return;
352 } 352 }
353 353
354 // TODO(zea): set this based on whether cryptographer has keystore
355 // encryption key or not (requires opening a transaction). crbug.com/129665.
356 ConfigurationParams::KeystoreKeyStatus keystore_key_status =
357 ConfigurationParams::KEYSTORE_KEY_UNNECESSARY;
358
359 ConfigurationParams params(GetSourceFromReason(reason), 354 ConfigurationParams params(GetSourceFromReason(reason),
360 types_to_config, 355 types_to_config,
361 new_routing_info, 356 new_routing_info,
362 keystore_key_status,
363 ready_task); 357 ready_task);
364 358
365 scheduler_->Start(SyncScheduler::CONFIGURATION_MODE); 359 scheduler_->Start(SyncScheduler::CONFIGURATION_MODE);
366 if (!scheduler_->ScheduleConfiguration(params)) 360 if (!scheduler_->ScheduleConfiguration(params))
367 retry_task.Run(); 361 retry_task.Run();
368 362
369 } 363 }
370 364
371 bool SyncManagerImpl::Init( 365 bool SyncManagerImpl::Init(
372 const FilePath& database_location, 366 const FilePath& database_location,
373 const WeakHandle<JsEventHandler>& event_handler, 367 const WeakHandle<JsEventHandler>& event_handler,
374 const std::string& sync_server_and_path, 368 const std::string& sync_server_and_path,
375 int port, 369 int port,
376 bool use_ssl, 370 bool use_ssl,
377 const scoped_refptr<base::TaskRunner>& blocking_task_runner, 371 const scoped_refptr<base::TaskRunner>& blocking_task_runner,
378 scoped_ptr<HttpPostProviderFactory> post_factory, 372 scoped_ptr<HttpPostProviderFactory> post_factory,
379 const std::vector<ModelSafeWorker*>& workers, 373 const std::vector<ModelSafeWorker*>& workers,
380 ExtensionsActivityMonitor* extensions_activity_monitor, 374 ExtensionsActivityMonitor* extensions_activity_monitor,
381 SyncManager::ChangeDelegate* change_delegate, 375 SyncManager::ChangeDelegate* change_delegate,
382 const SyncCredentials& credentials, 376 const SyncCredentials& credentials,
383 scoped_ptr<SyncNotifier> sync_notifier, 377 scoped_ptr<SyncNotifier> sync_notifier,
384 const std::string& restored_key_for_bootstrapping, 378 const std::string& restored_key_for_bootstrapping,
379 bool keystore_encryption_enabled,
385 scoped_ptr<InternalComponentsFactory> internal_components_factory, 380 scoped_ptr<InternalComponentsFactory> internal_components_factory,
386 Encryptor* encryptor, 381 Encryptor* encryptor,
387 UnrecoverableErrorHandler* unrecoverable_error_handler, 382 UnrecoverableErrorHandler* unrecoverable_error_handler,
388 ReportUnrecoverableErrorFunction report_unrecoverable_error_function) { 383 ReportUnrecoverableErrorFunction report_unrecoverable_error_function) {
389 CHECK(!initialized_); 384 CHECK(!initialized_);
390 DCHECK(thread_checker_.CalledOnValidThread()); 385 DCHECK(thread_checker_.CalledOnValidThread());
391 DCHECK(post_factory.get()); 386 DCHECK(post_factory.get());
392 DCHECK(!credentials.email.empty()); 387 DCHECK(!credentials.email.empty());
393 DCHECK(!credentials.sync_token.empty()); 388 DCHECK(!credentials.sync_token.empty());
394 DVLOG(1) << "SyncManager starting Init..."; 389 DVLOG(1) << "SyncManager starting Init...";
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 listeners.push_back(&allstatus_); 457 listeners.push_back(&allstatus_);
463 listeners.push_back(this); 458 listeners.push_back(this);
464 session_context_ = internal_components_factory->BuildContext( 459 session_context_ = internal_components_factory->BuildContext(
465 connection_manager_.get(), 460 connection_manager_.get(),
466 directory(), 461 directory(),
467 workers, 462 workers,
468 extensions_activity_monitor, 463 extensions_activity_monitor,
469 &throttled_data_type_tracker_, 464 &throttled_data_type_tracker_,
470 listeners, 465 listeners,
471 &debug_info_event_listener_, 466 &debug_info_event_listener_,
472 &traffic_recorder_).Pass(); 467 &traffic_recorder_,
468 keystore_encryption_enabled).Pass();
473 session_context_->set_account_name(credentials.email); 469 session_context_->set_account_name(credentials.email);
474 scheduler_ = internal_components_factory->BuildScheduler( 470 scheduler_ = internal_components_factory->BuildScheduler(
475 name_, session_context_.get()).Pass(); 471 name_, session_context_.get()).Pass();
476 472
477 scheduler_->Start(SyncScheduler::CONFIGURATION_MODE); 473 scheduler_->Start(SyncScheduler::CONFIGURATION_MODE);
478 474
479 initialized_ = true; 475 initialized_ = true;
480 476
481 net::NetworkChangeNotifier::AddIPAddressObserver(this); 477 net::NetworkChangeNotifier::AddIPAddressObserver(this);
482 observing_ip_address_changes_ = true; 478 observing_ip_address_changes_ = true;
(...skipping 1390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1873 int SyncManagerImpl::GetDefaultNudgeDelay() { 1869 int SyncManagerImpl::GetDefaultNudgeDelay() {
1874 return kDefaultNudgeDelayMilliseconds; 1870 return kDefaultNudgeDelayMilliseconds;
1875 } 1871 }
1876 1872
1877 // static. 1873 // static.
1878 int SyncManagerImpl::GetPreferencesNudgeDelay() { 1874 int SyncManagerImpl::GetPreferencesNudgeDelay() {
1879 return kPreferencesNudgeDelayMilliseconds; 1875 return kPreferencesNudgeDelayMilliseconds;
1880 } 1876 }
1881 1877
1882 } // namespace syncer 1878 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698