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

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

Issue 8498007: ContentSettingsObserver (+ related classes) cleanup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removing struct ContentSettings, too. Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/host_content_settings_map.h" 5 #include "chrome/browser/content_settings/host_content_settings_map.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 } 145 }
146 } 146 }
147 147
148 // The method GetDefaultContentSetting always has to return an explicit 148 // The method GetDefaultContentSetting always has to return an explicit
149 // value that is to be used as default. We here rely on the 149 // value that is to be used as default. We here rely on the
150 // DefaultProvider to always provide a value. 150 // DefaultProvider to always provide a value.
151 NOTREACHED(); 151 NOTREACHED();
152 return CONTENT_SETTING_DEFAULT; 152 return CONTENT_SETTING_DEFAULT;
153 } 153 }
154 154
155 ContentSettings HostContentSettingsMap::GetDefaultContentSettings() const {
156 ContentSettings output(CONTENT_SETTING_DEFAULT);
157 for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) {
158 if (!ContentTypeHasCompoundValue(ContentSettingsType(i)))
159 output.settings[i] = GetDefaultContentSetting(ContentSettingsType(i),
160 NULL);
161 }
162 return output;
163 }
164
165 ContentSetting HostContentSettingsMap::GetContentSetting( 155 ContentSetting HostContentSettingsMap::GetContentSetting(
166 const GURL& primary_url, 156 const GURL& primary_url,
167 const GURL& secondary_url, 157 const GURL& secondary_url,
168 ContentSettingsType content_type, 158 ContentSettingsType content_type,
169 const std::string& resource_identifier) const { 159 const std::string& resource_identifier) const {
170 scoped_ptr<base::Value> value(GetContentSettingValue( 160 scoped_ptr<base::Value> value(GetContentSettingValue(
171 primary_url, secondary_url, content_type, resource_identifier, 161 primary_url, secondary_url, content_type, resource_identifier,
172 NULL, NULL)); 162 NULL, NULL));
173 return content_settings::ValueToContentSetting(value.get()); 163 return content_settings::ValueToContentSetting(value.get());
174 } 164 }
(...skipping 20 matching lines...) Expand all
195 base::Value* value = content_settings::GetContentSettingValueAndPatterns( 185 base::Value* value = content_settings::GetContentSettingValueAndPatterns(
196 provider->second, primary_url, secondary_url, content_type, 186 provider->second, primary_url, secondary_url, content_type,
197 resource_identifier, is_off_the_record_, 187 resource_identifier, is_off_the_record_,
198 primary_pattern, secondary_pattern); 188 primary_pattern, secondary_pattern);
199 if (value) 189 if (value)
200 return value; 190 return value;
201 } 191 }
202 return NULL; 192 return NULL;
203 } 193 }
204 194
205 ContentSettings HostContentSettingsMap::GetContentSettings(
206 const GURL& primary_url) const {
207 ContentSettings output;
208 // If we require a resource identifier, set the content settings to default,
209 // otherwise make the defaults explicit. Values for content type
210 // CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE can't be mapped to the type
211 // |ContentSetting|. So we ignore them here.
212 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) {
213 ContentSettingsType type = ContentSettingsType(j);
214 if (!ContentTypeHasCompoundValue(type)) {
215 output.settings[j] = GetContentSetting(
216 primary_url, primary_url, ContentSettingsType(j), std::string());
217 }
218 }
219 return output;
220 }
221
222 void HostContentSettingsMap::GetSettingsForOneType( 195 void HostContentSettingsMap::GetSettingsForOneType(
223 ContentSettingsType content_type, 196 ContentSettingsType content_type,
224 const std::string& resource_identifier, 197 const std::string& resource_identifier,
225 ContentSettingsForOneType* settings) const { 198 ContentSettingsForOneType* settings) const {
226 DCHECK(content_settings::SupportsResourceIdentifier(content_type) || 199 DCHECK(content_settings::SupportsResourceIdentifier(content_type) ||
227 resource_identifier.empty()); 200 resource_identifier.empty());
228 DCHECK(settings); 201 DCHECK(settings);
229 202
230 settings->clear(); 203 settings->clear();
231 for (ConstProviderIterator provider = content_settings_providers_.begin(); 204 for (ConstProviderIterator provider = content_settings_providers_.begin();
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 if (content_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) 384 if (content_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS)
412 return false; 385 return false;
413 if (primary_url.SchemeIs(chrome::kExtensionScheme)) { 386 if (primary_url.SchemeIs(chrome::kExtensionScheme)) {
414 return content_type != CONTENT_SETTINGS_TYPE_COOKIES || 387 return content_type != CONTENT_SETTINGS_TYPE_COOKIES ||
415 secondary_url.SchemeIs(chrome::kExtensionScheme); 388 secondary_url.SchemeIs(chrome::kExtensionScheme);
416 } 389 }
417 return primary_url.SchemeIs(chrome::kChromeDevToolsScheme) || 390 return primary_url.SchemeIs(chrome::kChromeDevToolsScheme) ||
418 primary_url.SchemeIs(chrome::kChromeInternalScheme) || 391 primary_url.SchemeIs(chrome::kChromeInternalScheme) ||
419 primary_url.SchemeIs(chrome::kChromeUIScheme); 392 primary_url.SchemeIs(chrome::kChromeUIScheme);
420 } 393 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698