Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: chrome/browser/content_settings/content_settings_policy_provider.cc

Issue 11293249: Remove PrefObserver usage, batch 3. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to LKGR Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698