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

Side by Side Diff: chrome/browser/chromeos/extensions/info_private_api.cc

Issue 2761263007: ChromeOS: Expose 'device type' signal (Closed)
Patch Set: replace StringPrintf with string Created 3 years, 9 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/info_private_apitest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/browser/chromeos/extensions/info_private_api.h" 5 #include "chrome/browser/chromeos/extensions/info_private_api.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/sys_info.h" 11 #include "base/sys_info.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "chrome/browser/app_mode/app_mode_utils.h" 13 #include "chrome/browser/app_mode/app_mode_utils.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/chromeos/arc/arc_util.h" 15 #include "chrome/browser/chromeos/arc/arc_util.h"
16 #include "chrome/browser/chromeos/login/startup_utils.h" 16 #include "chrome/browser/chromeos/login/startup_utils.h"
17 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 17 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
18 #include "chrome/browser/chromeos/settings/cros_settings.h" 18 #include "chrome/browser/chromeos/settings/cros_settings.h"
19 #include "chrome/browser/chromeos/system/timezone_util.h" 19 #include "chrome/browser/chromeos/system/timezone_util.h"
20 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/common/pref_names.h" 21 #include "chrome/common/pref_names.h"
22 #include "chromeos/network/device_state.h" 22 #include "chromeos/network/device_state.h"
23 #include "chromeos/network/network_handler.h" 23 #include "chromeos/network/network_handler.h"
24 #include "chromeos/network/network_state_handler.h" 24 #include "chromeos/network/network_state_handler.h"
25 #include "chromeos/settings/cros_settings_names.h" 25 #include "chromeos/settings/cros_settings_names.h"
26 #include "chromeos/system/devicetype.h"
26 #include "chromeos/system/statistics_provider.h" 27 #include "chromeos/system/statistics_provider.h"
27 #include "components/arc/arc_util.h" 28 #include "components/arc/arc_util.h"
28 #include "components/metrics/metrics_service.h" 29 #include "components/metrics/metrics_service.h"
29 #include "components/prefs/pref_service.h" 30 #include "components/prefs/pref_service.h"
30 #include "components/user_manager/user_manager.h" 31 #include "components/user_manager/user_manager.h"
31 #include "extensions/browser/extensions_browser_client.h" 32 #include "extensions/browser/extensions_browser_client.h"
32 #include "extensions/common/error_utils.h" 33 #include "extensions/common/error_utils.h"
33 #include "third_party/cros_system_api/dbus/service_constants.h" 34 #include "third_party/cros_system_api/dbus/service_constants.h"
34 35
35 using chromeos::NetworkHandler; 36 using chromeos::NetworkHandler;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 138
138 // Key which corresponds to the managedDeviceStatus property in JS. 139 // Key which corresponds to the managedDeviceStatus property in JS.
139 const char kPropertyManagedDeviceStatus[] = "managedDeviceStatus"; 140 const char kPropertyManagedDeviceStatus[] = "managedDeviceStatus";
140 141
141 // Value to which managedDeviceStatus property is set for unmanaged devices. 142 // Value to which managedDeviceStatus property is set for unmanaged devices.
142 const char kManagedDeviceStatusNotManaged[] = "not managed"; 143 const char kManagedDeviceStatusNotManaged[] = "not managed";
143 144
144 // Value to which managedDeviceStatus property is set for managed devices. 145 // Value to which managedDeviceStatus property is set for managed devices.
145 const char kManagedDeviceStatusManaged[] = "managed"; 146 const char kManagedDeviceStatusManaged[] = "managed";
146 147
148 // Key which corresponds to the deviceType property in JS.
149 const char kPropertyDeviceType[] = "deviceType";
150
151 // Value to which deviceType property is set for Chromebase.
152 const char kDeviceTypeChromebase[] = "chromebase";
153
154 // Value to which deviceType property is set for Chromebit.
155 const char kDeviceTypeChromebit[] = "chromebit";
156
157 // Value to which deviceType property is set for Chromebook.
158 const char kDeviceTypeChromebook[] = "chromebook";
159
160 // Value to which deviceType property is set for Chromebox.
161 const char kDeviceTypeChromebox[] = "chromebox";
162
163 // Value to which deviceType property is set when the specific type is unknown.
164 const char kDeviceTypeChromedevice[] = "chromedevice";
165
147 const struct { 166 const struct {
148 const char* api_name; 167 const char* api_name;
149 const char* preference_name; 168 const char* preference_name;
150 } kPreferencesMap[] = { 169 } kPreferencesMap[] = {
151 {kPropertyLargeCursorEnabled, prefs::kAccessibilityLargeCursorEnabled}, 170 {kPropertyLargeCursorEnabled, prefs::kAccessibilityLargeCursorEnabled},
152 {kPropertyStickyKeysEnabled, prefs::kAccessibilityStickyKeysEnabled}, 171 {kPropertyStickyKeysEnabled, prefs::kAccessibilityStickyKeysEnabled},
153 {kPropertySpokenFeedbackEnabled, 172 {kPropertySpokenFeedbackEnabled,
154 prefs::kAccessibilitySpokenFeedbackEnabled}, 173 prefs::kAccessibilitySpokenFeedbackEnabled},
155 {kPropertyHighContrastEnabled, prefs::kAccessibilityHighContrastEnabled}, 174 {kPropertyHighContrastEnabled, prefs::kAccessibilityHighContrastEnabled},
156 {kPropertyScreenMagnifierEnabled, 175 {kPropertyScreenMagnifierEnabled,
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 297
279 if (property_name == kPropertyManagedDeviceStatus) { 298 if (property_name == kPropertyManagedDeviceStatus) {
280 policy::BrowserPolicyConnectorChromeOS* connector = 299 policy::BrowserPolicyConnectorChromeOS* connector =
281 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 300 g_browser_process->platform_part()->browser_policy_connector_chromeos();
282 if (connector->IsEnterpriseManaged()) { 301 if (connector->IsEnterpriseManaged()) {
283 return new base::Value(kManagedDeviceStatusManaged); 302 return new base::Value(kManagedDeviceStatusManaged);
284 } 303 }
285 return new base::Value(kManagedDeviceStatusNotManaged); 304 return new base::Value(kManagedDeviceStatusNotManaged);
286 } 305 }
287 306
307 if (property_name == kPropertyDeviceType) {
308 switch (chromeos::GetDeviceType()) {
309 case chromeos::DeviceType::kChromebox:
310 return new base::Value(kDeviceTypeChromebox);
311 case chromeos::DeviceType::kChromebase:
312 return new base::Value(kDeviceTypeChromebase);
313 case chromeos::DeviceType::kChromebit:
314 return new base::Value(kDeviceTypeChromebit);
315 case chromeos::DeviceType::kChromebook:
316 return new base::Value(kDeviceTypeChromebook);
317 default:
318 return new base::Value(kDeviceTypeChromedevice);
319 }
320 }
321
288 if (property_name == kPropertyClientId) { 322 if (property_name == kPropertyClientId) {
289 return new base::Value(GetClientId()); 323 return new base::Value(GetClientId());
290 } 324 }
291 325
292 if (property_name == kPropertyTimezone) { 326 if (property_name == kPropertyTimezone) {
293 return chromeos::CrosSettings::Get()->GetPref( 327 return chromeos::CrosSettings::Get()->GetPref(
294 chromeos::kSystemTimezone)->DeepCopy(); 328 chromeos::kSystemTimezone)->DeepCopy();
295 } 329 }
296 330
297 if (property_name == kPropertySupportedTimezones) { 331 if (property_name == kPropertySupportedTimezones) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 param_value); 369 param_value);
336 } else { 370 } else {
337 return RespondNow(Error(kPropertyNotFound, param_name)); 371 return RespondNow(Error(kPropertyNotFound, param_name));
338 } 372 }
339 } 373 }
340 374
341 return RespondNow(NoArguments()); 375 return RespondNow(NoArguments());
342 } 376 }
343 377
344 } // namespace extensions 378 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/info_private_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698