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

Side by Side Diff: chrome/browser/chromeos/policy/device_local_account.cc

Issue 2421323002: Created new account type for ARC++ kiosk. (Closed)
Patch Set: Rebase Created 4 years, 1 month 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/chromeos/policy/device_local_account.h" 5 #include "chrome/browser/chromeos/policy/device_local_account.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <set> 10 #include <set>
(...skipping 10 matching lines...) Expand all
21 #include "chromeos/settings/cros_settings_names.h" 21 #include "chromeos/settings/cros_settings_names.h"
22 #include "components/signin/core/account_id/account_id.h" 22 #include "components/signin/core/account_id/account_id.h"
23 #include "google_apis/gaia/gaia_auth_util.h" 23 #include "google_apis/gaia/gaia_auth_util.h"
24 24
25 namespace policy { 25 namespace policy {
26 26
27 namespace { 27 namespace {
28 28
29 const char kPublicAccountDomainPrefix[] = "public-accounts"; 29 const char kPublicAccountDomainPrefix[] = "public-accounts";
30 const char kKioskAppAccountDomainPrefix[] = "kiosk-apps"; 30 const char kKioskAppAccountDomainPrefix[] = "kiosk-apps";
31 const char kArcKioskAppAccountDomainPrefix[] = "arc-kiosk-apps";
31 const char kDeviceLocalAccountDomainSuffix[] = ".device-local.localhost"; 32 const char kDeviceLocalAccountDomainSuffix[] = ".device-local.localhost";
32 33
33 } // namespace 34 } // namespace
34 35
35 DeviceLocalAccount::DeviceLocalAccount(Type type, 36 DeviceLocalAccount::DeviceLocalAccount(Type type,
36 const std::string& account_id, 37 const std::string& account_id,
37 const std::string& kiosk_app_id, 38 const std::string& kiosk_app_id,
38 const std::string& kiosk_app_update_url) 39 const std::string& kiosk_app_update_url)
39 : type(type), 40 : type(type),
40 account_id(account_id), 41 account_id(account_id),
(...skipping 11 matching lines...) Expand all
52 std::string GenerateDeviceLocalAccountUserId(const std::string& account_id, 53 std::string GenerateDeviceLocalAccountUserId(const std::string& account_id,
53 DeviceLocalAccount::Type type) { 54 DeviceLocalAccount::Type type) {
54 std::string domain_prefix; 55 std::string domain_prefix;
55 switch (type) { 56 switch (type) {
56 case DeviceLocalAccount::TYPE_PUBLIC_SESSION: 57 case DeviceLocalAccount::TYPE_PUBLIC_SESSION:
57 domain_prefix = kPublicAccountDomainPrefix; 58 domain_prefix = kPublicAccountDomainPrefix;
58 break; 59 break;
59 case DeviceLocalAccount::TYPE_KIOSK_APP: 60 case DeviceLocalAccount::TYPE_KIOSK_APP:
60 domain_prefix = kKioskAppAccountDomainPrefix; 61 domain_prefix = kKioskAppAccountDomainPrefix;
61 break; 62 break;
63 case DeviceLocalAccount::TYPE_ARC_KIOSK_APP:
64 domain_prefix = kArcKioskAppAccountDomainPrefix;
65 break;
62 case DeviceLocalAccount::TYPE_COUNT: 66 case DeviceLocalAccount::TYPE_COUNT:
63 NOTREACHED(); 67 NOTREACHED();
64 break; 68 break;
65 } 69 }
66 return gaia::CanonicalizeEmail( 70 return gaia::CanonicalizeEmail(
67 base::HexEncode(account_id.c_str(), account_id.size()) + "@" + 71 base::HexEncode(account_id.c_str(), account_id.size()) + "@" +
68 domain_prefix + kDeviceLocalAccountDomainSuffix); 72 domain_prefix + kDeviceLocalAccountDomainSuffix);
69 } 73 }
70 74
71 bool IsDeviceLocalAccountUser(const std::string& user_id, 75 bool IsDeviceLocalAccountUser(const std::string& user_id,
(...skipping 13 matching lines...) Expand all
85 if (domain_prefix == kPublicAccountDomainPrefix) { 89 if (domain_prefix == kPublicAccountDomainPrefix) {
86 if (type) 90 if (type)
87 *type = DeviceLocalAccount::TYPE_PUBLIC_SESSION; 91 *type = DeviceLocalAccount::TYPE_PUBLIC_SESSION;
88 return true; 92 return true;
89 } 93 }
90 if (domain_prefix == kKioskAppAccountDomainPrefix) { 94 if (domain_prefix == kKioskAppAccountDomainPrefix) {
91 if (type) 95 if (type)
92 *type = DeviceLocalAccount::TYPE_KIOSK_APP; 96 *type = DeviceLocalAccount::TYPE_KIOSK_APP;
93 return true; 97 return true;
94 } 98 }
99 if (domain_prefix == kArcKioskAppAccountDomainPrefix) {
100 if (type)
101 *type = DeviceLocalAccount::TYPE_ARC_KIOSK_APP;
102 return true;
103 }
95 104
96 // |user_id| is a device-local account but its type is not recognized. 105 // |user_id| is a device-local account but its type is not recognized.
97 NOTREACHED(); 106 NOTREACHED();
98 if (type) 107 if (type)
99 *type = DeviceLocalAccount::TYPE_COUNT; 108 *type = DeviceLocalAccount::TYPE_COUNT;
100 return true; 109 return true;
101 } 110 }
102 111
103 void SetDeviceLocalAccounts(chromeos::OwnerSettingsServiceChromeOS* service, 112 void SetDeviceLocalAccounts(chromeos::OwnerSettingsServiceChromeOS* service,
104 const std::vector<DeviceLocalAccount>& accounts) { 113 const std::vector<DeviceLocalAccount>& accounts) {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 accounts.push_back( 197 accounts.push_back(
189 DeviceLocalAccount(static_cast<DeviceLocalAccount::Type>(type), 198 DeviceLocalAccount(static_cast<DeviceLocalAccount::Type>(type),
190 account_id, 199 account_id,
191 kiosk_app_id, 200 kiosk_app_id,
192 kiosk_app_update_url)); 201 kiosk_app_update_url));
193 } 202 }
194 return accounts; 203 return accounts;
195 } 204 }
196 205
197 } // namespace policy 206 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/policy/device_local_account.h ('k') | chrome/browser/ui/ash/system_tray_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698