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

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

Issue 12079097: Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add to PrefRegistrySyncable and PrefServiceSyncable to let sync know of pre-registered prefs. Created 7 years, 10 months 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"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/content_settings/content_settings_rule.h" 12 #include "chrome/browser/content_settings/content_settings_rule.h"
13 #include "chrome/browser/content_settings/content_settings_utils.h" 13 #include "chrome/browser/content_settings/content_settings_utils.h"
14 #include "chrome/browser/prefs/pref_registry_syncable.h"
14 #include "chrome/browser/prefs/pref_service.h" 15 #include "chrome/browser/prefs/pref_service.h"
15 #include "chrome/common/chrome_notification_types.h" 16 #include "chrome/common/chrome_notification_types.h"
16 #include "chrome/common/content_settings_pattern.h" 17 #include "chrome/common/content_settings_pattern.h"
17 #include "chrome/common/pref_names.h" 18 #include "chrome/common/pref_names.h"
18 #include "content/public/browser/browser_thread.h" 19 #include "content/public/browser/browser_thread.h"
19 #include "content/public/browser/notification_details.h" 20 #include "content/public/browser/notification_details.h"
20 #include "content/public/browser/notification_source.h" 21 #include "content/public/browser/notification_source.h"
21 22
22 using content::BrowserThread; 23 using content::BrowserThread;
23 24
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, 111 CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
111 CONTENT_SETTING_BLOCK 112 CONTENT_SETTING_BLOCK
112 } 113 }
113 }; 114 };
114 115
115 } // namespace 116 } // namespace
116 117
117 namespace content_settings { 118 namespace content_settings {
118 119
119 // static 120 // static
120 void PolicyProvider::RegisterUserPrefs(PrefServiceSyncable* prefs) { 121 void PolicyProvider::RegisterUserPrefs(PrefRegistrySyncable* registry) {
121 prefs->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls, 122 registry->RegisterListPref(prefs::kManagedAutoSelectCertificateForUrls,
122 PrefServiceSyncable::UNSYNCABLE_PREF); 123 PrefRegistrySyncable::UNSYNCABLE_PREF);
123 prefs->RegisterListPref(prefs::kManagedCookiesAllowedForUrls, 124 registry->RegisterListPref(prefs::kManagedCookiesAllowedForUrls,
124 PrefServiceSyncable::UNSYNCABLE_PREF); 125 PrefRegistrySyncable::UNSYNCABLE_PREF);
125 prefs->RegisterListPref(prefs::kManagedCookiesBlockedForUrls, 126 registry->RegisterListPref(prefs::kManagedCookiesBlockedForUrls,
126 PrefServiceSyncable::UNSYNCABLE_PREF); 127 PrefRegistrySyncable::UNSYNCABLE_PREF);
127 prefs->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls, 128 registry->RegisterListPref(prefs::kManagedCookiesSessionOnlyForUrls,
128 PrefServiceSyncable::UNSYNCABLE_PREF); 129 PrefRegistrySyncable::UNSYNCABLE_PREF);
129 prefs->RegisterListPref(prefs::kManagedImagesAllowedForUrls, 130 registry->RegisterListPref(prefs::kManagedImagesAllowedForUrls,
130 PrefServiceSyncable::UNSYNCABLE_PREF); 131 PrefRegistrySyncable::UNSYNCABLE_PREF);
131 prefs->RegisterListPref(prefs::kManagedImagesBlockedForUrls, 132 registry->RegisterListPref(prefs::kManagedImagesBlockedForUrls,
132 PrefServiceSyncable::UNSYNCABLE_PREF); 133 PrefRegistrySyncable::UNSYNCABLE_PREF);
133 prefs->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls, 134 registry->RegisterListPref(prefs::kManagedJavaScriptAllowedForUrls,
134 PrefServiceSyncable::UNSYNCABLE_PREF); 135 PrefRegistrySyncable::UNSYNCABLE_PREF);
135 prefs->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls, 136 registry->RegisterListPref(prefs::kManagedJavaScriptBlockedForUrls,
136 PrefServiceSyncable::UNSYNCABLE_PREF); 137 PrefRegistrySyncable::UNSYNCABLE_PREF);
137 prefs->RegisterListPref(prefs::kManagedPluginsAllowedForUrls, 138 registry->RegisterListPref(prefs::kManagedPluginsAllowedForUrls,
138 PrefServiceSyncable::UNSYNCABLE_PREF); 139 PrefRegistrySyncable::UNSYNCABLE_PREF);
139 prefs->RegisterListPref(prefs::kManagedPluginsBlockedForUrls, 140 registry->RegisterListPref(prefs::kManagedPluginsBlockedForUrls,
140 PrefServiceSyncable::UNSYNCABLE_PREF); 141 PrefRegistrySyncable::UNSYNCABLE_PREF);
141 prefs->RegisterListPref(prefs::kManagedPopupsAllowedForUrls, 142 registry->RegisterListPref(prefs::kManagedPopupsAllowedForUrls,
142 PrefServiceSyncable::UNSYNCABLE_PREF); 143 PrefRegistrySyncable::UNSYNCABLE_PREF);
143 prefs->RegisterListPref(prefs::kManagedPopupsBlockedForUrls, 144 registry->RegisterListPref(prefs::kManagedPopupsBlockedForUrls,
144 PrefServiceSyncable::UNSYNCABLE_PREF); 145 PrefRegistrySyncable::UNSYNCABLE_PREF);
145 prefs->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls, 146 registry->RegisterListPref(prefs::kManagedNotificationsAllowedForUrls,
146 PrefServiceSyncable::UNSYNCABLE_PREF); 147 PrefRegistrySyncable::UNSYNCABLE_PREF);
147 prefs->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls, 148 registry->RegisterListPref(prefs::kManagedNotificationsBlockedForUrls,
148 PrefServiceSyncable::UNSYNCABLE_PREF); 149 PrefRegistrySyncable::UNSYNCABLE_PREF);
149 // Preferences for default content setting policies. If a policy is not set of 150 // Preferences for default content setting policies. If a policy is not set of
150 // the corresponding preferences below is set to CONTENT_SETTING_DEFAULT. 151 // the corresponding preferences below is set to CONTENT_SETTING_DEFAULT.
151 prefs->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting, 152 registry->RegisterIntegerPref(prefs::kManagedDefaultCookiesSetting,
152 CONTENT_SETTING_DEFAULT, 153 CONTENT_SETTING_DEFAULT,
153 PrefServiceSyncable::UNSYNCABLE_PREF); 154 PrefRegistrySyncable::UNSYNCABLE_PREF);
154 prefs->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting, 155 registry->RegisterIntegerPref(prefs::kManagedDefaultImagesSetting,
155 CONTENT_SETTING_DEFAULT, 156 CONTENT_SETTING_DEFAULT,
156 PrefServiceSyncable::UNSYNCABLE_PREF); 157 PrefRegistrySyncable::UNSYNCABLE_PREF);
157 prefs->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting, 158 registry->RegisterIntegerPref(prefs::kManagedDefaultJavaScriptSetting,
158 CONTENT_SETTING_DEFAULT, 159 CONTENT_SETTING_DEFAULT,
159 PrefServiceSyncable::UNSYNCABLE_PREF); 160 PrefRegistrySyncable::UNSYNCABLE_PREF);
160 prefs->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting, 161 registry->RegisterIntegerPref(prefs::kManagedDefaultPluginsSetting,
161 CONTENT_SETTING_DEFAULT, 162 CONTENT_SETTING_DEFAULT,
162 PrefServiceSyncable::UNSYNCABLE_PREF); 163 PrefRegistrySyncable::UNSYNCABLE_PREF);
163 prefs->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting, 164 registry->RegisterIntegerPref(prefs::kManagedDefaultPopupsSetting,
164 CONTENT_SETTING_DEFAULT, 165 CONTENT_SETTING_DEFAULT,
165 PrefServiceSyncable::UNSYNCABLE_PREF); 166 PrefRegistrySyncable::UNSYNCABLE_PREF);
166 prefs->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting, 167 registry->RegisterIntegerPref(prefs::kManagedDefaultGeolocationSetting,
167 CONTENT_SETTING_DEFAULT, 168 CONTENT_SETTING_DEFAULT,
168 PrefServiceSyncable::UNSYNCABLE_PREF); 169 PrefRegistrySyncable::UNSYNCABLE_PREF);
169 prefs->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting, 170 registry->RegisterIntegerPref(prefs::kManagedDefaultNotificationsSetting,
170 CONTENT_SETTING_DEFAULT, 171 CONTENT_SETTING_DEFAULT,
171 PrefServiceSyncable::UNSYNCABLE_PREF); 172 PrefRegistrySyncable::UNSYNCABLE_PREF);
172 prefs->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting, 173 registry->RegisterIntegerPref(prefs::kManagedDefaultMediaStreamSetting,
173 CONTENT_SETTING_DEFAULT, 174 CONTENT_SETTING_DEFAULT,
174 PrefServiceSyncable::UNSYNCABLE_PREF); 175 PrefRegistrySyncable::UNSYNCABLE_PREF);
175 } 176 }
176 177
177 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) { 178 PolicyProvider::PolicyProvider(PrefService* prefs) : prefs_(prefs) {
178 ReadManagedDefaultSettings(); 179 ReadManagedDefaultSettings();
179 ReadManagedContentSettings(false); 180 ReadManagedContentSettings(false);
180 181
181 pref_change_registrar_.Init(prefs_); 182 pref_change_registrar_.Init(prefs_);
182 PrefChangeRegistrar::NamedChangeCallback callback = 183 PrefChangeRegistrar::NamedChangeCallback callback =
183 base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this)); 184 base::Bind(&PolicyProvider::OnPreferenceChanged, base::Unretained(this));
184 pref_change_registrar_.Add( 185 pref_change_registrar_.Add(
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 ReadManagedDefaultSettings(); 474 ReadManagedDefaultSettings();
474 } 475 }
475 476
476 NotifyObservers(ContentSettingsPattern(), 477 NotifyObservers(ContentSettingsPattern(),
477 ContentSettingsPattern(), 478 ContentSettingsPattern(),
478 CONTENT_SETTINGS_TYPE_DEFAULT, 479 CONTENT_SETTINGS_TYPE_DEFAULT,
479 std::string()); 480 std::string());
480 } 481 }
481 482
482 } // namespace content_settings 483 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698