summaryrefslogtreecommitdiffstats
path: root/chrome/browser/suspend_controller.h
diff options
context:
space:
mode:
authormbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-01 00:52:40 +0000
committermbelshe@google.com <mbelshe@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-01 00:52:40 +0000
commit3abd6bbdfb0a6d8367a2c56d4846e3d70d9da660 (patch)
treec6b872305f258a653ac0203eeb25b5b08ae2eb00 /chrome/browser/suspend_controller.h
parent4f470ec4e08cf042997d68c55bb7aeeeeaa1209c (diff)
downloadchromium_src-3abd6bbdfb0a6d8367a2c56d4846e3d70d9da660.zip
chromium_src-3abd6bbdfb0a6d8367a2c56d4846e3d70d9da660.tar.gz
chromium_src-3abd6bbdfb0a6d8367a2c56d4846e3d70d9da660.tar.bz2
Rollback
Review URL: http://codereview.chromium.org/13009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6127 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/suspend_controller.h')
-rw-r--r--chrome/browser/suspend_controller.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/chrome/browser/suspend_controller.h b/chrome/browser/suspend_controller.h
new file mode 100644
index 0000000..c151d0c
--- /dev/null
+++ b/chrome/browser/suspend_controller.h
@@ -0,0 +1,40 @@
+// Copyright (c) 2006-2008 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.
+
+// The SuspendController keeps track of actions related to the computer going
+// into power savings mode. Its purpose right now is to close all network
+// requests and prevent creation of new requests until the computer resumes.
+
+#ifndef CHROME_BROWSER_SUSPEND_CONTROLLER_H__
+#define CHROME_BROWSER_SUSPEND_CONTROLLER_H__
+
+#include "base/basictypes.h"
+#include "chrome/browser/profile.h"
+
+class Profile;
+
+// The browser process owns the only instance of this class.
+class SuspendController : public base::RefCountedThreadSafe<SuspendController> {
+ public:
+ SuspendController() {}
+ ~SuspendController() {}
+
+ // Called when the system is going to be suspended.
+ static void OnSuspend(Profile* profile);
+
+ // Called when the system has been resumed.
+ static void OnResume(Profile* profile);
+
+ private:
+ // Run on the io_thread.
+ void StopRequests(Profile* profile);
+ void AllowNewRequests(Profile* profile);
+
+ static bool is_suspended_;
+
+ DISALLOW_EVIL_CONSTRUCTORS(SuspendController);
+};
+
+#endif // CHROME_BROWSER_SUSPEND_CONTROLLER_H__
+