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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/info_private_apitest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/extensions/info_private_api.cc
diff --git a/chrome/browser/chromeos/extensions/info_private_api.cc b/chrome/browser/chromeos/extensions/info_private_api.cc
index 66041e7b774e48c1450f742ad6fd3cf905329897..28aa50fb73aae9d6683caead61be0da6d3a50c7d 100644
--- a/chrome/browser/chromeos/extensions/info_private_api.cc
+++ b/chrome/browser/chromeos/extensions/info_private_api.cc
@@ -23,6 +23,7 @@
#include "chromeos/network/network_handler.h"
#include "chromeos/network/network_state_handler.h"
#include "chromeos/settings/cros_settings_names.h"
+#include "chromeos/system/devicetype.h"
#include "chromeos/system/statistics_provider.h"
#include "components/arc/arc_util.h"
#include "components/metrics/metrics_service.h"
@@ -144,6 +145,24 @@ const char kManagedDeviceStatusNotManaged[] = "not managed";
// Value to which managedDeviceStatus property is set for managed devices.
const char kManagedDeviceStatusManaged[] = "managed";
+// Key which corresponds to the deviceType property in JS.
+const char kPropertyDeviceType[] = "deviceType";
+
+// Value to which deviceType property is set for Chromebase.
+const char kDeviceTypeChromebase[] = "chromebase";
+
+// Value to which deviceType property is set for Chromebit.
+const char kDeviceTypeChromebit[] = "chromebit";
+
+// Value to which deviceType property is set for Chromebook.
+const char kDeviceTypeChromebook[] = "chromebook";
+
+// Value to which deviceType property is set for Chromebox.
+const char kDeviceTypeChromebox[] = "chromebox";
+
+// Value to which deviceType property is set when the specific type is unknown.
+const char kDeviceTypeChromedevice[] = "chromedevice";
+
const struct {
const char* api_name;
const char* preference_name;
@@ -285,6 +304,21 @@ base::Value* ChromeosInfoPrivateGetFunction::GetValue(
return new base::Value(kManagedDeviceStatusNotManaged);
}
+ if (property_name == kPropertyDeviceType) {
+ switch (chromeos::GetDeviceType()) {
+ case chromeos::DeviceType::kChromebox:
+ return new base::Value(kDeviceTypeChromebox);
+ case chromeos::DeviceType::kChromebase:
+ return new base::Value(kDeviceTypeChromebase);
+ case chromeos::DeviceType::kChromebit:
+ return new base::Value(kDeviceTypeChromebit);
+ case chromeos::DeviceType::kChromebook:
+ return new base::Value(kDeviceTypeChromebook);
+ default:
+ return new base::Value(kDeviceTypeChromedevice);
+ }
+ }
+
if (property_name == kPropertyClientId) {
return new base::Value(GetClientId());
}
« 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