OLD | NEW |
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 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 SetJsEventHandler(event_handler); | 376 SetJsEventHandler(event_handler); |
377 | 377 |
378 AddObserver(&debug_info_event_listener_); | 378 AddObserver(&debug_info_event_listener_); |
379 | 379 |
380 database_path_ = database_location.Append( | 380 database_path_ = database_location.Append( |
381 syncable::Directory::kSyncDatabaseFilename); | 381 syncable::Directory::kSyncDatabaseFilename); |
382 encryptor_ = encryptor; | 382 encryptor_ = encryptor; |
383 unrecoverable_error_handler_ = unrecoverable_error_handler; | 383 unrecoverable_error_handler_ = unrecoverable_error_handler; |
384 report_unrecoverable_error_function_ = report_unrecoverable_error_function; | 384 report_unrecoverable_error_function_ = report_unrecoverable_error_function; |
385 | 385 |
| 386 sync_encryption_handler_.reset(new SyncEncryptionHandlerImpl( |
| 387 &share_, |
| 388 encryptor)); |
| 389 sync_encryption_handler_->AddObserver(this); |
| 390 sync_encryption_handler_->AddObserver(&debug_info_event_listener_); |
| 391 sync_encryption_handler_->AddObserver(&js_sync_encryption_handler_observer_); |
| 392 |
386 FilePath absolute_db_path(database_path_); | 393 FilePath absolute_db_path(database_path_); |
387 file_util::AbsolutePath(&absolute_db_path); | 394 file_util::AbsolutePath(&absolute_db_path); |
388 scoped_ptr<syncable::DirectoryBackingStore> backing_store = | 395 scoped_ptr<syncable::DirectoryBackingStore> backing_store = |
389 internal_components_factory->BuildDirectoryBackingStore( | 396 internal_components_factory->BuildDirectoryBackingStore( |
390 credentials.email, absolute_db_path).Pass(); | 397 credentials.email, absolute_db_path).Pass(); |
391 | 398 |
392 DCHECK(backing_store.get()); | 399 DCHECK(backing_store.get()); |
393 share_.name = credentials.email; | 400 share_.name = credentials.email; |
394 share_.directory.reset( | 401 share_.directory.reset( |
395 new syncable::Directory(encryptor_, | 402 new syncable::Directory( |
396 unrecoverable_error_handler_, | 403 backing_store.release(), |
397 report_unrecoverable_error_function_, | 404 unrecoverable_error_handler_, |
398 backing_store.release())); | 405 report_unrecoverable_error_function_, |
| 406 sync_encryption_handler_.get(), |
| 407 sync_encryption_handler_->GetCryptographerUnsafe())); |
399 | 408 |
400 DVLOG(1) << "Username: " << username_for_share(); | 409 DVLOG(1) << "Username: " << username_for_share(); |
401 if (!OpenDirectory()) { | 410 if (!OpenDirectory()) { |
402 FOR_EACH_OBSERVER(SyncManager::Observer, observers_, | 411 FOR_EACH_OBSERVER(SyncManager::Observer, observers_, |
403 OnInitializationComplete( | 412 OnInitializationComplete( |
404 MakeWeakHandle(weak_ptr_factory_.GetWeakPtr()), | 413 MakeWeakHandle(weak_ptr_factory_.GetWeakPtr()), |
405 false, syncer::ModelTypeSet())); | 414 false, syncer::ModelTypeSet())); |
406 LOG(ERROR) << "Sync manager initialization failed!"; | 415 LOG(ERROR) << "Sync manager initialization failed!"; |
407 return; | 416 return; |
408 } | 417 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 | 467 |
459 // Cryptographer should only be accessed while holding a | 468 // Cryptographer should only be accessed while holding a |
460 // transaction. Grabbing the user share for the transaction | 469 // transaction. Grabbing the user share for the transaction |
461 // checks the initialization state, so this must come after | 470 // checks the initialization state, so this must come after |
462 // |initialized_| is set to true. | 471 // |initialized_| is set to true. |
463 ReadTransaction trans(FROM_HERE, GetUserShare()); | 472 ReadTransaction trans(FROM_HERE, GetUserShare()); |
464 trans.GetCryptographer()->Bootstrap(restored_key_for_bootstrapping); | 473 trans.GetCryptographer()->Bootstrap(restored_key_for_bootstrapping); |
465 trans.GetCryptographer()->BootstrapKeystoreKey( | 474 trans.GetCryptographer()->BootstrapKeystoreKey( |
466 restored_keystore_key_for_bootstrapping); | 475 restored_keystore_key_for_bootstrapping); |
467 | 476 |
468 sync_encryption_handler_.reset(new SyncEncryptionHandlerImpl( | |
469 &share_, | |
470 trans.GetCryptographer())); | |
471 sync_encryption_handler_->AddObserver(this); | |
472 sync_encryption_handler_->AddObserver(&debug_info_event_listener_); | |
473 sync_encryption_handler_->AddObserver(&js_sync_encryption_handler_observer_); | |
474 trans.GetCryptographer()->SetNigoriHandler( | |
475 sync_encryption_handler_.get()); | |
476 | |
477 FOR_EACH_OBSERVER(SyncManager::Observer, observers_, | 477 FOR_EACH_OBSERVER(SyncManager::Observer, observers_, |
478 OnInitializationComplete( | 478 OnInitializationComplete( |
479 MakeWeakHandle(weak_ptr_factory_.GetWeakPtr()), | 479 MakeWeakHandle(weak_ptr_factory_.GetWeakPtr()), |
480 true, InitialSyncEndedTypes())); | 480 true, InitialSyncEndedTypes())); |
481 } | 481 } |
482 | 482 |
483 void SyncManagerImpl::UpdateSessionNameCallback( | 483 void SyncManagerImpl::UpdateSessionNameCallback( |
484 const std::string& chrome_version, | 484 const std::string& chrome_version, |
485 const std::string& session_name) { | 485 const std::string& session_name) { |
486 WriteTransaction trans(FROM_HERE, GetUserShare()); | 486 WriteTransaction trans(FROM_HERE, GetUserShare()); |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1364 int SyncManagerImpl::GetDefaultNudgeDelay() { | 1364 int SyncManagerImpl::GetDefaultNudgeDelay() { |
1365 return kDefaultNudgeDelayMilliseconds; | 1365 return kDefaultNudgeDelayMilliseconds; |
1366 } | 1366 } |
1367 | 1367 |
1368 // static. | 1368 // static. |
1369 int SyncManagerImpl::GetPreferencesNudgeDelay() { | 1369 int SyncManagerImpl::GetPreferencesNudgeDelay() { |
1370 return kPreferencesNudgeDelayMilliseconds; | 1370 return kPreferencesNudgeDelayMilliseconds; |
1371 } | 1371 } |
1372 | 1372 |
1373 } // namespace syncer | 1373 } // namespace syncer |
OLD | NEW |