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

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

Issue 8538004: Take script URLs into account when applying script content settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. 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/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 } 156 }
157 } 157 }
158 158
159 // The method GetDefaultContentSetting always has to return an explicit 159 // The method GetDefaultContentSetting always has to return an explicit
160 // value that is to be used as default. We here rely on the 160 // value that is to be used as default. We here rely on the
161 // DefaultProvider to always provide a value. 161 // DefaultProvider to always provide a value.
162 NOTREACHED(); 162 NOTREACHED();
163 return CONTENT_SETTING_DEFAULT; 163 return CONTENT_SETTING_DEFAULT;
164 } 164 }
165 165
166 ContentSettings HostContentSettingsMap::GetDefaultContentSettings() const {
167 ContentSettings output(CONTENT_SETTING_DEFAULT);
168 for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) {
169 if (!ContentTypeHasCompoundValue(ContentSettingsType(i)))
170 output.settings[i] = GetDefaultContentSetting(ContentSettingsType(i),
171 NULL);
172 }
173 return output;
174 }
175
176 ContentSetting HostContentSettingsMap::GetContentSetting( 166 ContentSetting HostContentSettingsMap::GetContentSetting(
177 const GURL& primary_url, 167 const GURL& primary_url,
178 const GURL& secondary_url, 168 const GURL& secondary_url,
179 ContentSettingsType content_type, 169 ContentSettingsType content_type,
180 const std::string& resource_identifier) const { 170 const std::string& resource_identifier) const {
181 scoped_ptr<base::Value> value(GetWebsiteSetting( 171 scoped_ptr<base::Value> value(GetWebsiteSetting(
182 primary_url, secondary_url, content_type, resource_identifier, NULL)); 172 primary_url, secondary_url, content_type, resource_identifier, NULL));
183 return content_settings::ValueToContentSetting(value.get()); 173 return content_settings::ValueToContentSetting(value.get());
184 } 174 }
185 175
186 ContentSettings HostContentSettingsMap::GetContentSettings(
187 const GURL& primary_url) const {
188 ContentSettings output;
189 // If we require a resource identifier, set the content settings to default,
190 // otherwise make the defaults explicit. Values for content type
191 // CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE can't be mapped to the type
192 // |ContentSetting|. So we ignore them here.
193 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) {
194 ContentSettingsType type = ContentSettingsType(j);
195 if (!ContentTypeHasCompoundValue(type)) {
196 output.settings[j] = GetContentSetting(
197 primary_url, primary_url, ContentSettingsType(j), std::string());
198 }
199 }
200 return output;
201 }
202
203 void HostContentSettingsMap::GetSettingsForOneType( 176 void HostContentSettingsMap::GetSettingsForOneType(
204 ContentSettingsType content_type, 177 ContentSettingsType content_type,
205 const std::string& resource_identifier, 178 const std::string& resource_identifier,
206 ContentSettingsForOneType* settings) const { 179 ContentSettingsForOneType* settings) const {
207 DCHECK(content_settings::SupportsResourceIdentifier(content_type) || 180 DCHECK(content_settings::SupportsResourceIdentifier(content_type) ||
208 resource_identifier.empty()); 181 resource_identifier.empty());
209 DCHECK(settings); 182 DCHECK(settings);
210 183
211 settings->clear(); 184 settings->clear();
212 for (ConstProviderIterator provider = content_settings_providers_.begin(); 185 for (ConstProviderIterator provider = content_settings_providers_.begin();
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 } 417 }
445 } 418 }
446 419
447 if (info) { 420 if (info) {
448 info->source = content_settings::SETTING_SOURCE_NONE; 421 info->source = content_settings::SETTING_SOURCE_NONE;
449 info->primary_pattern = ContentSettingsPattern(); 422 info->primary_pattern = ContentSettingsPattern();
450 info->secondary_pattern = ContentSettingsPattern(); 423 info->secondary_pattern = ContentSettingsPattern();
451 } 424 }
452 return NULL; 425 return NULL;
453 } 426 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698