| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "chrome/browser/content_settings/content_settings_policy_provider.h" | 5 #include "chrome/browser/content_settings/content_settings_policy_provider.h" | 
| 6 | 6 | 
| 7 #include <string> | 7 #include <string> | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "base/json/json_reader.h" | 10 #include "base/json/json_reader.h" | 
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 167   prefs->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting, | 167   prefs->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting, | 
| 168                              CONTENT_SETTING_DEFAULT, | 168                              CONTENT_SETTING_DEFAULT, | 
| 169                              PrefService::UNSYNCABLE_PREF); | 169                              PrefService::UNSYNCABLE_PREF); | 
| 170 } | 170 } | 
| 171 | 171 | 
| 172 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { | 172 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { | 
| 173   ReadManagedDefaultSettings(); | 173   ReadManagedDefaultSettings(); | 
| 174   ReadManagedContentSettings(false); | 174   ReadManagedContentSettings(false); | 
| 175 | 175 | 
| 176   pref_change_registrar_.Init(prefs_); | 176   pref_change_registrar_.Init(prefs_); | 
| 177   pref_change_registrar_.Add(prefs::kManagedAutoSelectCertificateForUrls, this); | 177   PrefChangeRegistrar::NamedChangeCallback callback = | 
| 178   pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, this); | 178       base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this)); | 
| 179   pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, this); | 179   pref_change_registrar_.Add( | 
| 180   pref_change_registrar_.Add(prefs::kManagedCookiesSessionOnlyForUrls, this); | 180       prefs::kManagedAutoSelectCertificateForUrls, callback); | 
| 181   pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, this); | 181   pref_change_registrar_.Add(prefs::kManagedCookiesBlockedForUrls, callback); | 
| 182   pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, this); | 182   pref_change_registrar_.Add(prefs::kManagedCookiesAllowedForUrls, callback); | 
| 183   pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, this); | 183   pref_change_registrar_.Add( | 
| 184   pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, this); | 184       prefs::kManagedCookiesSessionOnlyForUrls, callback); | 
| 185   pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, this); | 185   pref_change_registrar_.Add(prefs::kManagedImagesBlockedForUrls, callback); | 
| 186   pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, this); | 186   pref_change_registrar_.Add(prefs::kManagedImagesAllowedForUrls, callback); | 
| 187   pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, this); | 187   pref_change_registrar_.Add(prefs::kManagedJavaScriptBlockedForUrls, callback); | 
| 188   pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, this); | 188   pref_change_registrar_.Add(prefs::kManagedJavaScriptAllowedForUrls, callback); | 
| 189   pref_change_registrar_.Add(prefs::kManagedNotificationsAllowedForUrls, this); | 189   pref_change_registrar_.Add(prefs::kManagedPluginsBlockedForUrls, callback); | 
| 190   pref_change_registrar_.Add(prefs::kManagedNotificationsBlockedForUrls, this); | 190   pref_change_registrar_.Add(prefs::kManagedPluginsAllowedForUrls, callback); | 
|  | 191   pref_change_registrar_.Add(prefs::kManagedPopupsBlockedForUrls, callback); | 
|  | 192   pref_change_registrar_.Add(prefs::kManagedPopupsAllowedForUrls, callback); | 
|  | 193   pref_change_registrar_.Add( | 
|  | 194       prefs::kManagedNotificationsAllowedForUrls, callback); | 
|  | 195   pref_change_registrar_.Add( | 
|  | 196       prefs::kManagedNotificationsBlockedForUrls, callback); | 
| 191   // The following preferences are only used to indicate if a | 197   // The following preferences are only used to indicate if a | 
| 192   // default content setting is managed and to hold the managed default setting | 198   // default content setting is managed and to hold the managed default setting | 
| 193   // value. If the value for any of the following perferences is set then the | 199   // value. If the value for any of the following perferences is set then the | 
| 194   // corresponding default content setting is managed. These preferences exist | 200   // corresponding default content setting is managed. These preferences exist | 
| 195   // in parallel to the preference default content settings.  If a | 201   // in parallel to the preference default content settings.  If a | 
| 196   // default content settings type is managed any user defined excpetions | 202   // default content settings type is managed any user defined excpetions | 
| 197   // (patterns) for this type are ignored. | 203   // (patterns) for this type are ignored. | 
| 198   pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, this); | 204   pref_change_registrar_.Add(prefs::kManagedDefaultCookiesSetting, callback); | 
| 199   pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, this); | 205   pref_change_registrar_.Add(prefs::kManagedDefaultImagesSetting, callback); | 
| 200   pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, this); | 206   pref_change_registrar_.Add(prefs::kManagedDefaultJavaScriptSetting, callback); | 
| 201   pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, this); | 207   pref_change_registrar_.Add(prefs::kManagedDefaultPluginsSetting, callback); | 
| 202   pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, this); | 208   pref_change_registrar_.Add(prefs::kManagedDefaultPopupsSetting, callback); | 
| 203   pref_change_registrar_.Add(prefs::kManagedDefaultGeolocationSetting, this); | 209   pref_change_registrar_.Add( | 
| 204   pref_change_registrar_.Add(prefs::kManagedDefaultNotificationsSetting, this); | 210       prefs::kManagedDefaultGeolocationSetting, callback); | 
| 205   pref_change_registrar_.Add(prefs::kManagedDefaultMediaStreamSetting, this); | 211   pref_change_registrar_.Add( | 
|  | 212       prefs::kManagedDefaultNotificationsSetting, callback); | 
|  | 213   pref_change_registrar_.Add( | 
|  | 214       prefs::kManagedDefaultMediaStreamSetting, callback); | 
| 206 } | 215 } | 
| 207 | 216 | 
| 208 PolicyProvider::~PolicyProvider() { | 217 PolicyProvider::~PolicyProvider() { | 
| 209   DCHECK(!prefs_); | 218   DCHECK(!prefs_); | 
| 210 } | 219 } | 
| 211 | 220 | 
| 212 RuleIterator* PolicyProvider::GetRuleIterator( | 221 RuleIterator* PolicyProvider::GetRuleIterator( | 
| 213     ContentSettingsType content_type, | 222     ContentSettingsType content_type, | 
| 214     const ResourceIdentifier& resource_identifier, | 223     const ResourceIdentifier& resource_identifier, | 
| 215     bool incognito) const { | 224     bool incognito) const { | 
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 415 | 424 | 
| 416 void PolicyProvider::ShutdownOnUIThread() { | 425 void PolicyProvider::ShutdownOnUIThread() { | 
| 417   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 426   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 
| 418   RemoveAllObservers(); | 427   RemoveAllObservers(); | 
| 419   if (!prefs_) | 428   if (!prefs_) | 
| 420     return; | 429     return; | 
| 421   pref_change_registrar_.RemoveAll(); | 430   pref_change_registrar_.RemoveAll(); | 
| 422   prefs_ = NULL; | 431   prefs_ = NULL; | 
| 423 } | 432 } | 
| 424 | 433 | 
| 425 void PolicyProvider::OnPreferenceChanged(PrefServiceBase* service, | 434 void PolicyProvider::OnPreferenceChanged(const std::string& name) { | 
| 426                                          const std::string& name) { |  | 
| 427   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 435   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 
| 428   DCHECK_EQ(prefs_, service); |  | 
| 429 | 436 | 
| 430   if (name == prefs::kManagedDefaultCookiesSetting) { | 437   if (name == prefs::kManagedDefaultCookiesSetting) { | 
| 431     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES); | 438     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_COOKIES); | 
| 432   } else if (name == prefs::kManagedDefaultImagesSetting) { | 439   } else if (name == prefs::kManagedDefaultImagesSetting) { | 
| 433     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); | 440     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_IMAGES); | 
| 434   } else if (name == prefs::kManagedDefaultJavaScriptSetting) { | 441   } else if (name == prefs::kManagedDefaultJavaScriptSetting) { | 
| 435     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 442     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_JAVASCRIPT); | 
| 436   } else if (name == prefs::kManagedDefaultPluginsSetting) { | 443   } else if (name == prefs::kManagedDefaultPluginsSetting) { | 
| 437     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); | 444     UpdateManagedDefaultSetting(CONTENT_SETTINGS_TYPE_PLUGINS); | 
| 438   } else if (name == prefs::kManagedDefaultPopupsSetting) { | 445   } else if (name == prefs::kManagedDefaultPopupsSetting) { | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
| 461     ReadManagedDefaultSettings(); | 468     ReadManagedDefaultSettings(); | 
| 462   } | 469   } | 
| 463 | 470 | 
| 464   NotifyObservers(ContentSettingsPattern(), | 471   NotifyObservers(ContentSettingsPattern(), | 
| 465                   ContentSettingsPattern(), | 472                   ContentSettingsPattern(), | 
| 466                   CONTENT_SETTINGS_TYPE_DEFAULT, | 473                   CONTENT_SETTINGS_TYPE_DEFAULT, | 
| 467                   std::string()); | 474                   std::string()); | 
| 468 } | 475 } | 
| 469 | 476 | 
| 470 }  // namespace content_settings | 477 }  // namespace content_settings | 
| OLD | NEW | 
|---|