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

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

Issue 10844005: [Sync] Refactor GetEncryptedTypes usage. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Always trigger OnEncryptedTypesChanged on init 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 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
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_->cryptographer_unsafe()));
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698