Add preference for managed notifications setting.

BUG=63190
TEST=host_content_settings_map_unittest.cc,
     content_settings_policy_provider_unittest.cc
     desktop_notification_service_unittest.cc

Review URL: http://codereview.chromium.org/7623006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96548 0039d316-1c4b-4281-b951-d872f2087c98
parent b0874af3
...@@ -1218,7 +1218,7 @@ ...@@ -1218,7 +1218,7 @@
'desc': '''Allows you to set whether websites are allowed to show pop-ups. Showing popups can be either allowed for all websites or denied for all websites.''', 'desc': '''Allows you to set whether websites are allowed to show pop-ups. Showing popups can be either allowed for all websites or denied for all websites.''',
}, },
{ {
'name': 'DefaultNotificationSetting', 'name': 'DefaultNotificationsSetting',
'type': 'int-enum', 'type': 'int-enum',
'items': [ 'items': [
{ {
......
...@@ -176,8 +176,6 @@ void NotificationProvider::Observe(int type, ...@@ -176,8 +176,6 @@ void NotificationProvider::Observe(int type,
void NotificationProvider::StartObserving() { void NotificationProvider::StartObserving() {
if (!profile_->IsOffTheRecord()) { if (!profile_->IsOffTheRecord()) {
prefs_registrar_.Add(prefs::kDesktopNotificationDefaultContentSetting,
this);
prefs_registrar_.Add(prefs::kDesktopNotificationAllowedOrigins, this); prefs_registrar_.Add(prefs::kDesktopNotificationAllowedOrigins, this);
prefs_registrar_.Add(prefs::kDesktopNotificationDeniedOrigins, this); prefs_registrar_.Add(prefs::kDesktopNotificationDeniedOrigins, this);
......
...@@ -36,7 +36,7 @@ const char* kPrefToManageType[CONTENT_SETTINGS_NUM_TYPES] = { ...@@ -36,7 +36,7 @@ const char* kPrefToManageType[CONTENT_SETTINGS_NUM_TYPES] = {
prefs::kManagedDefaultPluginsSetting, prefs::kManagedDefaultPluginsSetting,
prefs::kManagedDefaultPopupsSetting, prefs::kManagedDefaultPopupsSetting,
prefs::kManagedDefaultGeolocationSetting, prefs::kManagedDefaultGeolocationSetting,
NULL, // Not used for Notifications prefs::kManagedDefaultNotificationsSetting,
}; };
struct PrefsForManagedContentSettingsMapEntry { struct PrefsForManagedContentSettingsMapEntry {
...@@ -119,6 +119,7 @@ PolicyDefaultProvider::PolicyDefaultProvider(PrefService* prefs) ...@@ -119,6 +119,7 @@ PolicyDefaultProvider::PolicyDefaultProvider(PrefService* prefs)
pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, this); pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, this);
pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, this); pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, this);
pref_change_registrar_.Add(prefs::kManagedDefaultGeolocationSetting, this); pref_change_registrar_.Add(prefs::kManagedDefaultGeolocationSetting, this);
pref_change_registrar_.Add(prefs::kManagedDefaultNotificationsSetting, this);
} }
PolicyDefaultProvider::~PolicyDefaultProvider() { PolicyDefaultProvider::~PolicyDefaultProvider() {
...@@ -167,6 +168,8 @@ void PolicyDefaultProvider::Observe(int type, ...@@ -167,6 +168,8 @@ void PolicyDefaultProvider::Observe(int type,
UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS); UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_POPUPS);
} else if (*name == prefs::kManagedDefaultGeolocationSetting) { } else if (*name == prefs::kManagedDefaultGeolocationSetting) {
UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION); UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION);
} else if (*name == prefs::kManagedDefaultNotificationsSetting) {
UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
} else { } else {
NOTREACHED() << "Unexpected preference observed"; NOTREACHED() << "Unexpected preference observed";
return; return;
...@@ -235,6 +238,9 @@ void PolicyDefaultProvider::RegisterUserPrefs(PrefService* prefs) { ...@@ -235,6 +238,9 @@ void PolicyDefaultProvider::RegisterUserPrefs(PrefService* prefs) {
prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting, prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
CONTENT_SETTING_DEFAULT, CONTENT_SETTING_DEFAULT,
PrefService::UNSYNCABLE_PREF); PrefService::UNSYNCABLE_PREF);
prefs->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting,
CONTENT_SETTING_DEFAULT,
PrefService::UNSYNCABLE_PREF);
} }
// //////////////////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////////////////////
......
...@@ -251,8 +251,8 @@ const ConfigurationPolicyPrefKeeper::PolicyToPreferenceMapEntry ...@@ -251,8 +251,8 @@ const ConfigurationPolicyPrefKeeper::PolicyToPreferenceMapEntry
prefs::kManagedPopupsAllowedForUrls }, prefs::kManagedPopupsAllowedForUrls },
{ Value::TYPE_LIST, kPolicyPopupsBlockedForUrls, { Value::TYPE_LIST, kPolicyPopupsBlockedForUrls,
prefs::kManagedPopupsBlockedForUrls }, prefs::kManagedPopupsBlockedForUrls },
{ Value::TYPE_INTEGER, kPolicyDefaultNotificationSetting, { Value::TYPE_INTEGER, kPolicyDefaultNotificationsSetting,
prefs::kDesktopNotificationDefaultContentSetting }, prefs::kManagedDefaultNotificationsSetting },
{ Value::TYPE_INTEGER, kPolicyDefaultGeolocationSetting, { Value::TYPE_INTEGER, kPolicyDefaultGeolocationSetting,
prefs::kManagedDefaultGeolocationSetting }, prefs::kManagedDefaultGeolocationSetting },
{ Value::TYPE_STRING, kPolicyAuthSchemes, { Value::TYPE_STRING, kPolicyAuthSchemes,
...@@ -1088,8 +1088,8 @@ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() { ...@@ -1088,8 +1088,8 @@ ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList() {
key::kDefaultPluginsSetting }, key::kDefaultPluginsSetting },
{ kPolicyDefaultPopupsSetting, Value::TYPE_INTEGER, { kPolicyDefaultPopupsSetting, Value::TYPE_INTEGER,
key::kDefaultPopupsSetting }, key::kDefaultPopupsSetting },
{ kPolicyDefaultNotificationSetting, Value::TYPE_INTEGER, { kPolicyDefaultNotificationsSetting, Value::TYPE_INTEGER,
key::kDefaultNotificationSetting }, key::kDefaultNotificationsSetting },
{ kPolicyDefaultGeolocationSetting, Value::TYPE_INTEGER, { kPolicyDefaultGeolocationSetting, Value::TYPE_INTEGER,
key::kDefaultGeolocationSetting }, key::kDefaultGeolocationSetting },
{ kPolicyCookiesAllowedForUrls, Value::TYPE_LIST, { kPolicyCookiesAllowedForUrls, Value::TYPE_LIST,
......
...@@ -1418,6 +1418,8 @@ const char kManagedDefaultPopupsSetting[] = ...@@ -1418,6 +1418,8 @@ const char kManagedDefaultPopupsSetting[] =
"profile.managed_default_content_settings.popups"; "profile.managed_default_content_settings.popups";
const char kManagedDefaultGeolocationSetting[] = const char kManagedDefaultGeolocationSetting[] =
"profile.managed_default_content_settings.geolocation"; "profile.managed_default_content_settings.geolocation";
const char kManagedDefaultNotificationsSetting[] =
"profile.managed_default_content_settings.notifications";
// Preferences that are exclusively used to store managed // Preferences that are exclusively used to store managed
// content settings patterns. // content settings patterns.
......
...@@ -490,6 +490,7 @@ extern const char kManagedDefaultJavaScriptSetting[]; ...@@ -490,6 +490,7 @@ extern const char kManagedDefaultJavaScriptSetting[];
extern const char kManagedDefaultPluginsSetting[]; extern const char kManagedDefaultPluginsSetting[];
extern const char kManagedDefaultPopupsSetting[]; extern const char kManagedDefaultPopupsSetting[];
extern const char kManagedDefaultGeolocationSetting[]; extern const char kManagedDefaultGeolocationSetting[];
extern const char kManagedDefaultNotificationsSetting[];
extern const char kManagedCookiesAllowedForUrls[]; extern const char kManagedCookiesAllowedForUrls[];
extern const char kManagedCookiesBlockedForUrls[]; extern const char kManagedCookiesBlockedForUrls[];
......
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