summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prefs
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-12 19:06:02 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-12 19:06:02 +0000
commitb2969cfbd06a757cd5e8d66efc3c3224dc7f3113 (patch)
treeaafea9363b1bfd7b44e22047624c60c0edf643d1 /chrome/browser/prefs
parentc4f3c8980bc93c0ee9abc3b2a601089a43e8953c (diff)
downloadchromium_src-b2969cfbd06a757cd5e8d66efc3c3224dc7f3113.zip
chromium_src-b2969cfbd06a757cd5e8d66efc3c3224dc7f3113.tar.gz
chromium_src-b2969cfbd06a757cd5e8d66efc3c3224dc7f3113.tar.bz2
Disallow incognito window creation in Windows 8 if parental control logging is enabled for the user.
This is because the expectation that incognito navigations etc are not logged is not true. BUG=133560 R=ben Review URL: https://chromiumcodereview.appspot.com/10704168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146406 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prefs')
-rw-r--r--chrome/browser/prefs/incognito_mode_prefs.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/chrome/browser/prefs/incognito_mode_prefs.cc b/chrome/browser/prefs/incognito_mode_prefs.cc
index 987cda7..fe498ea 100644
--- a/chrome/browser/prefs/incognito_mode_prefs.cc
+++ b/chrome/browser/prefs/incognito_mode_prefs.cc
@@ -10,6 +10,10 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
+#if defined(OS_WIN)
+#include "base/win/metro.h"
+#endif // OS_WIN
+
// static
bool IncognitoModePrefs::IntToAvailability(int in_value,
Availability* out_value) {
@@ -29,6 +33,15 @@ IncognitoModePrefs::Availability IncognitoModePrefs::GetAvailability(
Availability result = IncognitoModePrefs::ENABLED;
bool valid = IntToAvailability(pref_value, &result);
DCHECK(valid);
+#if defined(OS_WIN)
+ // Disable incognito mode windows if parental controls are on. This is only
+ // for Windows Vista and above.
+ if (base::win::IsParentalControlActivityLoggingOn()) {
+ if (result == IncognitoModePrefs::FORCED)
+ LOG(ERROR) << "Ignoring FORCED incognito. Parental control logging on";
+ return IncognitoModePrefs::DISABLED;
+ }
+#endif // OS_WIN
return result;
}