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

Side by Side Diff: chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc

Issue 1113043004: [Smart Lock] Extract the screenlock state to the proximity_auth component. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unit tests compile Created 5 years, 7 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/extensions/api/easy_unlock_private/easy_unlock_private_ api.h" 5 #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_ api.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
12 #include "base/memory/linked_ptr.h" 12 #include "base/memory/linked_ptr.h"
13 #include "base/numerics/safe_conversions.h" 13 #include "base/numerics/safe_conversions.h"
14 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
15 #include "base/values.h" 15 #include "base/values.h"
16 #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_ crypto_delegate.h" 16 #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_ crypto_delegate.h"
17 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
18 #include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" 18 #include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h"
19 #include "chrome/browser/signin/easy_unlock_service.h" 19 #include "chrome/browser/signin/easy_unlock_service.h"
20 #include "chrome/browser/ui/proximity_auth/proximity_auth_error_bubble.h" 20 #include "chrome/browser/ui/proximity_auth/proximity_auth_error_bubble.h"
21 #include "chrome/common/extensions/api/easy_unlock_private.h" 21 #include "chrome/common/extensions/api/easy_unlock_private.h"
22 #include "chrome/grit/generated_resources.h" 22 #include "chrome/grit/generated_resources.h"
23 #include "components/proximity_auth/bluetooth_util.h" 23 #include "components/proximity_auth/bluetooth_util.h"
24 #include "components/proximity_auth/cryptauth/cryptauth_enrollment_utils.h" 24 #include "components/proximity_auth/cryptauth/cryptauth_enrollment_utils.h"
25 #include "components/proximity_auth/screenlock_bridge.h" 25 #include "components/proximity_auth/screenlock_bridge.h"
26 #include "components/proximity_auth/screenlock_state.h"
26 #include "components/proximity_auth/switches.h" 27 #include "components/proximity_auth/switches.h"
27 #include "content/public/browser/browser_thread.h" 28 #include "content/public/browser/browser_thread.h"
28 #include "content/public/browser/web_contents.h" 29 #include "content/public/browser/web_contents.h"
29 #include "extensions/browser/browser_context_keyed_api_factory.h" 30 #include "extensions/browser/browser_context_keyed_api_factory.h"
30 #include "ui/base/l10n/l10n_util.h" 31 #include "ui/base/l10n/l10n_util.h"
31 #include "ui/gfx/geometry/rect.h" 32 #include "ui/gfx/geometry/rect.h"
32 #include "ui/gfx/range/range.h" 33 #include "ui/gfx/range/range.h"
33 34
34 #if defined(OS_CHROMEOS) 35 #if defined(OS_CHROMEOS)
35 #include "chrome/browser/chromeos/chromeos_utils.h" 36 #include "chrome/browser/chromeos/chromeos_utils.h"
36 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager. h" 37 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager. h"
37 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_ factory.h" 38 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_tpm_key_manager_ factory.h"
38 #include "components/user_manager/user.h" 39 #include "components/user_manager/user.h"
39 #include "components/user_manager/user_manager.h" 40 #include "components/user_manager/user_manager.h"
40 #endif 41 #endif
41 42
43 using proximity_auth::ScreenlockState;
44
42 namespace extensions { 45 namespace extensions {
43 namespace api { 46 namespace api {
44 47
45 namespace { 48 namespace {
46 49
47 static base::LazyInstance<BrowserContextKeyedAPIFactory<EasyUnlockPrivateAPI> > 50 static base::LazyInstance<BrowserContextKeyedAPIFactory<EasyUnlockPrivateAPI> >
48 g_factory = LAZY_INSTANCE_INITIALIZER; 51 g_factory = LAZY_INSTANCE_INITIALIZER;
49 52
50 // Utility method for getting the API's crypto delegate. 53 // Utility method for getting the API's crypto delegate.
51 EasyUnlockPrivateCryptoDelegate* GetCryptoDelegate( 54 EasyUnlockPrivateCryptoDelegate* GetCryptoDelegate(
52 content::BrowserContext* context) { 55 content::BrowserContext* context) {
53 return BrowserContextKeyedAPIFactory<EasyUnlockPrivateAPI>::Get(context) 56 return BrowserContextKeyedAPIFactory<EasyUnlockPrivateAPI>::Get(context)
54 ->crypto_delegate(); 57 ->crypto_delegate();
55 } 58 }
56 59
57 EasyUnlockScreenlockStateHandler::State ToScreenlockStateHandlerState( 60 ScreenlockState ToScreenlockState(easy_unlock_private::State state) {
58 easy_unlock_private::State state) {
59 switch (state) { 61 switch (state) {
60 case easy_unlock_private::STATE_NO_BLUETOOTH: 62 case easy_unlock_private::STATE_NO_BLUETOOTH:
61 return EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH; 63 return ScreenlockState::NO_BLUETOOTH;
62 case easy_unlock_private::STATE_BLUETOOTH_CONNECTING: 64 case easy_unlock_private::STATE_BLUETOOTH_CONNECTING:
63 return EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING; 65 return ScreenlockState::BLUETOOTH_CONNECTING;
64 case easy_unlock_private::STATE_NO_PHONE: 66 case easy_unlock_private::STATE_NO_PHONE:
65 return EasyUnlockScreenlockStateHandler::STATE_NO_PHONE; 67 return ScreenlockState::NO_PHONE;
66 case easy_unlock_private::STATE_PHONE_NOT_AUTHENTICATED: 68 case easy_unlock_private::STATE_PHONE_NOT_AUTHENTICATED:
67 return EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED; 69 return ScreenlockState::PHONE_NOT_AUTHENTICATED;
68 case easy_unlock_private::STATE_PHONE_LOCKED: 70 case easy_unlock_private::STATE_PHONE_LOCKED:
69 return EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED; 71 return ScreenlockState::PHONE_LOCKED;
70 case easy_unlock_private::STATE_PHONE_UNLOCKABLE: 72 case easy_unlock_private::STATE_PHONE_UNLOCKABLE:
71 return EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE; 73 return ScreenlockState::PHONE_NOT_LOCKABLE;
72 case easy_unlock_private::STATE_PHONE_UNSUPPORTED: 74 case easy_unlock_private::STATE_PHONE_UNSUPPORTED:
73 return EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED; 75 return ScreenlockState::PHONE_UNSUPPORTED;
74 case easy_unlock_private::STATE_RSSI_TOO_LOW: 76 case easy_unlock_private::STATE_RSSI_TOO_LOW:
75 return EasyUnlockScreenlockStateHandler::STATE_RSSI_TOO_LOW; 77 return ScreenlockState::RSSI_TOO_LOW;
76 case easy_unlock_private::STATE_TX_POWER_TOO_HIGH: 78 case easy_unlock_private::STATE_TX_POWER_TOO_HIGH:
77 return EasyUnlockScreenlockStateHandler::STATE_TX_POWER_TOO_HIGH; 79 return ScreenlockState::TX_POWER_TOO_HIGH;
78 case easy_unlock_private::STATE_PHONE_LOCKED_AND_TX_POWER_TOO_HIGH: 80 case easy_unlock_private::STATE_PHONE_LOCKED_AND_TX_POWER_TOO_HIGH:
79 return EasyUnlockScreenlockStateHandler:: 81 return ScreenlockState::PHONE_LOCKED_AND_TX_POWER_TOO_HIGH;
80 STATE_PHONE_LOCKED_AND_TX_POWER_TOO_HIGH;
81 case easy_unlock_private::STATE_AUTHENTICATED: 82 case easy_unlock_private::STATE_AUTHENTICATED:
82 return EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED; 83 return ScreenlockState::AUTHENTICATED;
83 default: 84 default:
84 return EasyUnlockScreenlockStateHandler::STATE_INACTIVE; 85 return ScreenlockState::INACTIVE;
85 } 86 }
86 } 87 }
87 88
88 } // namespace 89 } // namespace
89 90
90 // static 91 // static
91 BrowserContextKeyedAPIFactory<EasyUnlockPrivateAPI>* 92 BrowserContextKeyedAPIFactory<EasyUnlockPrivateAPI>*
92 EasyUnlockPrivateAPI::GetFactoryInstance() { 93 EasyUnlockPrivateAPI::GetFactoryInstance() {
93 return g_factory.Pointer(); 94 return g_factory.Pointer();
94 } 95 }
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 EasyUnlockPrivateUpdateScreenlockStateFunction:: 503 EasyUnlockPrivateUpdateScreenlockStateFunction::
503 ~EasyUnlockPrivateUpdateScreenlockStateFunction() {} 504 ~EasyUnlockPrivateUpdateScreenlockStateFunction() {}
504 505
505 bool EasyUnlockPrivateUpdateScreenlockStateFunction::RunSync() { 506 bool EasyUnlockPrivateUpdateScreenlockStateFunction::RunSync() {
506 scoped_ptr<easy_unlock_private::UpdateScreenlockState::Params> params( 507 scoped_ptr<easy_unlock_private::UpdateScreenlockState::Params> params(
507 easy_unlock_private::UpdateScreenlockState::Params::Create(*args_)); 508 easy_unlock_private::UpdateScreenlockState::Params::Create(*args_));
508 EXTENSION_FUNCTION_VALIDATE(params.get()); 509 EXTENSION_FUNCTION_VALIDATE(params.get());
509 510
510 Profile* profile = Profile::FromBrowserContext(browser_context()); 511 Profile* profile = Profile::FromBrowserContext(browser_context());
511 if (EasyUnlockService::Get(profile)->UpdateScreenlockState( 512 if (EasyUnlockService::Get(profile)->UpdateScreenlockState(
512 ToScreenlockStateHandlerState(params->state))) 513 ToScreenlockState(params->state)))
513 return true; 514 return true;
514 515
515 SetError("Not allowed"); 516 SetError("Not allowed");
516 return false; 517 return false;
517 } 518 }
518 519
519 EasyUnlockPrivateSetPermitAccessFunction:: 520 EasyUnlockPrivateSetPermitAccessFunction::
520 EasyUnlockPrivateSetPermitAccessFunction() { 521 EasyUnlockPrivateSetPermitAccessFunction() {
521 } 522 }
522 523
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 831
831 Profile* profile = Profile::FromBrowserContext(browser_context()); 832 Profile* profile = Profile::FromBrowserContext(browser_context());
832 EasyUnlockService::Get(profile) 833 EasyUnlockService::Get(profile)
833 ->SetAutoPairingResult(params->result.success, error_message); 834 ->SetAutoPairingResult(params->result.success, error_message);
834 835
835 return true; 836 return true;
836 } 837 }
837 838
838 } // namespace api 839 } // namespace api
839 } // namespace extensions 840 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698