Index: chrome/browser/chromeos/version_loader.cc |
diff --git a/chrome/browser/chromeos/version_loader.cc b/chrome/browser/chromeos/version_loader.cc |
index 17981ab8f4599c99b0f7c55d2c1e8438aa5f1888..d0fcd625329bfb65b40d6a7494a24f645cad8856 100644 |
--- a/chrome/browser/chromeos/version_loader.cc |
+++ b/chrome/browser/chromeos/version_loader.cc |
@@ -21,6 +21,10 @@ namespace chromeos { |
// File to look for version number in. |
static const char kPathVersion[] = "/etc/lsb-release"; |
+// TODO(rkc): Remove once we change over the Chrome OS version format. |
+// Done for http://code.google.com/p/chromium-os/issues/detail?id=15789 |
+static const size_t kTrimVersion = 2; |
+ |
// File to look for firmware number in. |
static const char kPathFirmware[] = "/var/log/bios_info.txt"; |
@@ -78,6 +82,10 @@ VersionLoader::Handle VersionLoader::GetFirmware( |
return request->handle(); |
} |
+void VersionLoader::EnablePlatformVersions(bool enable) { |
+ backend_.get()->SetPlatformVersions(enable); |
+} |
+ |
// static |
std::string VersionLoader::ParseVersion(const std::string& contents, |
const std::string& prefix) { |
@@ -139,6 +147,20 @@ void VersionLoader::Backend::GetVersion( |
version = ParseVersion( |
contents, |
(format == VERSION_FULL) ? kFullVersionPrefix : kVersionPrefix); |
+ |
+ // TODO(rkc): Fix this once we move to xx.yyy version numbers for Chrome OS |
+ // instead of 0.xx.yyy |
+ // Done for http://code.google.com/p/chromium-os/issues/detail?id=15789 |
+ if (parse_as_platform_) { |
+ if (version.size() > kTrimVersion) { |
+ version = version.substr(kTrimVersion); |
+ // Strip the major version. |
+ size_t first_dot = version.find("."); |
+ if (first_dot != std::string::npos) { |
+ version = version.substr(first_dot + 1); |
+ } |
+ } |
+ } |
} |
if (format == VERSION_SHORT_WITH_DATE) { |