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

Side by Side Diff: chrome/browser/signin/easy_unlock_service.cc

Issue 668213003: Reauthenticate the user before launching Smart Lock setup app. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/signin/easy_unlock_service.h" 5 #include "chrome/browser/signin/easy_unlock_service.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 chromeos::EasyUnlockKeyManager::RemoteDeviceListToDeviceDataList( 355 chromeos::EasyUnlockKeyManager::RemoteDeviceListToDeviceDataList(
356 *device_list, &parsed_paired); 356 *device_list, &parsed_paired);
357 for (const auto& device_key_data : parsed_paired) 357 for (const auto& device_key_data : parsed_paired)
358 paired_devices.insert(device_key_data.public_key); 358 paired_devices.insert(device_key_data.public_key);
359 } 359 }
360 if (paired_devices.empty()) { 360 if (paired_devices.empty()) {
361 SetHardlockState(EasyUnlockScreenlockStateHandler::NO_PAIRING); 361 SetHardlockState(EasyUnlockScreenlockStateHandler::NO_PAIRING);
362 return; 362 return;
363 } 363 }
364 364
365 // No need to compare if a change is already recorded.
366 if (GetHardlockState() == EasyUnlockScreenlockStateHandler::PAIRING_CHANGED)
367 return;
368
369 chromeos::EasyUnlockKeyManager* key_manager = 365 chromeos::EasyUnlockKeyManager* key_manager =
370 chromeos::UserSessionManager::GetInstance()->GetEasyUnlockKeyManager(); 366 chromeos::UserSessionManager::GetInstance()->GetEasyUnlockKeyManager();
371 DCHECK(key_manager); 367 DCHECK(key_manager);
372 368
373 key_manager->GetDeviceDataList( 369 key_manager->GetDeviceDataList(
374 chromeos::UserContext(user_id), 370 chromeos::UserContext(user_id),
375 base::Bind(&EasyUnlockService::OnCryptohomeKeysFetchedForChecking, 371 base::Bind(&EasyUnlockService::OnCryptohomeKeysFetchedForChecking,
376 weak_ptr_factory_.GetWeakPtr(), 372 weak_ptr_factory_.GetWeakPtr(),
377 user_id, 373 user_id,
378 paired_devices)); 374 paired_devices));
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 if (!success) { 581 if (!success) {
586 SetHardlockStateForUser(user_id, 582 SetHardlockStateForUser(user_id,
587 EasyUnlockScreenlockStateHandler::NO_PAIRING); 583 EasyUnlockScreenlockStateHandler::NO_PAIRING);
588 return; 584 return;
589 } 585 }
590 586
591 std::set<std::string> devices_in_cryptohome; 587 std::set<std::string> devices_in_cryptohome;
592 for (const auto& device_key_data : key_data_list) 588 for (const auto& device_key_data : key_data_list)
593 devices_in_cryptohome.insert(device_key_data.public_key); 589 devices_in_cryptohome.insert(device_key_data.public_key);
594 590
595 if (paired_devices != devices_in_cryptohome || 591 if (paired_devices == devices_in_cryptohome) {
tbarzic 2014/10/27 21:44:43 I don't think this is the right thing to do in gen
xiyuan 2014/10/28 20:38:03 For 1, maybe we should consider using psk instead
Tim Song 2014/10/31 17:57:37 For 1, I did as Xiyuan suggested and made the chec
tbarzic 2014/10/31 18:24:09 cryptohome keys are actually cleared on the next u
Tim Song 2014/11/01 03:16:52 Okay that makes sense. I changed the hardlock stat
596 GetHardlockState() == EasyUnlockScreenlockStateHandler::NO_PAIRING) { 592 if (GetHardlockState() != EasyUnlockScreenlockStateHandler::USER_HARDLOCK) {
593 SetHardlockStateForUser(user_id,
594 EasyUnlockScreenlockStateHandler::NO_HARDLOCK);
595 }
596 } else {
597 SetHardlockStateForUser(user_id, 597 SetHardlockStateForUser(user_id,
598 EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); 598 EasyUnlockScreenlockStateHandler::PAIRING_CHANGED);
599 } 599 }
600 } 600 }
601 #endif 601 #endif
602 602
603 void EasyUnlockService::PrepareForSuspend() { 603 void EasyUnlockService::PrepareForSuspend() {
604 DisableAppIfLoaded(); 604 DisableAppIfLoaded();
605 if (screenlock_state_handler_ && screenlock_state_handler_->IsActive()) { 605 if (screenlock_state_handler_ && screenlock_state_handler_->IsActive()) {
606 UpdateScreenlockState( 606 UpdateScreenlockState(
607 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING); 607 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING);
608 } 608 }
609 } 609 }
610 610
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698