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

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

Issue 6756001: Removing 'off the record' references. Contributed by vipul.bhasin@gmail.com (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Removing off the record references from the code Created 9 years, 8 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) 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 5
6 #include "chrome/browser/content_settings/content_settings_base_provider.h" 6 #include "chrome/browser/content_settings/content_settings_base_provider.h"
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
(...skipping 21 matching lines...) Expand all
32 ExtendedContentSettings::ExtendedContentSettings() {} 32 ExtendedContentSettings::ExtendedContentSettings() {}
33 33
34 ExtendedContentSettings::ExtendedContentSettings( 34 ExtendedContentSettings::ExtendedContentSettings(
35 const ExtendedContentSettings& rhs) 35 const ExtendedContentSettings& rhs)
36 : content_settings(rhs.content_settings), 36 : content_settings(rhs.content_settings),
37 content_settings_for_resources(rhs.content_settings_for_resources) { 37 content_settings_for_resources(rhs.content_settings_for_resources) {
38 } 38 }
39 39
40 ExtendedContentSettings::~ExtendedContentSettings() {} 40 ExtendedContentSettings::~ExtendedContentSettings() {}
41 41
42 BaseProvider::BaseProvider(bool is_otr) 42 BaseProvider::BaseProvider(bool is_incognito)
43 : is_off_the_record_(is_otr) { 43 : is_incognito_(is_incognito) {
44 } 44 }
45 45
46 BaseProvider::~BaseProvider() {} 46 BaseProvider::~BaseProvider() {}
47 47
48 bool BaseProvider::RequiresResourceIdentifier( 48 bool BaseProvider::RequiresResourceIdentifier(
49 ContentSettingsType content_type) const { 49 ContentSettingsType content_type) const {
50 if (CommandLine::ForCurrentProcess()->HasSwitch( 50 if (CommandLine::ForCurrentProcess()->HasSwitch(
51 switches::kEnableResourceContentSettings)) { 51 switches::kEnableResourceContentSettings)) {
52 return kRequiresResourceIdentifier[content_type]; 52 return kRequiresResourceIdentifier[content_type];
53 } else { 53 } else {
(...skipping 18 matching lines...) Expand all
72 // Support for embedding_patterns is not implemented yet. 72 // Support for embedding_patterns is not implemented yet.
73 DCHECK(requesting_url == embedding_url); 73 DCHECK(requesting_url == embedding_url);
74 74
75 if (!RequiresResourceIdentifier(content_type) || 75 if (!RequiresResourceIdentifier(content_type) ||
76 (RequiresResourceIdentifier(content_type) && resource_identifier.empty())) 76 (RequiresResourceIdentifier(content_type) && resource_identifier.empty()))
77 return GetNonDefaultContentSettings(requesting_url).settings[content_type]; 77 return GetNonDefaultContentSettings(requesting_url).settings[content_type];
78 78
79 // Resolve content settings with resource identifier. 79 // Resolve content settings with resource identifier.
80 // 1. Check for pattern that exactly match the url/host 80 // 1. Check for pattern that exactly match the url/host
81 // 1.1 In the content-settings-map 81 // 1.1 In the content-settings-map
82 // 1.2 In the off_the_record content-settings-map 82 // 1.2 In the incognito content-settings-map
83 // 3. Shorten the url subdomain by subdomain and try to find a pattern in 83 // 3. Shorten the url subdomain by subdomain and try to find a pattern in
84 // 3.1 OTR content-settings-map 84 // 3.1 OTR content-settings-map
85 // 3.2 content-settings-map 85 // 3.2 content-settings-map
86 base::AutoLock auto_lock(lock_); 86 base::AutoLock auto_lock(lock_);
87 const std::string host(net::GetHostOrSpecFromURL(requesting_url)); 87 const std::string host(net::GetHostOrSpecFromURL(requesting_url));
88 ContentSettingsTypeResourceIdentifierPair 88 ContentSettingsTypeResourceIdentifierPair
89 requested_setting(content_type, resource_identifier); 89 requested_setting(content_type, resource_identifier);
90 90
91 // Check for exact matches first. 91 // Check for exact matches first.
92 HostContentSettings::const_iterator i(host_content_settings_.find(host)); 92 HostContentSettings::const_iterator i(host_content_settings_.find(host));
93 if (i != host_content_settings_.end() && 93 if (i != host_content_settings_.end() &&
94 i->second.content_settings_for_resources.find(requested_setting) != 94 i->second.content_settings_for_resources.find(requested_setting) !=
95 i->second.content_settings_for_resources.end()) { 95 i->second.content_settings_for_resources.end()) {
96 return i->second.content_settings_for_resources.find( 96 return i->second.content_settings_for_resources.find(
97 requested_setting)->second; 97 requested_setting)->second;
98 } 98 }
99 99
100 // If this map is not for an incognito profile, these searches will never 100 // If this map is not for an incognito profile, these searches will never
101 // match. The additional incognito exceptions always overwrite the 101 // match. The additional incognito exceptions always overwrite the
102 // regular ones. 102 // regular ones.
103 i = off_the_record_settings_.find(host); 103 i = incognito_settings_.find(host);
104 if (i != off_the_record_settings_.end() && 104 if (i != incognito_settings_.end() &&
105 i->second.content_settings_for_resources.find(requested_setting) != 105 i->second.content_settings_for_resources.find(requested_setting) !=
106 i->second.content_settings_for_resources.end()) { 106 i->second.content_settings_for_resources.end()) {
107 return i->second.content_settings_for_resources.find( 107 return i->second.content_settings_for_resources.find(
108 requested_setting)->second; 108 requested_setting)->second;
109 } 109 }
110 110
111 // Match patterns starting with the most concrete pattern match. 111 // Match patterns starting with the most concrete pattern match.
112 for (std::string key = 112 for (std::string key =
113 std::string(ContentSettingsPattern::kDomainWildcard) + host; ; ) { 113 std::string(ContentSettingsPattern::kDomainWildcard) + host; ; ) {
114 HostContentSettings::const_iterator i(off_the_record_settings_.find(key)); 114 HostContentSettings::const_iterator i(incognito_settings_.find(key));
115 if (i != off_the_record_settings_.end() && 115 if (i != incognito_settings_.end() &&
116 i->second.content_settings_for_resources.find(requested_setting) != 116 i->second.content_settings_for_resources.find(requested_setting) !=
117 i->second.content_settings_for_resources.end()) { 117 i->second.content_settings_for_resources.end()) {
118 return i->second.content_settings_for_resources.find( 118 return i->second.content_settings_for_resources.find(
119 requested_setting)->second; 119 requested_setting)->second;
120 } 120 }
121 121
122 i = host_content_settings_.find(key); 122 i = host_content_settings_.find(key);
123 if (i != host_content_settings_.end() && 123 if (i != host_content_settings_.end() &&
124 i->second.content_settings_for_resources.find(requested_setting) != 124 i->second.content_settings_for_resources.find(requested_setting) !=
125 i->second.content_settings_for_resources.end()) { 125 i->second.content_settings_for_resources.end()) {
(...skipping 13 matching lines...) Expand all
139 } 139 }
140 140
141 void BaseProvider::GetAllContentSettingsRules( 141 void BaseProvider::GetAllContentSettingsRules(
142 ContentSettingsType content_type, 142 ContentSettingsType content_type,
143 const ResourceIdentifier& resource_identifier, 143 const ResourceIdentifier& resource_identifier,
144 Rules* content_setting_rules) const { 144 Rules* content_setting_rules) const {
145 DCHECK(content_setting_rules); 145 DCHECK(content_setting_rules);
146 content_setting_rules->clear(); 146 content_setting_rules->clear();
147 147
148 const HostContentSettings* map_to_return = 148 const HostContentSettings* map_to_return =
149 is_off_the_record_ ? &off_the_record_settings_ : &host_content_settings_; 149 is_incognito_ ? &incognito_settings_ : &host_content_settings_;
150 ContentSettingsTypeResourceIdentifierPair requested_setting( 150 ContentSettingsTypeResourceIdentifierPair requested_setting(
151 content_type, resource_identifier); 151 content_type, resource_identifier);
152 152
153 base::AutoLock auto_lock(lock_); 153 base::AutoLock auto_lock(lock_);
154 for (HostContentSettings::const_iterator i(map_to_return->begin()); 154 for (HostContentSettings::const_iterator i(map_to_return->begin());
155 i != map_to_return->end(); ++i) { 155 i != map_to_return->end(); ++i) {
156 ContentSetting setting; 156 ContentSetting setting;
157 if (RequiresResourceIdentifier(content_type)) { 157 if (RequiresResourceIdentifier(content_type)) {
158 if (i->second.content_settings_for_resources.find(requested_setting) != 158 if (i->second.content_settings_for_resources.find(requested_setting) !=
159 i->second.content_settings_for_resources.end()) { 159 i->second.content_settings_for_resources.end()) {
(...skipping 25 matching lines...) Expand all
185 output.settings[j] = CONTENT_SETTING_DEFAULT; 185 output.settings[j] = CONTENT_SETTING_DEFAULT;
186 186
187 // Check for exact matches first. 187 // Check for exact matches first.
188 HostContentSettings::const_iterator i(host_content_settings_.find(host)); 188 HostContentSettings::const_iterator i(host_content_settings_.find(host));
189 if (i != host_content_settings_.end()) 189 if (i != host_content_settings_.end())
190 output = i->second.content_settings; 190 output = i->second.content_settings;
191 191
192 // If this map is not for an incognito profile, these searches will never 192 // If this map is not for an incognito profile, these searches will never
193 // match. The additional incognito exceptions always overwrite the 193 // match. The additional incognito exceptions always overwrite the
194 // regular ones. 194 // regular ones.
195 i = off_the_record_settings_.find(host); 195 i = incognito_settings_.find(host);
196 if (i != off_the_record_settings_.end()) { 196 if (i != incognito_settings_.end()) {
197 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) 197 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j)
198 if (i->second.content_settings.settings[j] != CONTENT_SETTING_DEFAULT) 198 if (i->second.content_settings.settings[j] != CONTENT_SETTING_DEFAULT)
199 output.settings[j] = i->second.content_settings.settings[j]; 199 output.settings[j] = i->second.content_settings.settings[j];
200 } 200 }
201 201
202 // Match patterns starting with the most concrete pattern match. 202 // Match patterns starting with the most concrete pattern match.
203 for (std::string key = 203 for (std::string key =
204 std::string(ContentSettingsPattern::kDomainWildcard) + host; ; ) { 204 std::string(ContentSettingsPattern::kDomainWildcard) + host; ; ) {
205 HostContentSettings::const_iterator i(off_the_record_settings_.find(key)); 205 HostContentSettings::const_iterator i(incognito_settings_.find(key));
206 if (i != off_the_record_settings_.end()) { 206 if (i != incognito_settings_.end()) {
207 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) { 207 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) {
208 if (output.settings[j] == CONTENT_SETTING_DEFAULT) 208 if (output.settings[j] == CONTENT_SETTING_DEFAULT)
209 output.settings[j] = i->second.content_settings.settings[j]; 209 output.settings[j] = i->second.content_settings.settings[j];
210 } 210 }
211 } 211 }
212 i = host_content_settings_.find(key); 212 i = host_content_settings_.find(key);
213 if (i != host_content_settings_.end()) { 213 if (i != host_content_settings_.end()) {
214 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) { 214 for (int j = 0; j < CONTENT_SETTINGS_NUM_TYPES; ++j) {
215 if (output.settings[j] == CONTENT_SETTING_DEFAULT) 215 if (output.settings[j] == CONTENT_SETTING_DEFAULT)
216 output.settings[j] = i->second.content_settings.settings[j]; 216 output.settings[j] = i->second.content_settings.settings[j];
(...skipping 29 matching lines...) Expand all
246 if (setting == CONTENT_SETTING_ASK && 246 if (setting == CONTENT_SETTING_ASK &&
247 content_type == CONTENT_SETTINGS_TYPE_PLUGINS && 247 content_type == CONTENT_SETTINGS_TYPE_PLUGINS &&
248 !CommandLine::ForCurrentProcess()->HasSwitch( 248 !CommandLine::ForCurrentProcess()->HasSwitch(
249 switches::kEnableClickToPlay)) { 249 switches::kEnableClickToPlay)) {
250 return CONTENT_SETTING_BLOCK; 250 return CONTENT_SETTING_BLOCK;
251 } 251 }
252 return setting; 252 return setting;
253 } 253 }
254 254
255 } // namespace content_settings 255 } // namespace content_settings
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698