summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormerkulova@chromium.org <merkulova@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-17 19:20:22 +0000
committermerkulova@chromium.org <merkulova@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-17 19:20:22 +0000
commit8e2da10680181399b706e1b40256dbc7698d3b63 (patch)
tree42cf5ea6f4532b04f72eb6273ac367b71e607413 /chrome
parentbf01f9004e3ab7401f2ade3a4aafab55aeb4dbc5 (diff)
downloadchromium_src-8e2da10680181399b706e1b40256dbc7698d3b63.zip
chromium_src-8e2da10680181399b706e1b40256dbc7698d3b63.tar.gz
chromium_src-8e2da10680181399b706e1b40256dbc7698d3b63.tar.bz2
Flag covering HID-detection OOBE screen removed.
BUG=127016 TBR=rkc@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=276656 Review URL: https://codereview.chromium.org/273533004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277835 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/chromeos/login/screens/core_oobe_actor.h3
-rw-r--r--chrome/browser/chromeos/login/wizard_controller.cc8
-rw-r--r--chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc8
-rw-r--r--chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h5
-rw-r--r--chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc133
-rw-r--r--chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h60
-rw-r--r--chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.cc6
-rw-r--r--chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h6
-rw-r--r--chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc101
-rw-r--r--chrome/browser/ui/webui/chromeos/login/network_screen_handler.h26
-rw-r--r--chrome/browser/ui/webui/chromeos/login/oobe_ui.cc2
-rw-r--r--chrome/chrome_browser_ui.gypi2
12 files changed, 230 insertions, 130 deletions
diff --git a/chrome/browser/chromeos/login/screens/core_oobe_actor.h b/chrome/browser/chromeos/login/screens/core_oobe_actor.h
index 6847dfb..daa0176 100644
--- a/chrome/browser/chromeos/login/screens/core_oobe_actor.h
+++ b/chrome/browser/chromeos/login/screens/core_oobe_actor.h
@@ -42,6 +42,9 @@ class CoreOobeActor {
virtual void SetKeyboardState(bool shown, const gfx::Rect& bounds) = 0;
virtual void SetClientAreaSize(int width, int height) = 0;
virtual void ShowDeviceResetScreen() = 0;
+ virtual void InitDemoModeDetection() = 0;
+ virtual void StopDemoModeDetection() = 0;
+
};
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 4fe6eaf..147667a 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -99,8 +99,8 @@ const char *kResumableScreens[] = {
// Checks flag for HID-detection screen show.
bool CanShowHIDDetectionScreen() {
- return CommandLine::ForCurrentProcess()->HasSwitch(
- chromeos::switches::kEnableHIDDetectionOnOOBE);
+ return !CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kDisableHIDDetectionOnOOBE);
}
bool IsResumableScreen(const std::string& screen) {
@@ -545,7 +545,9 @@ void WizardController::SkipUpdateEnrollAfterEula() {
///////////////////////////////////////////////////////////////////////////////
// WizardController, ExitHandlers:
void WizardController::OnHIDDetectionCompleted() {
- ShowNetworkScreen();
+ // Check for tests configuration.
+ if (!StartupUtils::IsOobeCompleted())
+ ShowNetworkScreen();
}
void WizardController::OnNetworkConnected() {
diff --git a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
index 58f174d..a4e129f 100644
--- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
@@ -395,4 +395,12 @@ void CoreOobeHandler::HandleHeaderBarVisible() {
login_display_host->SetStatusAreaVisible(true);
}
+void CoreOobeHandler::InitDemoModeDetection() {
+ demo_mode_detector_.InitDetection();
+}
+
+void CoreOobeHandler::StopDemoModeDetection() {
+ demo_mode_detector_.StopDetection();
+}
+
} // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h
index 0fa6f4f..b19d189 100644
--- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h
@@ -11,6 +11,7 @@
#include "chrome/browser/chromeos/login/screens/core_oobe_actor.h"
#include "chrome/browser/chromeos/login/version_info_updater.h"
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
+#include "chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h"
namespace base {
class ListValue;
@@ -83,6 +84,8 @@ class CoreOobeHandler : public BaseScreenHandler,
virtual void SetKeyboardState(bool shown, const gfx::Rect& bounds) OVERRIDE;
virtual void SetClientAreaSize(int width, int height) OVERRIDE;
virtual void ShowDeviceResetScreen() OVERRIDE;
+ virtual void InitDemoModeDetection() OVERRIDE;
+ virtual void StopDemoModeDetection() OVERRIDE;
// Handlers for JS WebUI messages.
void HandleEnableLargeCursor(bool enabled);
@@ -138,6 +141,8 @@ class CoreOobeHandler : public BaseScreenHandler,
scoped_ptr<AccessibilityStatusSubscription> accessibility_subscription_;
+ DemoModeDetector demo_mode_detector_;
+
DISALLOW_COPY_AND_ASSIGN(CoreOobeHandler);
};
diff --git a/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc
new file mode 100644
index 0000000..5323f6e
--- /dev/null
+++ b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.cc
@@ -0,0 +1,133 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h"
+
+#include "base/command_line.h"
+#include "base/prefs/pref_service.h"
+#include "base/strings/string_number_conversions.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"
+#include "chrome/common/pref_names.h"
+#include "chromeos/chromeos_switches.h"
+
+namespace {
+ const int kDerelectDetectionTimeoutSeconds = 8 * 60 * 60; // 8 hours.
+ const int kDerelectIdleTimeoutSeconds = 5 * 60; // 5 minutes.
+ const int kOobeTimerUpdateIntervalSeconds = 5 * 60; // 5 minutes.
+} // namespace
+
+namespace chromeos {
+
+DemoModeDetector::DemoModeDetector()
+ : demo_launched_(false),
+ weak_ptr_factory_(this) {
+ SetupTimeouts();
+}
+
+DemoModeDetector::~DemoModeDetector() {
+}
+
+void DemoModeDetector::InitDetection() {
+ if (IsDerelict())
+ StartIdleDetection();
+ else
+ StartOobeTimer();
+}
+
+void DemoModeDetector::StopDetection() {
+ idle_detector_.reset();
+}
+
+void DemoModeDetector::StartIdleDetection() {
+ if (!idle_detector_.get()) {
+ idle_detector_.reset(
+ new IdleDetector(base::Closure(),
+ base::Bind(&DemoModeDetector::OnIdle,
+ weak_ptr_factory_.GetWeakPtr())));
+ }
+ idle_detector_->Start(derelict_idle_timeout_);
+}
+
+void DemoModeDetector::StartOobeTimer() {
+ if (oobe_timer_.IsRunning())
+ return;
+ oobe_timer_.Start(FROM_HERE,
+ oobe_timer_update_interval_,
+ this,
+ &DemoModeDetector::OnOobeTimerUpdate);
+}
+
+void DemoModeDetector::OnIdle() {
+ if (demo_launched_)
+ return;
+ demo_launched_ = true;
+ LoginDisplayHost* host = LoginDisplayHostImpl::default_host();
+ host->StartDemoAppLaunch();
+}
+
+void DemoModeDetector::OnOobeTimerUpdate() {
+ time_on_oobe_ += oobe_timer_update_interval_;
+
+ PrefService* prefs = g_browser_process->local_state();
+ prefs->SetInt64(prefs::kTimeOnOobe, time_on_oobe_.InSeconds());
+
+ if (IsDerelict()) {
+ oobe_timer_.Stop();
+ StartIdleDetection();
+ }
+}
+
+void DemoModeDetector::SetupTimeouts() {
+ CommandLine* cmdline = CommandLine::ForCurrentProcess();
+ DCHECK(cmdline);
+
+ PrefService* prefs = g_browser_process->local_state();
+ time_on_oobe_ =
+ base::TimeDelta::FromSeconds(prefs->GetInt64(prefs::kTimeOnOobe));
+
+ int derelict_detection_timeout;
+ if (!cmdline->HasSwitch(switches::kDerelictDetectionTimeout) ||
+ !base::StringToInt(
+ cmdline->GetSwitchValueASCII(switches::kDerelictDetectionTimeout),
+ &derelict_detection_timeout)) {
+ derelict_detection_timeout = kDerelectDetectionTimeoutSeconds;
+ }
+ derelict_detection_timeout_ =
+ base::TimeDelta::FromSeconds(derelict_detection_timeout);
+
+ int derelict_idle_timeout;
+ if (!cmdline->HasSwitch(switches::kDerelictIdleTimeout) ||
+ !base::StringToInt(
+ cmdline->GetSwitchValueASCII(switches::kDerelictIdleTimeout),
+ &derelict_idle_timeout)) {
+ derelict_idle_timeout = kDerelectIdleTimeoutSeconds;
+ }
+ derelict_idle_timeout_ = base::TimeDelta::FromSeconds(derelict_idle_timeout);
+
+
+ int oobe_timer_update_interval;
+ if (!cmdline->HasSwitch(switches::kOobeTimerInterval) ||
+ !base::StringToInt(
+ cmdline->GetSwitchValueASCII(switches::kOobeTimerInterval),
+ &oobe_timer_update_interval)) {
+ oobe_timer_update_interval = kOobeTimerUpdateIntervalSeconds;
+ }
+ oobe_timer_update_interval_ =
+ base::TimeDelta::FromSeconds(oobe_timer_update_interval);
+
+ // In case we'd be derelict before our timer is set to trigger, reduce
+ // the interval so we check again when we're scheduled to go derelict.
+ oobe_timer_update_interval_ =
+ std::max(std::min(oobe_timer_update_interval_,
+ derelict_detection_timeout_ - time_on_oobe_),
+ base::TimeDelta::FromSeconds(0));
+}
+
+bool DemoModeDetector::IsDerelict() {
+ return time_on_oobe_ >= derelict_detection_timeout_;
+}
+
+} // namespace chromeos
diff --git a/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h
new file mode 100644
index 0000000..b489e36
--- /dev/null
+++ b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h
@@ -0,0 +1,60 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_DEMO_MODE_DETECTOR_H_
+#define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_DEMO_MODE_DETECTOR_H_
+
+#include <string>
+
+#include "base/memory/weak_ptr.h"
+#include "base/time/time.h"
+#include "base/timer/timer.h"
+#include "chrome/browser/chromeos/idle_detector.h"
+
+namespace chromeos {
+
+// Helper for idle state and demo-mode detection.
+// Should be initialized on OOBE start.
+class DemoModeDetector {
+ public:
+ DemoModeDetector();
+ virtual ~DemoModeDetector();
+
+ void InitDetection();
+ void StopDetection();
+
+ private:
+ void StartIdleDetection();
+ void StartOobeTimer();
+ void OnIdle();
+ void OnOobeTimerUpdate();
+ void SetupTimeouts();
+ bool IsDerelict();
+
+ // Total time this machine has spent on OOBE.
+ base::TimeDelta time_on_oobe_;
+
+ scoped_ptr<IdleDetector> idle_detector_;
+
+ base::RepeatingTimer<DemoModeDetector> oobe_timer_;
+
+ // Timeout to detect if the machine is in a derelict state.
+ base::TimeDelta derelict_detection_timeout_;
+
+ // Timeout before showing our demo app if the machine is in a derelict state.
+ base::TimeDelta derelict_idle_timeout_;
+
+ // Time between updating our total time on oobe.
+ base::TimeDelta oobe_timer_update_interval_;
+
+ bool demo_launched_;
+
+ base::WeakPtrFactory<DemoModeDetector> weak_ptr_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(DemoModeDetector);
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_DEMO_MODE_DETECTOR_H_
diff --git a/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.cc
index 69ec08c..93925ae6 100644
--- a/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.cc
@@ -64,9 +64,11 @@ bool DeviceIsKeyboard(device::BluetoothDevice::DeviceType device_type) {
namespace chromeos {
-HIDDetectionScreenHandler::HIDDetectionScreenHandler()
+HIDDetectionScreenHandler::HIDDetectionScreenHandler(
+ CoreOobeActor* core_oobe_actor)
: BaseScreenHandler(kJsScreenPath),
delegate_(NULL),
+ core_oobe_actor_(core_oobe_actor),
show_on_init_(false),
mouse_is_pairing_(false),
keyboard_is_pairing_(false),
@@ -103,6 +105,7 @@ void HIDDetectionScreenHandler::Show() {
show_on_init_ = true;
return;
}
+ core_oobe_actor_->InitDemoModeDetection();
input_service_proxy_.AddObserver(this);
first_time_screen_show_ = true;
GetDevicesFirstTime();
@@ -174,6 +177,7 @@ void HIDDetectionScreenHandler::HandleOnContinue() {
scenario_type,
CONTINUE_SCENARIO_TYPE_SIZE);
}
+ core_oobe_actor_->StopDemoModeDetection();
if (delegate_)
delegate_->OnExit();
}
diff --git a/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h
index ac3ad74..f990745 100644
--- a/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h
@@ -27,6 +27,8 @@ class DictionaryValue;
namespace chromeos {
+class CoreOobeActor;
+
// WebUI implementation of HIDDetectionScreenActor.
class HIDDetectionScreenHandler
: public HIDDetectionScreenActor,
@@ -37,7 +39,7 @@ class HIDDetectionScreenHandler
public:
typedef device::InputServiceLinux::InputDeviceInfo InputDeviceInfo;
- HIDDetectionScreenHandler();
+ explicit HIDDetectionScreenHandler(CoreOobeActor* core_oobe_actor);
virtual ~HIDDetectionScreenHandler();
// HIDDetectionScreenActor implementation:
@@ -143,6 +145,8 @@ class HIDDetectionScreenHandler
Delegate* delegate_;
+ CoreOobeActor* core_oobe_actor_;
+
// Keeps whether screen should be shown right after initialization.
bool show_on_init_;
diff --git a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc
index e19d547..b5a4e70 100644
--- a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.cc
@@ -13,7 +13,6 @@
#include "base/memory/weak_ptr.h"
#include "base/prefs/pref_registry_simple.h"
#include "base/prefs/pref_service.h"
-#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/sys_info.h"
@@ -21,12 +20,11 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
#include "chrome/browser/chromeos/base/locale_util.h"
+#include "chrome/browser/chromeos/customization_document.h"
#include "chrome/browser/chromeos/idle_detector.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
#include "chrome/browser/chromeos/login/screens/core_oobe_actor.h"
#include "chrome/browser/chromeos/login/ui/input_events_blocker.h"
-#include "chrome/browser/chromeos/login/ui/login_display_host.h"
-#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
#include "chrome/browser/chromeos/system/input_device_settings.h"
#include "chrome/browser/chromeos/system/timezone_util.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
@@ -53,10 +51,6 @@ const char kJsApiNetworkOnLanguageChanged[] = "networkOnLanguageChanged";
const char kJsApiNetworkOnInputMethodChanged[] = "networkOnInputMethodChanged";
const char kJsApiNetworkOnTimezoneChanged[] = "networkOnTimezoneChanged";
-const int kDerelectDetectionTimeoutSeconds = 8 * 60 * 60; // 8 hours.
-const int kDerelectIdleTimeoutSeconds = 5 * 60; // 5 minutes.
-const int kOobeTimerUpdateIntervalSeconds = 5 * 60; // 5 minutes.
-
// Returns true if element was inserted.
bool InsertString(const std::string& str, std::set<std::string>& to) {
const std::pair<std::set<std::string>::iterator, bool> result =
@@ -104,7 +98,6 @@ NetworkScreenHandler::NetworkScreenHandler(CoreOobeActor* core_oobe_actor)
should_reinitialize_language_keyboard_list_(false),
weak_ptr_factory_(this) {
DCHECK(core_oobe_actor_);
- SetupTimeouts();
input_method::InputMethodManager* manager =
input_method::InputMethodManager::Get();
@@ -171,11 +164,7 @@ void NetworkScreenHandler::Show() {
track.find("testimage") != std::string::npos)
return;
}
-
- if (IsDerelict())
- StartIdleDetection();
- else
- StartOobeTimer();
+ core_oobe_actor_->InitDemoModeDetection();
}
void NetworkScreenHandler::Hide() {
@@ -268,7 +257,7 @@ void NetworkScreenHandler::RegisterPrefs(PrefRegistrySimple* registry) {
// NetworkScreenHandler, private: ----------------------------------------------
void NetworkScreenHandler::HandleOnExit() {
- idle_detector_.reset();
+ core_oobe_actor_->StopDemoModeDetection();
ClearErrors();
if (screen_)
screen_->OnContinuePressed();
@@ -357,90 +346,6 @@ void NetworkScreenHandler::OnSystemTimezoneChanged() {
CallJS("setTimezone", current_timezone_id);
}
-void NetworkScreenHandler::StartIdleDetection() {
- if (!idle_detector_.get()) {
- idle_detector_.reset(
- new IdleDetector(base::Closure(),
- base::Bind(&NetworkScreenHandler::OnIdle,
- weak_ptr_factory_.GetWeakPtr())));
- }
- idle_detector_->Start(derelict_idle_timeout_);
-}
-
-void NetworkScreenHandler::StartOobeTimer() {
- oobe_timer_.Start(FROM_HERE,
- oobe_timer_update_interval_,
- this,
- &NetworkScreenHandler::OnOobeTimerUpdate);
-}
-
-void NetworkScreenHandler::OnIdle() {
- LoginDisplayHost* host = LoginDisplayHostImpl::default_host();
- host->StartDemoAppLaunch();
-}
-
-void NetworkScreenHandler::OnOobeTimerUpdate() {
- time_on_oobe_ += oobe_timer_update_interval_;
-
- PrefService* prefs = g_browser_process->local_state();
- prefs->SetInt64(prefs::kTimeOnOobe, time_on_oobe_.InSeconds());
-
- if (IsDerelict()) {
- oobe_timer_.Stop();
- StartIdleDetection();
- }
-}
-
-void NetworkScreenHandler::SetupTimeouts() {
- CommandLine* cmdline = CommandLine::ForCurrentProcess();
- DCHECK(cmdline);
-
- PrefService* prefs = g_browser_process->local_state();
- time_on_oobe_ =
- base::TimeDelta::FromSeconds(prefs->GetInt64(prefs::kTimeOnOobe));
-
- int derelict_detection_timeout;
- if (!cmdline->HasSwitch(switches::kDerelictDetectionTimeout) ||
- !base::StringToInt(
- cmdline->GetSwitchValueASCII(switches::kDerelictDetectionTimeout),
- &derelict_detection_timeout)) {
- derelict_detection_timeout = kDerelectDetectionTimeoutSeconds;
- }
- derelict_detection_timeout_ =
- base::TimeDelta::FromSeconds(derelict_detection_timeout);
-
- int derelict_idle_timeout;
- if (!cmdline->HasSwitch(switches::kDerelictIdleTimeout) ||
- !base::StringToInt(
- cmdline->GetSwitchValueASCII(switches::kDerelictIdleTimeout),
- &derelict_idle_timeout)) {
- derelict_idle_timeout = kDerelectIdleTimeoutSeconds;
- }
- derelict_idle_timeout_ = base::TimeDelta::FromSeconds(derelict_idle_timeout);
-
-
- int oobe_timer_update_interval;
- if (!cmdline->HasSwitch(switches::kOobeTimerInterval) ||
- !base::StringToInt(
- cmdline->GetSwitchValueASCII(switches::kOobeTimerInterval),
- &oobe_timer_update_interval)) {
- oobe_timer_update_interval = kOobeTimerUpdateIntervalSeconds;
- }
- oobe_timer_update_interval_ =
- base::TimeDelta::FromSeconds(oobe_timer_update_interval);
-
- // In case we'd be derelict before our timer is set to trigger, reduce
- // the interval so we check again when we're scheduled to go derelict.
- oobe_timer_update_interval_ =
- std::max(std::min(oobe_timer_update_interval_,
- derelict_detection_timeout_ - time_on_oobe_),
- base::TimeDelta::FromSeconds(0));
-}
-
-bool NetworkScreenHandler::IsDerelict() {
- return time_on_oobe_ >= derelict_detection_timeout_;
-}
-
base::ListValue* NetworkScreenHandler::GetLanguageList() {
const std::string app_locale = g_browser_process->GetApplicationLocale();
input_method::InputMethodManager* manager =
diff --git a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h
index f11e6fa..3dbb473 100644
--- a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h
@@ -9,8 +9,6 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
-#include "base/time/time.h"
-#include "base/timer/timer.h"
#include "chrome/browser/chromeos/login/screens/network_screen_actor.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
@@ -92,14 +90,6 @@ class NetworkScreenHandler : public NetworkScreenActor,
// Callback when the system timezone settings is changed.
void OnSystemTimezoneChanged();
- // Demo mode detection methods.
- void StartIdleDetection();
- void StartOobeTimer();
- void OnIdle();
- void OnOobeTimerUpdate();
- void SetupTimeouts();
- bool IsDerelict();
-
// Returns available languages. Caller gets the ownership. Note, it does
// depend on the current locale.
base::ListValue* GetLanguageList();
@@ -116,9 +106,6 @@ class NetworkScreenHandler : public NetworkScreenActor,
bool is_continue_enabled_;
- // Total time this machine has spent on OOBE.
- base::TimeDelta time_on_oobe_;
-
// Keeps whether screen should be shown right after initialization.
bool show_on_init_;
@@ -127,19 +114,6 @@ class NetworkScreenHandler : public NetworkScreenActor,
scoped_ptr<CrosSettings::ObserverSubscription> timezone_subscription_;
- scoped_ptr<IdleDetector> idle_detector_;
-
- base::RepeatingTimer<NetworkScreenHandler> oobe_timer_;
-
- // Timeout to detect if the machine is in a derelict state.
- base::TimeDelta derelict_detection_timeout_;
-
- // Timeout before showing our demo app if the machine is in a derelict state.
- base::TimeDelta derelict_idle_timeout_;
-
- // Time between updating our total time on oobe.
- base::TimeDelta oobe_timer_update_interval_;
-
// True if should reinitialize language and keyboard list once the page
// is ready.
bool should_reinitialize_language_keyboard_list_;
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
index 344304c..67dfa9a 100644
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc
@@ -240,7 +240,7 @@ OobeUI::OobeUI(content::WebUI* web_ui, const GURL& url)
AddScreenHandler(auto_enrollment_check_screen_handler);
HIDDetectionScreenHandler* hid_detection_screen_handler =
- new HIDDetectionScreenHandler();
+ new HIDDetectionScreenHandler(core_handler_);
hid_detection_screen_actor_ = hid_detection_screen_handler;
AddScreenHandler(hid_detection_screen_handler);
diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi
index 92dd364..76924f0 100644
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -2029,6 +2029,8 @@
'browser/ui/webui/chromeos/login/base_screen_handler_utils.h',
'browser/ui/webui/chromeos/login/core_oobe_handler.cc',
'browser/ui/webui/chromeos/login/core_oobe_handler.h',
+ 'browser/ui/webui/chromeos/login/demo_mode_detector.cc',
+ 'browser/ui/webui/chromeos/login/demo_mode_detector.h',
'browser/ui/webui/chromeos/login/enrollment_screen_handler.cc',
'browser/ui/webui/chromeos/login/enrollment_screen_handler.h',
'browser/ui/webui/chromeos/login/error_screen_handler.cc',