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

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

Issue 10917246: [Sync] Add keystore encryption info to about:sync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make const Created 8 years, 3 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 13 matching lines...) Expand all
24 #include "sync/internal_api/public/base/model_type_state_map.h" 24 #include "sync/internal_api/public/base/model_type_state_map.h"
25 #include "sync/internal_api/public/base_node.h" 25 #include "sync/internal_api/public/base_node.h"
26 #include "sync/internal_api/public/configure_reason.h" 26 #include "sync/internal_api/public/configure_reason.h"
27 #include "sync/internal_api/public/engine/polling_constants.h" 27 #include "sync/internal_api/public/engine/polling_constants.h"
28 #include "sync/internal_api/public/http_post_provider_factory.h" 28 #include "sync/internal_api/public/http_post_provider_factory.h"
29 #include "sync/internal_api/public/internal_components_factory.h" 29 #include "sync/internal_api/public/internal_components_factory.h"
30 #include "sync/internal_api/public/read_node.h" 30 #include "sync/internal_api/public/read_node.h"
31 #include "sync/internal_api/public/read_transaction.h" 31 #include "sync/internal_api/public/read_transaction.h"
32 #include "sync/internal_api/public/user_share.h" 32 #include "sync/internal_api/public/user_share.h"
33 #include "sync/internal_api/public/util/experiments.h" 33 #include "sync/internal_api/public/util/experiments.h"
34 #include "sync/internal_api/public/util/sync_string_conversions.h"
34 #include "sync/internal_api/public/write_node.h" 35 #include "sync/internal_api/public/write_node.h"
35 #include "sync/internal_api/public/write_transaction.h" 36 #include "sync/internal_api/public/write_transaction.h"
36 #include "sync/internal_api/syncapi_internal.h" 37 #include "sync/internal_api/syncapi_internal.h"
37 #include "sync/internal_api/syncapi_server_connection_manager.h" 38 #include "sync/internal_api/syncapi_server_connection_manager.h"
38 #include "sync/js/js_arg_list.h" 39 #include "sync/js/js_arg_list.h"
39 #include "sync/js/js_event_details.h" 40 #include "sync/js/js_event_details.h"
40 #include "sync/js/js_event_handler.h" 41 #include "sync/js/js_event_handler.h"
41 #include "sync/js/js_reply_handler.h" 42 #include "sync/js/js_reply_handler.h"
42 #include "sync/notifier/invalidation_util.h" 43 #include "sync/notifier/invalidation_util.h"
43 #include "sync/notifier/invalidator.h" 44 #include "sync/notifier/invalidator.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 case CONFIGURE_REASON_NEW_CLIENT: 81 case CONFIGURE_REASON_NEW_CLIENT:
81 return GetUpdatesCallerInfo::NEW_CLIENT; 82 return GetUpdatesCallerInfo::NEW_CLIENT;
82 case CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE: 83 case CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE:
83 return GetUpdatesCallerInfo::NEWLY_SUPPORTED_DATATYPE; 84 return GetUpdatesCallerInfo::NEWLY_SUPPORTED_DATATYPE;
84 default: 85 default:
85 NOTREACHED(); 86 NOTREACHED();
86 } 87 }
87 return GetUpdatesCallerInfo::UNKNOWN; 88 return GetUpdatesCallerInfo::UNKNOWN;
88 } 89 }
89 90
91 std::string GetKeystoreMigrationTimeStr(base::Time migration_time) {
92 std::string migration_time_str;
93 if (migration_time.is_null())
94 migration_time_str = "Not Migrated";
95 else
96 migration_time_str = GetTimeDebugString(migration_time);
97 return migration_time_str;
98 }
99
90 } // namespace 100 } // namespace
91 101
92 // A class to calculate nudge delays for types. 102 // A class to calculate nudge delays for types.
93 class NudgeStrategy { 103 class NudgeStrategy {
94 public: 104 public:
95 static TimeDelta GetNudgeDelayTimeDelta(const ModelType& model_type, 105 static TimeDelta GetNudgeDelayTimeDelta(const ModelType& model_type,
96 SyncManagerImpl* core) { 106 SyncManagerImpl* core) {
97 NudgeDelayStrategy delay_type = GetNudgeDelayStrategy(model_type); 107 NudgeDelayStrategy delay_type = GetNudgeDelayStrategy(model_type);
98 return GetNudgeDelayTimeDeltaFromType(delay_type, 108 return GetNudgeDelayTimeDeltaFromType(delay_type,
99 model_type, 109 model_type,
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 SetJsEventHandler(event_handler); 386 SetJsEventHandler(event_handler);
377 387
378 AddObserver(&debug_info_event_listener_); 388 AddObserver(&debug_info_event_listener_);
379 389
380 database_path_ = database_location.Append( 390 database_path_ = database_location.Append(
381 syncable::Directory::kSyncDatabaseFilename); 391 syncable::Directory::kSyncDatabaseFilename);
382 encryptor_ = encryptor; 392 encryptor_ = encryptor;
383 unrecoverable_error_handler_ = unrecoverable_error_handler; 393 unrecoverable_error_handler_ = unrecoverable_error_handler;
384 report_unrecoverable_error_function_ = report_unrecoverable_error_function; 394 report_unrecoverable_error_function_ = report_unrecoverable_error_function;
385 395
396 allstatus_.SetHasKeystoreKey(
397 !restored_keystore_key_for_bootstrapping.empty());
386 sync_encryption_handler_.reset(new SyncEncryptionHandlerImpl( 398 sync_encryption_handler_.reset(new SyncEncryptionHandlerImpl(
387 &share_, 399 &share_,
388 encryptor, 400 encryptor,
389 restored_key_for_bootstrapping, 401 restored_key_for_bootstrapping,
390 restored_keystore_key_for_bootstrapping)); 402 restored_keystore_key_for_bootstrapping));
391 sync_encryption_handler_->AddObserver(this); 403 sync_encryption_handler_->AddObserver(this);
392 sync_encryption_handler_->AddObserver(&debug_info_event_listener_); 404 sync_encryption_handler_->AddObserver(&debug_info_event_listener_);
393 sync_encryption_handler_->AddObserver(&js_sync_encryption_handler_observer_); 405 sync_encryption_handler_->AddObserver(&js_sync_encryption_handler_observer_);
394 406
395 FilePath absolute_db_path(database_path_); 407 FilePath absolute_db_path(database_path_);
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
527 // Does nothing. 539 // Does nothing.
528 } 540 }
529 541
530 void SyncManagerImpl::OnPassphraseAccepted() { 542 void SyncManagerImpl::OnPassphraseAccepted() {
531 // Does nothing. 543 // Does nothing.
532 } 544 }
533 545
534 void SyncManagerImpl::OnBootstrapTokenUpdated( 546 void SyncManagerImpl::OnBootstrapTokenUpdated(
535 const std::string& bootstrap_token, 547 const std::string& bootstrap_token,
536 BootstrapTokenType type) { 548 BootstrapTokenType type) {
537 // Does nothing. 549 if (type == KEYSTORE_BOOTSTRAP_TOKEN)
550 allstatus_.SetHasKeystoreKey(true);
akalin 2012/09/17 18:07:20 SetHasKeystoreKey(type == KEYSTORE_BOOKSTRAP_TOKEN
Nicolas Zea 2012/09/17 21:00:24 Can't, that will set the boolean to false if the n
538 } 551 }
539 552
540 void SyncManagerImpl::OnEncryptedTypesChanged(ModelTypeSet encrypted_types, 553 void SyncManagerImpl::OnEncryptedTypesChanged(ModelTypeSet encrypted_types,
541 bool encrypt_everything) { 554 bool encrypt_everything) {
542 allstatus_.SetEncryptedTypes(encrypted_types); 555 allstatus_.SetEncryptedTypes(encrypted_types);
543 } 556 }
544 557
545 void SyncManagerImpl::OnEncryptionComplete() { 558 void SyncManagerImpl::OnEncryptionComplete() {
546 // Does nothing. 559 // Does nothing.
547 } 560 }
548 561
549 void SyncManagerImpl::OnCryptographerStateChanged( 562 void SyncManagerImpl::OnCryptographerStateChanged(
550 Cryptographer* cryptographer) { 563 Cryptographer* cryptographer) {
551 allstatus_.SetCryptographerReady(cryptographer->is_ready()); 564 allstatus_.SetCryptographerReady(cryptographer->is_ready());
552 allstatus_.SetCryptoHasPendingKeys(cryptographer->has_pending_keys()); 565 allstatus_.SetCryptoHasPendingKeys(cryptographer->has_pending_keys());
566 allstatus_.SetKeystoreMigrationTime(
567 GetKeystoreMigrationTimeStr(
568 sync_encryption_handler_->GetKeystoreMigrationTime()));
553 } 569 }
554 570
555 void SyncManagerImpl::OnPassphraseTypeChanged(PassphraseType type) { 571 void SyncManagerImpl::OnPassphraseTypeChanged(PassphraseType type) {
556 // Does nothing. 572 allstatus_.SetPassphraseType(PassphraseTypeToString(type));
573 allstatus_.SetKeystoreMigrationTime(
574 GetKeystoreMigrationTimeStr(
575 sync_encryption_handler_->GetKeystoreMigrationTime()));
557 } 576 }
558 577
559 void SyncManagerImpl::StartSyncingNormally( 578 void SyncManagerImpl::StartSyncingNormally(
560 const ModelSafeRoutingInfo& routing_info) { 579 const ModelSafeRoutingInfo& routing_info) {
561 // Start the sync scheduler. 580 // Start the sync scheduler.
562 // TODO(sync): We always want the newest set of routes when we switch back 581 // TODO(sync): We always want the newest set of routes when we switch back
563 // to normal mode. Figure out how to enforce set_routing_info is always 582 // to normal mode. Figure out how to enforce set_routing_info is always
564 // appropriately set and that it's only modified when switching to normal 583 // appropriately set and that it's only modified when switching to normal
565 // mode. 584 // mode.
566 DCHECK(thread_checker_.CalledOnValidThread()); 585 DCHECK(thread_checker_.CalledOnValidThread());
(...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after
1346 int SyncManagerImpl::GetDefaultNudgeDelay() { 1365 int SyncManagerImpl::GetDefaultNudgeDelay() {
1347 return kDefaultNudgeDelayMilliseconds; 1366 return kDefaultNudgeDelayMilliseconds;
1348 } 1367 }
1349 1368
1350 // static. 1369 // static.
1351 int SyncManagerImpl::GetPreferencesNudgeDelay() { 1370 int SyncManagerImpl::GetPreferencesNudgeDelay() {
1352 return kPreferencesNudgeDelayMilliseconds; 1371 return kPreferencesNudgeDelayMilliseconds;
1353 } 1372 }
1354 1373
1355 } // namespace syncer 1374 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698