Index: chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc |
index 5323f6e5eee325651fa58e716cb2aa5a4dd288ba..dc09f25d032f68156d56a9e6f0bf5b6dd1aee2fa 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc |
@@ -7,6 +7,7 @@ |
#include "base/command_line.h" |
#include "base/prefs/pref_service.h" |
#include "base/strings/string_number_conversions.h" |
+#include "base/sys_info.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chromeos/login/ui/login_display_host.h" |
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" |
@@ -31,6 +32,18 @@ DemoModeDetector::~DemoModeDetector() { |
} |
void DemoModeDetector::InitDetection() { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableDemoMode)) |
+ return; |
+ |
+ if (base::SysInfo::IsRunningOnChromeOS()) { |
+ std::string track; |
+ // We're running on an actual device; if we cannot find our release track |
+ // value or if the track contains "testimage", don't start demo mode. |
+ if (!base::SysInfo::GetLsbReleaseValue("CHROMEOS_RELEASE_TRACK", &track) || |
+ track.find("testimage") != std::string::npos) |
+ return; |
+ } |
+ |
if (IsDerelict()) |
StartIdleDetection(); |
else |