Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: chrome/browser/ui/webui/chromeos/login/network_screen_handler.h

Issue 156493004: Add the ability to show a demo app on OOBE if a machine is derelict. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chromeos/login/network_screen_handler.h
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 56cb8a2ba3716482e5f6bf07d7fb96b79d7ba134..8b8cf76e18ec1b462bf0c1971b28bb00e276a174 100644
--- a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h
@@ -8,14 +8,19 @@
#include <string>
#include "base/compiler_specific.h"
+#include "base/time/time.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"
#include "ui/gfx/point.h"
+class PrefRegistrySimple;
+class PrefService;
Lei Zhang 2014/02/11 22:13:59 nit: not needed
rkc 2014/02/11 22:37:38 Done.
+
namespace chromeos {
class CoreOobeActor;
+class IdleDetector;
struct NetworkScreenHandlerOnLanguageChangedCallbackData;
@@ -46,6 +51,9 @@ class NetworkScreenHandler : public NetworkScreenActor,
// WebUIMessageHandler implementation:
virtual void RegisterMessages() OVERRIDE;
+ // Registers the preference for derelict state.
+ static void RegisterPrefs(PrefRegistrySimple* registry);
+
private:
// Handles moving off the screen.
void HandleOnExit();
@@ -69,6 +77,11 @@ class NetworkScreenHandler : public NetworkScreenActor,
// Callback when the system timezone settings is changed.
void OnSystemTimezoneChanged();
+ // Idle detection related methods.
+ void StartIdleDetection();
+ void OnIdle();
+ void SetupTimeouts();
+
// Returns available languages. Caller gets the ownership. Note, it does
// depend on the current locale.
static base::ListValue* GetLanguageList();
@@ -85,6 +98,9 @@ class NetworkScreenHandler : public NetworkScreenActor,
bool is_continue_enabled_;
+ // Flag set if we believe this is an abandoned machine.
+ bool is_derelict_;
+
// Keeps whether screen should be shown right after initialization.
bool show_on_init_;
@@ -93,6 +109,13 @@ class NetworkScreenHandler : public NetworkScreenActor,
scoped_ptr<CrosSettings::ObserverSubscription> timezone_subscription_;
+ scoped_ptr<IdleDetector> detector_;
+
+ // Timeout to detect if the machine is in a derelict state.
+ base::TimeDelta derelict_detection_timeout_;
+ // Timeout before showing our demo up if the machine is in a derelict state.
+ base::TimeDelta derelict_idle_timeout_;
+
base::WeakPtrFactory<NetworkScreenHandler> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(NetworkScreenHandler);

Powered by Google App Engine
This is Rietveld 408576698