Index: chrome/browser/prefs/incognito_mode_prefs.h |
diff --git a/chrome/browser/prefs/incognito_mode_prefs.h b/chrome/browser/prefs/incognito_mode_prefs.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..99f7c7508dbb96342c265555d726de9560261eac |
--- /dev/null |
+++ b/chrome/browser/prefs/incognito_mode_prefs.h |
@@ -0,0 +1,53 @@ |
+// Copyright (c) 2011 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_PREFS_INCOGNITO_MODE_PREFS_H_ |
+#define CHROME_BROWSER_PREFS_INCOGNITO_MODE_PREFS_H_ |
+#pragma once |
+ |
+#include "base/basictypes.h" |
+ |
+class PrefService; |
+ |
+// Specifies Incognito mode availability preferences. |
+class IncognitoModePrefs { |
+ public: |
+ // Possible values for Incognito mode availability. Please, do not change |
+ // the order of entries since numeric values are exposed to users. |
+ enum Availability { |
+ // Incognito mode enabled. Users may open pages in both Incognito mode and |
+ // normal mode (the default behaviour). |
+ ENABLED = 0, |
+ // Incognito mode disabled. Users may not open pages in Incognito mode. |
+ // Only normal mode is available for browsing. |
+ DISABLED, |
+ // Incognito mode forced. Users may open pages *ONLY* in Incognito mode. |
+ // Normal mode is not available for browsing. |
+ FORCED, |
+ |
+ AVAILABILITY_NUM_TYPES |
+ }; |
+ |
+ // Register incognito related preferences. |
+ static void RegisterUserPrefs(PrefService* prefs); |
+ |
+ // Returns kIncognitoModeAvailability preference value stored |
+ // in the given pref service. |
+ static Availability GetAvailability(const PrefService* prefs); |
+ |
+ // Sets kIncognitoModeAvailability preference to the specified availability |
+ // value. |
+ static void SetAvailability(const Availability availability, |
Mattias Nissler (ping if slow)
2011/08/03 09:16:08
Nit: I'd expect the arguments in reverse order. I'
rustema
2011/08/04 07:00:49
Done.
|
+ PrefService* prefs); |
+ |
+ // Converts in_value into the corresponding Availability value. Returns true |
+ // if conversion is successful (in_value is valid). Otherwise, returns false |
+ // and *out_value is set to ENABLED. |
+ static bool IntToAvailability(int in_value, Availability* out_value); |
+ |
+ private: |
+ DISALLOW_IMPLICIT_CONSTRUCTORS(IncognitoModePrefs); |
+}; |
+ |
+#endif // CHROME_BROWSER_PREFS_INCOGNITO_MODE_PREFS_H_ |