summaryrefslogtreecommitdiffstats
path: root/chromeos/system
diff options
context:
space:
mode:
authormnissler <mnissler@chromium.org>2014-10-14 04:58:16 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-14 11:58:27 +0000
commitbbf7538fb0e8bfe7c9929993ea3587b521045a5b (patch)
treeb4bf6e7b54e8d07412b9fc04f8c52dedb67cf18a /chromeos/system
parenta0b9d8cd4fb52e849aeb8174657518f6404c4008 (diff)
downloadchromium_src-bbf7538fb0e8bfe7c9929993ea3587b521045a5b.zip
chromium_src-bbf7538fb0e8bfe7c9929993ea3587b521045a5b.tar.gz
chromium_src-bbf7538fb0e8bfe7c9929993ea3587b521045a5b.tar.bz2
Don't do auto-enrollment if ActivateDate key is present in VPD.
This is a simplified implementation that pulls the ActivateDate key directly via StatisticsProvider instead of passing it into Chrome along with server-backed state keys from session_manager. The latter code will be removed in a subsequent CL. BUG=chromium:397354 Review URL: https://codereview.chromium.org/650033003 Cr-Commit-Position: refs/heads/master@{#299462}
Diffstat (limited to 'chromeos/system')
-rw-r--r--chromeos/system/fake_statistics_provider.cc8
-rw-r--r--chromeos/system/fake_statistics_provider.h2
-rw-r--r--chromeos/system/statistics_provider.cc13
-rw-r--r--chromeos/system/statistics_provider.h9
4 files changed, 32 insertions, 0 deletions
diff --git a/chromeos/system/fake_statistics_provider.cc b/chromeos/system/fake_statistics_provider.cc
index e9f530b..0f264c4 100644
--- a/chromeos/system/fake_statistics_provider.cc
+++ b/chromeos/system/fake_statistics_provider.cc
@@ -27,6 +27,10 @@ bool FakeStatisticsProvider::GetMachineStatistic(const std::string& name,
return match != machine_statistics_.end();
}
+bool FakeStatisticsProvider::HasMachineStatistic(const std::string& name) {
+ return machine_statistics_.find(name) != machine_statistics_.end();
+}
+
bool FakeStatisticsProvider::GetMachineFlag(const std::string& name,
bool* result) {
std::map<std::string, bool>::const_iterator match = machine_flags_.find(name);
@@ -35,6 +39,10 @@ bool FakeStatisticsProvider::GetMachineFlag(const std::string& name,
return match != machine_flags_.end();
}
+bool FakeStatisticsProvider::HasMachineFlag(const std::string& name) {
+ return machine_flags_.find(name) != machine_flags_.end();
+}
+
void FakeStatisticsProvider::Shutdown() {
}
diff --git a/chromeos/system/fake_statistics_provider.h b/chromeos/system/fake_statistics_provider.h
index 7953c40..c2dde04 100644
--- a/chromeos/system/fake_statistics_provider.h
+++ b/chromeos/system/fake_statistics_provider.h
@@ -25,7 +25,9 @@ class FakeStatisticsProvider : public StatisticsProvider {
bool load_oem_manifest) override;
virtual bool GetMachineStatistic(const std::string& name,
std::string* result) override;
+ virtual bool HasMachineStatistic(const std::string& name) override;
virtual bool GetMachineFlag(const std::string& name, bool* result) override;
+ virtual bool HasMachineFlag(const std::string& name) override;
virtual void Shutdown() override;
void SetMachineStatistic(const std::string& key, const std::string& value);
diff --git a/chromeos/system/statistics_provider.cc b/chromeos/system/statistics_provider.cc
index 48ff3d7..68a3f9c 100644
--- a/chromeos/system/statistics_provider.cc
+++ b/chromeos/system/statistics_provider.cc
@@ -74,6 +74,7 @@ const char kHardwareClassKey[] = "hardware_class";
const char kOffersCouponCodeKey[] = "ubind_attribute";
const char kOffersGroupCodeKey[] = "gbind_attribute";
const char kRlzBrandCodeKey[] = "rlz_brand_code";
+const char kActivateDateKey[] = "ActivateDate";
// OEM specific statistics. Must be prefixed with "oem_".
const char kOemCanExitEnterpriseEnrollmentKey[] = "oem_can_exit_enrollment";
@@ -94,7 +95,9 @@ class StatisticsProviderImpl : public StatisticsProvider {
bool load_oem_manifest) override;
virtual bool GetMachineStatistic(const std::string& name,
std::string* result) override;
+ virtual bool HasMachineStatistic(const std::string& name) override;
virtual bool GetMachineFlag(const std::string& name, bool* result) override;
+ virtual bool HasMachineFlag(const std::string& name) override;
virtual void Shutdown() override;
static StatisticsProviderImpl* GetInstance();
@@ -171,6 +174,11 @@ bool StatisticsProviderImpl::GetMachineStatistic(const std::string& name,
return true;
}
+bool StatisticsProviderImpl::HasMachineStatistic(const std::string& name) {
+ std::string result;
+ return GetMachineStatistic(name, &result);
+}
+
bool StatisticsProviderImpl::GetMachineFlag(const std::string& name,
bool* result) {
VLOG(1) << "Machine Flag requested: " << name;
@@ -191,6 +199,11 @@ bool StatisticsProviderImpl::GetMachineFlag(const std::string& name,
return true;
}
+bool StatisticsProviderImpl::HasMachineFlag(const std::string& name) {
+ bool result = false;
+ return GetMachineFlag(name, &result);
+}
+
void StatisticsProviderImpl::Shutdown() {
cancellation_flag_.Set(); // Cancel any pending loads
}
diff --git a/chromeos/system/statistics_provider.h b/chromeos/system/statistics_provider.h
index d1dd22c..be477055a 100644
--- a/chromeos/system/statistics_provider.h
+++ b/chromeos/system/statistics_provider.h
@@ -49,6 +49,9 @@ CHROMEOS_EXPORT extern const char kOffersGroupCodeKey[];
// Release Brand Code key.
CHROMEOS_EXPORT extern const char kRlzBrandCodeKey[];
+// Activation date key.
+CHROMEOS_EXPORT extern const char kActivateDateKey[];
+
// This interface provides access to Chrome OS statistics.
class CHROMEOS_EXPORT StatisticsProvider {
public:
@@ -66,9 +69,15 @@ class CHROMEOS_EXPORT StatisticsProvider {
virtual bool GetMachineStatistic(const std::string& name,
std::string* result) = 0;
+ // Checks whether a machine statistic is present.
+ virtual bool HasMachineStatistic(const std::string& name) = 0;
+
// Similar to GetMachineStatistic for boolean flags.
virtual bool GetMachineFlag(const std::string& name, bool* result) = 0;
+ // Checks whether a machine flag is present.
+ virtual bool HasMachineFlag(const std::string& name) = 0;
+
// Cancels any pending file operations.
virtual void Shutdown() = 0;