| Index: base/sys_info_chromeos.cc
 | 
| diff --git a/base/sys_info_chromeos.cc b/base/sys_info_chromeos.cc
 | 
| index 9d7505e25682f8c33b1f82fb4f8c7cbd06e03c66..e0f8b4f07b46e013a30808642d16b0709628ccd2 100644
 | 
| --- a/base/sys_info_chromeos.cc
 | 
| +++ b/base/sys_info_chromeos.cc
 | 
| @@ -25,8 +25,13 @@ const char* kLinuxStandardBaseVersionKeys[] = {
 | 
|    "GOOGLE_RELEASE",
 | 
|    "DISTRIB_RELEASE",
 | 
|  };
 | 
| -const size_t kLinuxStandardBaseVersionKeysLength =
 | 
| -    arraysize(kLinuxStandardBaseVersionKeys);
 | 
| +
 | 
| +const char kChromeOsReleaseNameKey[] = "CHROMEOS_RELEASE_NAME";
 | 
| +
 | 
| +const char* const kChromeOsReleaseNames[] = {
 | 
| +  "Chrome OS",
 | 
| +  "Chromium OS",
 | 
| +};
 | 
|  
 | 
|  const char kLinuxStandardBaseReleaseFile[] = "/etc/lsb-release";
 | 
|  
 | 
| @@ -48,6 +53,7 @@ class ChromeOSVersionInfo {
 | 
|      major_version_ = 0;
 | 
|      minor_version_ = 0;
 | 
|      bugfix_version_ = 0;
 | 
| +    is_running_on_chromeos_ = false;
 | 
|  
 | 
|      std::string lsb_release, lsb_release_time_str;
 | 
|      scoped_ptr<base::Environment> env(base::Environment::Create());
 | 
| @@ -95,6 +101,7 @@ class ChromeOSVersionInfo {
 | 
|    const SysInfo::LsbReleaseMap& lsb_release_map() const {
 | 
|      return lsb_release_map_;
 | 
|    }
 | 
| +  bool is_running_on_chromeos() const { return is_running_on_chromeos_; }
 | 
|  
 | 
|   private:
 | 
|    void ParseLsbRelease(const std::string& lsb_release) {
 | 
| @@ -113,7 +120,7 @@ class ChromeOSVersionInfo {
 | 
|      }
 | 
|      // Parse the version from the first matching recognized version key.
 | 
|      std::string version;
 | 
| -    for (size_t i = 0; i < kLinuxStandardBaseVersionKeysLength; ++i) {
 | 
| +    for (size_t i = 0; i < arraysize(kLinuxStandardBaseVersionKeys); ++i) {
 | 
|        std::string key = kLinuxStandardBaseVersionKeys[i];
 | 
|        if (GetLsbReleaseValue(key, &version) && !version.empty())
 | 
|          break;
 | 
| @@ -131,6 +138,17 @@ class ChromeOSVersionInfo {
 | 
|        StringToInt(StringPiece(tokenizer.token_begin(), tokenizer.token_end()),
 | 
|                    &bugfix_version_);
 | 
|      }
 | 
| +
 | 
| +    // Check release name for Chrome OS.
 | 
| +    std::string release_name;
 | 
| +    if (GetLsbReleaseValue(kChromeOsReleaseNameKey, &release_name)) {
 | 
| +      for (size_t i = 0; i < arraysize(kChromeOsReleaseNames); ++i) {
 | 
| +        if (release_name == kChromeOsReleaseNames[i]) {
 | 
| +          is_running_on_chromeos_ = true;
 | 
| +          break;
 | 
| +        }
 | 
| +      }
 | 
| +    }
 | 
|    }
 | 
|  
 | 
|    base::Time lsb_release_time_;
 | 
| @@ -138,6 +156,7 @@ class ChromeOSVersionInfo {
 | 
|    int32 major_version_;
 | 
|    int32 minor_version_;
 | 
|    int32 bugfix_version_;
 | 
| +  bool is_running_on_chromeos_;
 | 
|  };
 | 
|  
 | 
|  static LazyInstance<ChromeOSVersionInfo>
 | 
| @@ -182,6 +201,11 @@ base::Time SysInfo::GetLsbReleaseTime() {
 | 
|  }
 | 
|  
 | 
|  // static
 | 
| +bool SysInfo::IsRunningOnChromeOS() {
 | 
| +  return GetChromeOSVersionInfo().is_running_on_chromeos();
 | 
| +}
 | 
| +
 | 
| +// static
 | 
|  void SysInfo::SetChromeOSVersionInfoForTest(const std::string& lsb_release,
 | 
|                                              const Time& lsb_release_time) {
 | 
|    scoped_ptr<base::Environment> env(base::Environment::Create());
 | 
| 
 |