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

Side by Side Diff: chrome/renderer/content_settings_observer_browsertest.cc

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 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) 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/common/content_settings.h" 5 #include "chrome/common/content_settings.h"
6 #include "chrome/common/render_messages.h" 6 #include "chrome/common/render_messages.h"
7 #include "chrome/renderer/content_settings_observer.h" 7 #include "chrome/renderer/content_settings_observer.h"
8 #include "chrome/test/base/chrome_render_view_test.h" 8 #include "chrome/test/base/chrome_render_view_test.h"
9 #include "content/public/renderer/render_view.h" 9 #include "content/public/renderer/render_view.h"
10 #include "ipc/ipc_message_macros.h" 10 #include "ipc/ipc_message_macros.h"
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 "</body>" 103 "</body>"
104 "</html>"; 104 "</html>";
105 render_thread_->sink().ClearMessages(); 105 render_thread_->sink().ClearMessages();
106 LoadHTML(html.c_str()); 106 LoadHTML(html.c_str());
107 107
108 // 2. Block JavaScript. 108 // 2. Block JavaScript.
109 RendererContentSettingRules content_setting_rules; 109 RendererContentSettingRules content_setting_rules;
110 ContentSettingsForOneType& script_setting_rules = 110 ContentSettingsForOneType& script_setting_rules =
111 content_setting_rules.script_rules; 111 content_setting_rules.script_rules;
112 script_setting_rules.push_back( 112 script_setting_rules.push_back(
113 ContentSettingPatternSource( 113 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
114 ContentSettingsPattern::Wildcard(), 114 ContentSettingsPattern::Wildcard(),
115 ContentSettingsPattern::Wildcard(), 115 CONTENT_SETTING_BLOCK,
116 CONTENT_SETTING_BLOCK, 116 std::string(),
117 "", 117 false));
118 false));
119 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_); 118 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
120 observer->SetContentSettingRules(&content_setting_rules); 119 observer->SetContentSettingRules(&content_setting_rules);
121 120
122 // Make sure no pending messages are in the queue. 121 // Make sure no pending messages are in the queue.
123 ProcessPendingMessages(); 122 ProcessPendingMessages();
124 render_thread_->sink().ClearMessages(); 123 render_thread_->sink().ClearMessages();
125 124
126 // 3. Reload page. 125 // 3. Reload page.
127 std::string url_str = "data:text/html;charset=utf-8,"; 126 std::string url_str = "data:text/html;charset=utf-8,";
128 url_str.append(html); 127 url_str.append(html);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 LoadHTML("<html>Foo</html>"); 185 LoadHTML("<html>Foo</html>");
187 186
188 // Set the default image blocking setting. 187 // Set the default image blocking setting.
189 RendererContentSettingRules content_setting_rules; 188 RendererContentSettingRules content_setting_rules;
190 ContentSettingsForOneType& image_setting_rules = 189 ContentSettingsForOneType& image_setting_rules =
191 content_setting_rules.image_rules; 190 content_setting_rules.image_rules;
192 image_setting_rules.push_back( 191 image_setting_rules.push_back(
193 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), 192 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
194 ContentSettingsPattern::Wildcard(), 193 ContentSettingsPattern::Wildcard(),
195 CONTENT_SETTING_BLOCK, 194 CONTENT_SETTING_BLOCK,
196 "", 195 std::string(),
197 false)); 196 false));
198 197
199 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_); 198 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
200 observer->SetContentSettingRules(&content_setting_rules); 199 observer->SetContentSettingRules(&content_setting_rules);
201 EXPECT_CALL(mock_observer, 200 EXPECT_CALL(mock_observer,
202 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 201 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string()));
203 EXPECT_FALSE(observer->AllowImage(GetMainFrame(), 202 EXPECT_FALSE(observer->AllowImage(GetMainFrame(),
204 true, mock_observer.image_url_)); 203 true, mock_observer.image_url_));
205 ::testing::Mock::VerifyAndClearExpectations(&observer); 204 ::testing::Mock::VerifyAndClearExpectations(&observer);
206 205
207 // Create an exception which allows the image. 206 // Create an exception which allows the image.
208 image_setting_rules.insert( 207 image_setting_rules.insert(
209 image_setting_rules.begin(), 208 image_setting_rules.begin(),
210 ContentSettingPatternSource( 209 ContentSettingPatternSource(
211 ContentSettingsPattern::Wildcard(), 210 ContentSettingsPattern::Wildcard(),
212 ContentSettingsPattern::FromString(mock_observer.image_origin_), 211 ContentSettingsPattern::FromString(mock_observer.image_origin_),
213 CONTENT_SETTING_ALLOW, 212 CONTENT_SETTING_ALLOW,
214 "", 213 std::string(),
215 false)); 214 false));
216 215
217 EXPECT_CALL( 216 EXPECT_CALL(
218 mock_observer, 217 mock_observer,
219 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0); 218 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0);
220 EXPECT_TRUE(observer->AllowImage(GetMainFrame(), true, 219 EXPECT_TRUE(observer->AllowImage(GetMainFrame(), true,
221 mock_observer.image_url_)); 220 mock_observer.image_url_));
222 ::testing::Mock::VerifyAndClearExpectations(&observer); 221 ::testing::Mock::VerifyAndClearExpectations(&observer);
223 } 222 }
224 223
225 TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) { 224 TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) {
226 MockContentSettingsObserver mock_observer(view_); 225 MockContentSettingsObserver mock_observer(view_);
227 226
228 // Load some HTML. 227 // Load some HTML.
229 LoadHTML("<html>Foo</html>"); 228 LoadHTML("<html>Foo</html>");
230 229
231 // Set the default image blocking setting. 230 // Set the default image blocking setting.
232 RendererContentSettingRules content_setting_rules; 231 RendererContentSettingRules content_setting_rules;
233 ContentSettingsForOneType& image_setting_rules = 232 ContentSettingsForOneType& image_setting_rules =
234 content_setting_rules.image_rules; 233 content_setting_rules.image_rules;
235 image_setting_rules.push_back( 234 image_setting_rules.push_back(
236 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), 235 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
237 ContentSettingsPattern::Wildcard(), 236 ContentSettingsPattern::Wildcard(),
238 CONTENT_SETTING_ALLOW, 237 CONTENT_SETTING_ALLOW,
239 "", 238 std::string(),
240 false)); 239 false));
241 240
242 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_); 241 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
243 observer->SetContentSettingRules(&content_setting_rules); 242 observer->SetContentSettingRules(&content_setting_rules);
244 EXPECT_CALL( 243 EXPECT_CALL(
245 mock_observer, 244 mock_observer,
246 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0); 245 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0);
247 EXPECT_TRUE(observer->AllowImage(GetMainFrame(), true, 246 EXPECT_TRUE(observer->AllowImage(GetMainFrame(), true,
248 mock_observer.image_url_)); 247 mock_observer.image_url_));
249 ::testing::Mock::VerifyAndClearExpectations(&observer); 248 ::testing::Mock::VerifyAndClearExpectations(&observer);
250 249
251 // Create an exception which blocks the image. 250 // Create an exception which blocks the image.
252 image_setting_rules.insert( 251 image_setting_rules.insert(
253 image_setting_rules.begin(), 252 image_setting_rules.begin(),
254 ContentSettingPatternSource( 253 ContentSettingPatternSource(
255 ContentSettingsPattern::Wildcard(), 254 ContentSettingsPattern::Wildcard(),
256 ContentSettingsPattern::FromString(mock_observer.image_origin_), 255 ContentSettingsPattern::FromString(mock_observer.image_origin_),
257 CONTENT_SETTING_BLOCK, 256 CONTENT_SETTING_BLOCK,
258 "", 257 std::string(),
259 false)); 258 false));
260 EXPECT_CALL(mock_observer, 259 EXPECT_CALL(mock_observer,
261 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())); 260 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string()));
262 EXPECT_FALSE(observer->AllowImage(GetMainFrame(), 261 EXPECT_FALSE(observer->AllowImage(GetMainFrame(),
263 true, mock_observer.image_url_)); 262 true, mock_observer.image_url_));
264 ::testing::Mock::VerifyAndClearExpectations(&observer); 263 ::testing::Mock::VerifyAndClearExpectations(&observer);
265 } 264 }
266 265
267 TEST_F(ChromeRenderViewTest, ContentSettingsBlockScripts) { 266 TEST_F(ChromeRenderViewTest, ContentSettingsBlockScripts) {
268 // Set the content settings for scripts. 267 // Set the content settings for scripts.
269 RendererContentSettingRules content_setting_rules; 268 RendererContentSettingRules content_setting_rules;
270 ContentSettingsForOneType& script_setting_rules = 269 ContentSettingsForOneType& script_setting_rules =
271 content_setting_rules.script_rules; 270 content_setting_rules.script_rules;
272 script_setting_rules.push_back( 271 script_setting_rules.push_back(
273 ContentSettingPatternSource( 272 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
274 ContentSettingsPattern::Wildcard(), 273 ContentSettingsPattern::Wildcard(),
275 ContentSettingsPattern::Wildcard(), 274 CONTENT_SETTING_BLOCK,
276 CONTENT_SETTING_BLOCK, 275 std::string(),
277 "", 276 false));
278 false));
279 277
280 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_); 278 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
281 observer->SetContentSettingRules(&content_setting_rules); 279 observer->SetContentSettingRules(&content_setting_rules);
282 280
283 // Load a page which contains a script. 281 // Load a page which contains a script.
284 std::string html = "<html>" 282 std::string html = "<html>"
285 "<head>" 283 "<head>"
286 "<script src='data:foo'></script>" 284 "<script src='data:foo'></script>"
287 "</head>" 285 "</head>"
288 "<body>" 286 "<body>"
(...skipping 10 matching lines...) Expand all
299 } 297 }
300 EXPECT_TRUE(was_blocked); 298 EXPECT_TRUE(was_blocked);
301 } 299 }
302 300
303 TEST_F(ChromeRenderViewTest, ContentSettingsAllowScripts) { 301 TEST_F(ChromeRenderViewTest, ContentSettingsAllowScripts) {
304 // Set the content settings for scripts. 302 // Set the content settings for scripts.
305 RendererContentSettingRules content_setting_rules; 303 RendererContentSettingRules content_setting_rules;
306 ContentSettingsForOneType& script_setting_rules = 304 ContentSettingsForOneType& script_setting_rules =
307 content_setting_rules.script_rules; 305 content_setting_rules.script_rules;
308 script_setting_rules.push_back( 306 script_setting_rules.push_back(
309 ContentSettingPatternSource( 307 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
310 ContentSettingsPattern::Wildcard(), 308 ContentSettingsPattern::Wildcard(),
311 ContentSettingsPattern::Wildcard(), 309 CONTENT_SETTING_ALLOW,
312 CONTENT_SETTING_ALLOW, 310 std::string(),
313 "", 311 false));
314 false));
315 312
316 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_); 313 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
317 observer->SetContentSettingRules(&content_setting_rules); 314 observer->SetContentSettingRules(&content_setting_rules);
318 315
319 // Load a page which contains a script. 316 // Load a page which contains a script.
320 std::string html = "<html>" 317 std::string html = "<html>"
321 "<head>" 318 "<head>"
322 "<script src='data:foo'></script>" 319 "<script src='data:foo'></script>"
323 "</head>" 320 "</head>"
324 "<body>" 321 "<body>"
(...skipping 11 matching lines...) Expand all
336 EXPECT_FALSE(was_blocked); 333 EXPECT_FALSE(was_blocked);
337 } 334 }
338 335
339 TEST_F(ChromeRenderViewTest, ContentSettingsInterstitialPages) { 336 TEST_F(ChromeRenderViewTest, ContentSettingsInterstitialPages) {
340 MockContentSettingsObserver mock_observer(view_); 337 MockContentSettingsObserver mock_observer(view_);
341 // Block scripts. 338 // Block scripts.
342 RendererContentSettingRules content_setting_rules; 339 RendererContentSettingRules content_setting_rules;
343 ContentSettingsForOneType& script_setting_rules = 340 ContentSettingsForOneType& script_setting_rules =
344 content_setting_rules.script_rules; 341 content_setting_rules.script_rules;
345 script_setting_rules.push_back( 342 script_setting_rules.push_back(
346 ContentSettingPatternSource( 343 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
347 ContentSettingsPattern::Wildcard(), 344 ContentSettingsPattern::Wildcard(),
348 ContentSettingsPattern::Wildcard(), 345 CONTENT_SETTING_BLOCK,
349 CONTENT_SETTING_BLOCK, "", false)); 346 std::string(),
347 false));
350 // Block images. 348 // Block images.
351 ContentSettingsForOneType& image_setting_rules = 349 ContentSettingsForOneType& image_setting_rules =
352 content_setting_rules.image_rules; 350 content_setting_rules.image_rules;
353 image_setting_rules.push_back( 351 image_setting_rules.push_back(
354 ContentSettingPatternSource( 352 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
355 ContentSettingsPattern::Wildcard(), 353 ContentSettingsPattern::Wildcard(),
356 ContentSettingsPattern::Wildcard(), 354 CONTENT_SETTING_BLOCK,
357 CONTENT_SETTING_BLOCK, "", false)); 355 std::string(),
356 false));
358 357
359 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_); 358 ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
360 observer->SetContentSettingRules(&content_setting_rules); 359 observer->SetContentSettingRules(&content_setting_rules);
361 observer->OnSetAsInterstitial(); 360 observer->OnSetAsInterstitial();
362 361
363 // Load a page which contains a script. 362 // Load a page which contains a script.
364 std::string html = "<html>" 363 std::string html = "<html>"
365 "<head>" 364 "<head>"
366 "<script src='data:foo'></script>" 365 "<script src='data:foo'></script>"
367 "</head>" 366 "</head>"
(...skipping 12 matching lines...) Expand all
380 EXPECT_FALSE(was_blocked); 379 EXPECT_FALSE(was_blocked);
381 380
382 // Verify that images are allowed. 381 // Verify that images are allowed.
383 EXPECT_CALL( 382 EXPECT_CALL(
384 mock_observer, 383 mock_observer,
385 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0); 384 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0);
386 EXPECT_TRUE(observer->AllowImage(GetMainFrame(), true, 385 EXPECT_TRUE(observer->AllowImage(GetMainFrame(), true,
387 mock_observer.image_url_)); 386 mock_observer.image_url_));
388 ::testing::Mock::VerifyAndClearExpectations(&observer); 387 ::testing::Mock::VerifyAndClearExpectations(&observer);
389 } 388 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client_unittest.cc ('k') | chrome/renderer/extensions/chrome_v8_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698