diff options
author | merkulova@chromium.org <merkulova@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-17 19:20:22 +0000 |
---|---|---|
committer | merkulova@chromium.org <merkulova@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-17 19:20:22 +0000 |
commit | 8e2da10680181399b706e1b40256dbc7698d3b63 (patch) | |
tree | 42cf5ea6f4532b04f72eb6273ac367b71e607413 /chrome | |
parent | bf01f9004e3ab7401f2ade3a4aafab55aeb4dbc5 (diff) | |
download | chromium_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')
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', |