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

Side by Side Diff: chrome/browser/chromeos/system/automatic_reboot_manager.cc

Issue 833893003: Move UserActivityDetector to ui/base/user_activity/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: don't build test on android Created 5 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/system/automatic_reboot_manager.h" 5 #include "chrome/browser/chromeos/system/automatic_reboot_manager.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <sys/stat.h> 8 #include <sys/stat.h>
9 #include <sys/types.h> 9 #include <sys/types.h>
10 10
(...skipping 24 matching lines...) Expand all
35 #include "chrome/browser/chrome_notification_types.h" 35 #include "chrome/browser/chrome_notification_types.h"
36 #include "chrome/common/pref_names.h" 36 #include "chrome/common/pref_names.h"
37 #include "chromeos/chromeos_paths.h" 37 #include "chromeos/chromeos_paths.h"
38 #include "chromeos/chromeos_switches.h" 38 #include "chromeos/chromeos_switches.h"
39 #include "chromeos/dbus/dbus_thread_manager.h" 39 #include "chromeos/dbus/dbus_thread_manager.h"
40 #include "components/user_manager/user_manager.h" 40 #include "components/user_manager/user_manager.h"
41 #include "content/public/browser/browser_thread.h" 41 #include "content/public/browser/browser_thread.h"
42 #include "content/public/browser/notification_details.h" 42 #include "content/public/browser/notification_details.h"
43 #include "content/public/browser/notification_service.h" 43 #include "content/public/browser/notification_service.h"
44 #include "content/public/browser/notification_source.h" 44 #include "content/public/browser/notification_source.h"
45 #include "ui/wm/core/user_activity_detector.h" 45 #include "ui/base/user_activity/user_activity_detector.h"
46 46
47 namespace chromeos { 47 namespace chromeos {
48 namespace system { 48 namespace system {
49 49
50 namespace { 50 namespace {
51 51
52 const int kMinRebootUptimeMs = 60 * 60 * 1000; // 1 hour. 52 const int kMinRebootUptimeMs = 60 * 60 * 1000; // 1 hour.
53 const int kLoginManagerIdleTimeoutMs = 60 * 1000; // 60 seconds. 53 const int kLoginManagerIdleTimeoutMs = 60 * 1000; // 60 seconds.
54 const int kGracePeriodMs = 24 * 60 * 60 * 1000; // 24 hours. 54 const int kGracePeriodMs = 24 * 60 * 60 * 1000; // 24 hours.
55 const int kOneKilobyte = 1 << 10; // 1 kB in bytes. 55 const int kOneKilobyte = 1 << 10; // 1 kB in bytes.
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 content::NotificationService::AllSources()); 167 content::NotificationService::AllSources());
168 168
169 DBusThreadManager* dbus_thread_manager = DBusThreadManager::Get(); 169 DBusThreadManager* dbus_thread_manager = DBusThreadManager::Get();
170 dbus_thread_manager->GetPowerManagerClient()->AddObserver(this); 170 dbus_thread_manager->GetPowerManagerClient()->AddObserver(this);
171 dbus_thread_manager->GetUpdateEngineClient()->AddObserver(this); 171 dbus_thread_manager->GetUpdateEngineClient()->AddObserver(this);
172 172
173 // If no user is logged in, a reboot may be performed whenever the user is 173 // If no user is logged in, a reboot may be performed whenever the user is
174 // idle. Start listening for user activity to determine whether the user is 174 // idle. Start listening for user activity to determine whether the user is
175 // idle or not. 175 // idle or not.
176 if (!user_manager::UserManager::Get()->IsUserLoggedIn()) { 176 if (!user_manager::UserManager::Get()->IsUserLoggedIn()) {
177 if (wm::UserActivityDetector::Get()) 177 if (ui::UserActivityDetector::Get())
178 wm::UserActivityDetector::Get()->AddObserver(this); 178 ui::UserActivityDetector::Get()->AddObserver(this);
179 notification_registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_CHANGED, 179 notification_registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_CHANGED,
180 content::NotificationService::AllSources()); 180 content::NotificationService::AllSources());
181 login_screen_idle_timer_.reset( 181 login_screen_idle_timer_.reset(
182 new base::OneShotTimer<AutomaticRebootManager>); 182 new base::OneShotTimer<AutomaticRebootManager>);
183 OnUserActivity(NULL); 183 OnUserActivity(NULL);
184 } 184 }
185 185
186 // In a regular browser, base::ThreadTaskRunnerHandle::Get() and 186 // In a regular browser, base::ThreadTaskRunnerHandle::Get() and
187 // base::MessageLoopProxy::current() return pointers to the same object. 187 // base::MessageLoopProxy::current() return pointers to the same object.
188 // In unit tests, using base::ThreadTaskRunnerHandle::Get() has the advantage 188 // In unit tests, using base::ThreadTaskRunnerHandle::Get() has the advantage
(...skipping 11 matching lines...) Expand all
200 } 200 }
201 201
202 AutomaticRebootManager::~AutomaticRebootManager() { 202 AutomaticRebootManager::~AutomaticRebootManager() {
203 FOR_EACH_OBSERVER(AutomaticRebootManagerObserver, 203 FOR_EACH_OBSERVER(AutomaticRebootManagerObserver,
204 observers_, 204 observers_,
205 WillDestroyAutomaticRebootManager()); 205 WillDestroyAutomaticRebootManager());
206 206
207 DBusThreadManager* dbus_thread_manager = DBusThreadManager::Get(); 207 DBusThreadManager* dbus_thread_manager = DBusThreadManager::Get();
208 dbus_thread_manager->GetPowerManagerClient()->RemoveObserver(this); 208 dbus_thread_manager->GetPowerManagerClient()->RemoveObserver(this);
209 dbus_thread_manager->GetUpdateEngineClient()->RemoveObserver(this); 209 dbus_thread_manager->GetUpdateEngineClient()->RemoveObserver(this);
210 if (wm::UserActivityDetector::Get()) 210 if (ui::UserActivityDetector::Get())
211 wm::UserActivityDetector::Get()->RemoveObserver(this); 211 ui::UserActivityDetector::Get()->RemoveObserver(this);
212 } 212 }
213 213
214 void AutomaticRebootManager::AddObserver( 214 void AutomaticRebootManager::AddObserver(
215 AutomaticRebootManagerObserver* observer) { 215 AutomaticRebootManagerObserver* observer) {
216 observers_.AddObserver(observer); 216 observers_.AddObserver(observer);
217 } 217 }
218 218
219 void AutomaticRebootManager::RemoveObserver( 219 void AutomaticRebootManager::RemoveObserver(
220 AutomaticRebootManagerObserver* observer) { 220 AutomaticRebootManagerObserver* observer) {
221 observers_.RemoveObserver(observer); 221 observers_.RemoveObserver(observer);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 const content::NotificationDetails& details) { 268 const content::NotificationDetails& details) {
269 if (type == chrome::NOTIFICATION_APP_TERMINATING) { 269 if (type == chrome::NOTIFICATION_APP_TERMINATING) {
270 if (user_manager::UserManager::Get()->IsUserLoggedIn()) { 270 if (user_manager::UserManager::Get()->IsUserLoggedIn()) {
271 // The browser is terminating during a session, either because the session 271 // The browser is terminating during a session, either because the session
272 // is ending or because the browser is being restarted. 272 // is ending or because the browser is being restarted.
273 MaybeReboot(true); 273 MaybeReboot(true);
274 } 274 }
275 } else if (type == chrome::NOTIFICATION_LOGIN_USER_CHANGED) { 275 } else if (type == chrome::NOTIFICATION_LOGIN_USER_CHANGED) {
276 // A session is starting. Stop listening for user activity as it no longer 276 // A session is starting. Stop listening for user activity as it no longer
277 // is a relevant criterion. 277 // is a relevant criterion.
278 if (wm::UserActivityDetector::Get()) 278 if (ui::UserActivityDetector::Get())
279 wm::UserActivityDetector::Get()->RemoveObserver(this); 279 ui::UserActivityDetector::Get()->RemoveObserver(this);
280 notification_registrar_.Remove( 280 notification_registrar_.Remove(
281 this, chrome::NOTIFICATION_LOGIN_USER_CHANGED, 281 this, chrome::NOTIFICATION_LOGIN_USER_CHANGED,
282 content::NotificationService::AllSources()); 282 content::NotificationService::AllSources());
283 login_screen_idle_timer_.reset(); 283 login_screen_idle_timer_.reset();
284 } else { 284 } else {
285 NOTREACHED(); 285 NOTREACHED();
286 } 286 }
287 } 287 }
288 288
289 // static 289 // static
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 } 413 }
414 414
415 login_screen_idle_timer_.reset(); 415 login_screen_idle_timer_.reset();
416 grace_start_timer_.reset(); 416 grace_start_timer_.reset();
417 grace_end_timer_.reset(); 417 grace_end_timer_.reset();
418 DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart(); 418 DBusThreadManager::Get()->GetPowerManagerClient()->RequestRestart();
419 } 419 }
420 420
421 } // namespace system 421 } // namespace system
422 } // namespace chromeos 422 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/system/automatic_reboot_manager.h ('k') | chrome/browser/idle_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698