Commit a5e5ede6 authored by Tina Wang's avatar Tina Wang Committed by Commit Bot

[ios] Support IncognitoModeAvailability policy on bling

IncognitoModeAvailability enterprise policy specifies whether the user
may open pages in Incognito mode in Google Chrome.

When the policy is unset or set to 0(available), pages may be opened
in Incognito mode. When the policy is set to 1(disabled), pages may not
be opened in Incognito mode. When the policy is set to 2(forced), pages
may be opened ONLY in Incognito mode.

Bug: 1148825
Change-Id: Ia3c4b619289c537b05d565d8c3302c8790df87db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2553149Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Reviewed-by: default avatarOwen Min <zmin@chromium.org>
Commit-Queue: Tina Wang <tinazwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#830568}
parent 7d19683b
...@@ -390,7 +390,7 @@ const char kSSLErrorOverrideAllowed[] = "ssl.error_override_allowed"; ...@@ -390,7 +390,7 @@ const char kSSLErrorOverrideAllowed[] = "ssl.error_override_allowed";
// Enum that specifies whether Incognito mode is: // Enum that specifies whether Incognito mode is:
// 0 - Enabled. Default behaviour. Default mode is available on demand. // 0 - Enabled. Default behaviour. Default mode is available on demand.
// 1 - Disabled. Used cannot browse pages in Incognito mode. // 1 - Disabled. User cannot browse pages in Incognito mode.
// 2 - Forced. All pages/sessions are forced into Incognito. // 2 - Forced. All pages/sessions are forced into Incognito.
const char kIncognitoModeAvailability[] = "incognito.mode_availability"; const char kIncognitoModeAvailability[] = "incognito.mode_availability";
......
...@@ -1760,6 +1760,7 @@ ...@@ -1760,6 +1760,7 @@
'chrome_os:14-', 'chrome_os:14-',
'android:30-', 'android:30-',
], ],
'future_on': [ 'ios' ],
'features': { 'features': {
'dynamic_refresh': True, 'dynamic_refresh': True,
'per_profile': True, 'per_profile': True,
...@@ -60,6 +60,9 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { ...@@ -60,6 +60,9 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = {
{ policy::key::kDefaultPopupsSetting, { policy::key::kDefaultPopupsSetting,
prefs::kManagedDefaultPopupsSetting, prefs::kManagedDefaultPopupsSetting,
base::Value::Type::INTEGER }, base::Value::Type::INTEGER },
{ policy::key::kIncognitoModeAvailability,
prefs::kIncognitoModeAvailability,
base::Value::Type::INTEGER },
{ policy::key::kMetricsReportingEnabled, { policy::key::kMetricsReportingEnabled,
metrics::prefs::kMetricsReportingEnabled, metrics::prefs::kMetricsReportingEnabled,
base::Value::Type::BOOLEAN }, base::Value::Type::BOOLEAN },
......
...@@ -56,6 +56,12 @@ const char kEnableDoNotTrack[] = "enable_do_not_track"; ...@@ -56,6 +56,12 @@ const char kEnableDoNotTrack[] = "enable_do_not_track";
// Prefs for persisting HttpServerProperties. // Prefs for persisting HttpServerProperties.
const char kHttpServerProperties[] = "net.http_server_properties"; const char kHttpServerProperties[] = "net.http_server_properties";
// Integer that specifies whether Incognito mode is:
// 0 - Enabled. Default behaviour. Default mode is available on demand.
// 1 - Disabled. User cannot browse pages in Incognito mode.
// 2 - Forced. All pages/sessions are forced into Incognito.
const char kIncognitoModeAvailability[] = "incognito.mode_availability";
// Caches the folder id of user's position in the bookmark hierarchy navigator. // Caches the folder id of user's position in the bookmark hierarchy navigator.
const char kIosBookmarkCachedFolderId[] = "ios.bookmark.cached_folder_id"; const char kIosBookmarkCachedFolderId[] = "ios.bookmark.cached_folder_id";
......
...@@ -20,6 +20,7 @@ extern const char kDataSaverEnabled[]; ...@@ -20,6 +20,7 @@ extern const char kDataSaverEnabled[];
extern const char kDefaultCharset[]; extern const char kDefaultCharset[];
extern const char kEnableDoNotTrack[]; extern const char kEnableDoNotTrack[];
extern const char kHttpServerProperties[]; extern const char kHttpServerProperties[];
extern const char kIncognitoModeAvailability[];
extern const char kIosBookmarkCachedFolderId[]; extern const char kIosBookmarkCachedFolderId[];
extern const char kIosBookmarkCachedTopMostRow[]; extern const char kIosBookmarkCachedTopMostRow[];
extern const char kIosBookmarkFolderDefault[]; extern const char kIosBookmarkFolderDefault[];
......
...@@ -231,6 +231,9 @@ void RegisterBrowserStatePrefs(user_prefs::PrefRegistrySyncable* registry) { ...@@ -231,6 +231,9 @@ void RegisterBrowserStatePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref(kGCMChannelPollIntervalSeconds, 0); registry->RegisterIntegerPref(kGCMChannelPollIntervalSeconds, 0);
registry->RegisterInt64Pref(kGCMChannelLastCheckTime, 0); registry->RegisterInt64Pref(kGCMChannelLastCheckTime, 0);
// Register kIncognitoModeAvailability to available.
registry->RegisterIntegerPref(prefs::kIncognitoModeAvailability, 0);
registry->RegisterListPref(kInvalidatorSavedInvalidations); registry->RegisterListPref(kInvalidatorSavedInvalidations);
registry->RegisterStringPref(kInvalidatorInvalidationState, std::string()); registry->RegisterStringPref(kInvalidatorInvalidationState, std::string());
registry->RegisterStringPref(kInvalidatorClientId, std::string()); registry->RegisterStringPref(kInvalidatorClientId, std::string());
......
...@@ -308,6 +308,20 @@ ...@@ -308,6 +308,20 @@
] ]
}, },
"IncognitoModeAvailability": {
"os": [ "ios" ],
"policy_pref_mapping_test": [
{
"policies": { "IncognitoModeAvailability": 1 },
"prefs": { "incognito.mode_availability": {} }
},
{
"policies": { "IncognitoModeAvailability": 2 },
"prefs": { "incognito.mode_availability": {} }
}
]
},
"MetricsReportingEnabled": { "MetricsReportingEnabled": {
"os": [ "ios" ], "os": [ "ios" ],
"policy_pref_mapping_tests": [ "policy_pref_mapping_tests": [
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment