diff options
author | mnissler <mnissler@chromium.org> | 2014-10-14 04:58:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-14 11:58:27 +0000 |
commit | bbf7538fb0e8bfe7c9929993ea3587b521045a5b (patch) | |
tree | b4bf6e7b54e8d07412b9fc04f8c52dedb67cf18a /chromeos/system | |
parent | a0b9d8cd4fb52e849aeb8174657518f6404c4008 (diff) | |
download | chromium_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.cc | 8 | ||||
-rw-r--r-- | chromeos/system/fake_statistics_provider.h | 2 | ||||
-rw-r--r-- | chromeos/system/statistics_provider.cc | 13 | ||||
-rw-r--r-- | chromeos/system/statistics_provider.h | 9 |
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; |