| OLD | NEW |
| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 | 6 |
| 7 #include "chrome/common/render_messages.h" | 7 #include "chrome/common/render_messages.h" |
| 8 #include "chrome/renderer/content_settings_observer.h" | 8 #include "chrome/renderer/content_settings_observer.h" |
| 9 #include "chrome/test/base/chrome_render_view_test.h" | 9 #include "chrome/test/base/chrome_render_view_test.h" |
| 10 #include "components/content_settings/core/common/content_settings.h" | 10 #include "components/content_settings/core/common/content_settings.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 LoadHTML(kHtml); | 100 LoadHTML(kHtml); |
| 101 | 101 |
| 102 // 2. Block JavaScript. | 102 // 2. Block JavaScript. |
| 103 RendererContentSettingRules content_setting_rules; | 103 RendererContentSettingRules content_setting_rules; |
| 104 ContentSettingsForOneType& script_setting_rules = | 104 ContentSettingsForOneType& script_setting_rules = |
| 105 content_setting_rules.script_rules; | 105 content_setting_rules.script_rules; |
| 106 script_setting_rules.push_back( | 106 script_setting_rules.push_back( |
| 107 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 107 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 108 ContentSettingsPattern::Wildcard(), | 108 ContentSettingsPattern::Wildcard(), |
| 109 CONTENT_SETTING_BLOCK, | 109 CONTENT_SETTING_BLOCK, |
| 110 base::Time(), |
| 110 std::string(), | 111 std::string(), |
| 111 false)); | 112 false)); |
| 112 ContentSettingsObserver* observer = ContentSettingsObserver::Get( | 113 ContentSettingsObserver* observer = ContentSettingsObserver::Get( |
| 113 view_->GetMainRenderFrame()); | 114 view_->GetMainRenderFrame()); |
| 114 observer->SetContentSettingRules(&content_setting_rules); | 115 observer->SetContentSettingRules(&content_setting_rules); |
| 115 | 116 |
| 116 // Make sure no pending messages are in the queue. | 117 // Make sure no pending messages are in the queue. |
| 117 ProcessPendingMessages(); | 118 ProcessPendingMessages(); |
| 118 render_thread_->sink().ClearMessages(); | 119 render_thread_->sink().ClearMessages(); |
| 119 | 120 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 LoadHTML("<html>Foo</html>"); | 180 LoadHTML("<html>Foo</html>"); |
| 180 | 181 |
| 181 // Set the default image blocking setting. | 182 // Set the default image blocking setting. |
| 182 RendererContentSettingRules content_setting_rules; | 183 RendererContentSettingRules content_setting_rules; |
| 183 ContentSettingsForOneType& image_setting_rules = | 184 ContentSettingsForOneType& image_setting_rules = |
| 184 content_setting_rules.image_rules; | 185 content_setting_rules.image_rules; |
| 185 image_setting_rules.push_back( | 186 image_setting_rules.push_back( |
| 186 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 187 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 187 ContentSettingsPattern::Wildcard(), | 188 ContentSettingsPattern::Wildcard(), |
| 188 CONTENT_SETTING_BLOCK, | 189 CONTENT_SETTING_BLOCK, |
| 190 base::Time(), |
| 189 std::string(), | 191 std::string(), |
| 190 false)); | 192 false)); |
| 191 | 193 |
| 192 ContentSettingsObserver* observer = ContentSettingsObserver::Get( | 194 ContentSettingsObserver* observer = ContentSettingsObserver::Get( |
| 193 view_->GetMainRenderFrame()); | 195 view_->GetMainRenderFrame()); |
| 194 observer->SetContentSettingRules(&content_setting_rules); | 196 observer->SetContentSettingRules(&content_setting_rules); |
| 195 EXPECT_CALL(mock_observer, | 197 EXPECT_CALL(mock_observer, |
| 196 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, base::string16())); | 198 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, base::string16())); |
| 197 EXPECT_FALSE(observer->AllowImage(true, mock_observer.image_url_)); | 199 EXPECT_FALSE(observer->AllowImage(true, mock_observer.image_url_)); |
| 198 ::testing::Mock::VerifyAndClearExpectations(&observer); | 200 ::testing::Mock::VerifyAndClearExpectations(&observer); |
| 199 | 201 |
| 200 // Create an exception which allows the image. | 202 // Create an exception which allows the image. |
| 201 image_setting_rules.insert( | 203 image_setting_rules.insert( |
| 202 image_setting_rules.begin(), | 204 image_setting_rules.begin(), |
| 203 ContentSettingPatternSource( | 205 ContentSettingPatternSource( |
| 204 ContentSettingsPattern::Wildcard(), | 206 ContentSettingsPattern::Wildcard(), |
| 205 ContentSettingsPattern::FromString(mock_observer.image_origin_), | 207 ContentSettingsPattern::FromString(mock_observer.image_origin_), |
| 206 CONTENT_SETTING_ALLOW, | 208 CONTENT_SETTING_ALLOW, |
| 209 base::Time(), |
| 207 std::string(), | 210 std::string(), |
| 208 false)); | 211 false)); |
| 209 | 212 |
| 210 EXPECT_CALL(mock_observer, OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, | 213 EXPECT_CALL(mock_observer, OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, |
| 211 base::string16())).Times(0); | 214 base::string16())).Times(0); |
| 212 EXPECT_TRUE(observer->AllowImage(true, mock_observer.image_url_)); | 215 EXPECT_TRUE(observer->AllowImage(true, mock_observer.image_url_)); |
| 213 ::testing::Mock::VerifyAndClearExpectations(&observer); | 216 ::testing::Mock::VerifyAndClearExpectations(&observer); |
| 214 } | 217 } |
| 215 | 218 |
| 216 TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) { | 219 TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) { |
| 217 MockContentSettingsObserver mock_observer(view_->GetMainRenderFrame()); | 220 MockContentSettingsObserver mock_observer(view_->GetMainRenderFrame()); |
| 218 | 221 |
| 219 // Load some HTML. | 222 // Load some HTML. |
| 220 LoadHTML("<html>Foo</html>"); | 223 LoadHTML("<html>Foo</html>"); |
| 221 | 224 |
| 222 // Set the default image blocking setting. | 225 // Set the default image blocking setting. |
| 223 RendererContentSettingRules content_setting_rules; | 226 RendererContentSettingRules content_setting_rules; |
| 224 ContentSettingsForOneType& image_setting_rules = | 227 ContentSettingsForOneType& image_setting_rules = |
| 225 content_setting_rules.image_rules; | 228 content_setting_rules.image_rules; |
| 226 image_setting_rules.push_back( | 229 image_setting_rules.push_back( |
| 227 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 230 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 228 ContentSettingsPattern::Wildcard(), | 231 ContentSettingsPattern::Wildcard(), |
| 229 CONTENT_SETTING_ALLOW, | 232 CONTENT_SETTING_ALLOW, |
| 233 base::Time(), |
| 230 std::string(), | 234 std::string(), |
| 231 false)); | 235 false)); |
| 232 | 236 |
| 233 ContentSettingsObserver* observer = | 237 ContentSettingsObserver* observer = |
| 234 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 238 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 235 observer->SetContentSettingRules(&content_setting_rules); | 239 observer->SetContentSettingRules(&content_setting_rules); |
| 236 EXPECT_CALL(mock_observer, OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, | 240 EXPECT_CALL(mock_observer, OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, |
| 237 base::string16())).Times(0); | 241 base::string16())).Times(0); |
| 238 EXPECT_TRUE(observer->AllowImage(true, mock_observer.image_url_)); | 242 EXPECT_TRUE(observer->AllowImage(true, mock_observer.image_url_)); |
| 239 ::testing::Mock::VerifyAndClearExpectations(&observer); | 243 ::testing::Mock::VerifyAndClearExpectations(&observer); |
| 240 | 244 |
| 241 // Create an exception which blocks the image. | 245 // Create an exception which blocks the image. |
| 242 image_setting_rules.insert( | 246 image_setting_rules.insert( |
| 243 image_setting_rules.begin(), | 247 image_setting_rules.begin(), |
| 244 ContentSettingPatternSource( | 248 ContentSettingPatternSource( |
| 245 ContentSettingsPattern::Wildcard(), | 249 ContentSettingsPattern::Wildcard(), |
| 246 ContentSettingsPattern::FromString(mock_observer.image_origin_), | 250 ContentSettingsPattern::FromString(mock_observer.image_origin_), |
| 247 CONTENT_SETTING_BLOCK, | 251 CONTENT_SETTING_BLOCK, |
| 252 base::Time(), |
| 248 std::string(), | 253 std::string(), |
| 249 false)); | 254 false)); |
| 250 EXPECT_CALL(mock_observer, | 255 EXPECT_CALL(mock_observer, |
| 251 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, base::string16())); | 256 OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, base::string16())); |
| 252 EXPECT_FALSE(observer->AllowImage(true, mock_observer.image_url_)); | 257 EXPECT_FALSE(observer->AllowImage(true, mock_observer.image_url_)); |
| 253 ::testing::Mock::VerifyAndClearExpectations(&observer); | 258 ::testing::Mock::VerifyAndClearExpectations(&observer); |
| 254 } | 259 } |
| 255 | 260 |
| 256 TEST_F(ChromeRenderViewTest, ContentSettingsBlockScripts) { | 261 TEST_F(ChromeRenderViewTest, ContentSettingsBlockScripts) { |
| 257 // Set the content settings for scripts. | 262 // Set the content settings for scripts. |
| 258 RendererContentSettingRules content_setting_rules; | 263 RendererContentSettingRules content_setting_rules; |
| 259 ContentSettingsForOneType& script_setting_rules = | 264 ContentSettingsForOneType& script_setting_rules = |
| 260 content_setting_rules.script_rules; | 265 content_setting_rules.script_rules; |
| 261 script_setting_rules.push_back( | 266 script_setting_rules.push_back( |
| 262 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 267 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 263 ContentSettingsPattern::Wildcard(), | 268 ContentSettingsPattern::Wildcard(), |
| 264 CONTENT_SETTING_BLOCK, | 269 CONTENT_SETTING_BLOCK, |
| 270 base::Time(), |
| 265 std::string(), | 271 std::string(), |
| 266 false)); | 272 false)); |
| 267 | 273 |
| 268 ContentSettingsObserver* observer = | 274 ContentSettingsObserver* observer = |
| 269 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 275 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 270 observer->SetContentSettingRules(&content_setting_rules); | 276 observer->SetContentSettingRules(&content_setting_rules); |
| 271 | 277 |
| 272 // Load a page which contains a script. | 278 // Load a page which contains a script. |
| 273 const char kHtml[] = | 279 const char kHtml[] = |
| 274 "<html>" | 280 "<html>" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 292 | 298 |
| 293 TEST_F(ChromeRenderViewTest, ContentSettingsAllowScripts) { | 299 TEST_F(ChromeRenderViewTest, ContentSettingsAllowScripts) { |
| 294 // Set the content settings for scripts. | 300 // Set the content settings for scripts. |
| 295 RendererContentSettingRules content_setting_rules; | 301 RendererContentSettingRules content_setting_rules; |
| 296 ContentSettingsForOneType& script_setting_rules = | 302 ContentSettingsForOneType& script_setting_rules = |
| 297 content_setting_rules.script_rules; | 303 content_setting_rules.script_rules; |
| 298 script_setting_rules.push_back( | 304 script_setting_rules.push_back( |
| 299 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 305 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 300 ContentSettingsPattern::Wildcard(), | 306 ContentSettingsPattern::Wildcard(), |
| 301 CONTENT_SETTING_ALLOW, | 307 CONTENT_SETTING_ALLOW, |
| 308 base::Time(), |
| 302 std::string(), | 309 std::string(), |
| 303 false)); | 310 false)); |
| 304 | 311 |
| 305 ContentSettingsObserver* observer = | 312 ContentSettingsObserver* observer = |
| 306 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 313 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 307 observer->SetContentSettingRules(&content_setting_rules); | 314 observer->SetContentSettingRules(&content_setting_rules); |
| 308 | 315 |
| 309 // Load a page which contains a script. | 316 // Load a page which contains a script. |
| 310 const char kHtml[] = | 317 const char kHtml[] = |
| 311 "<html>" | 318 "<html>" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 330 // Regression test for crbug.com/232410: Load a page with JS blocked. Then, | 337 // Regression test for crbug.com/232410: Load a page with JS blocked. Then, |
| 331 // allow JS and reload the page. In each case, only one of noscript or script | 338 // allow JS and reload the page. In each case, only one of noscript or script |
| 332 // tags should be enabled, but never both. | 339 // tags should be enabled, but never both. |
| 333 TEST_F(ChromeRenderViewTest, ContentSettingsNoscriptTag) { | 340 TEST_F(ChromeRenderViewTest, ContentSettingsNoscriptTag) { |
| 334 // 1. Block JavaScript. | 341 // 1. Block JavaScript. |
| 335 RendererContentSettingRules content_setting_rules; | 342 RendererContentSettingRules content_setting_rules; |
| 336 ContentSettingsForOneType& script_setting_rules = | 343 ContentSettingsForOneType& script_setting_rules = |
| 337 content_setting_rules.script_rules; | 344 content_setting_rules.script_rules; |
| 338 script_setting_rules.push_back(ContentSettingPatternSource( | 345 script_setting_rules.push_back(ContentSettingPatternSource( |
| 339 ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), | 346 ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), |
| 340 CONTENT_SETTING_BLOCK, std::string(), false)); | 347 CONTENT_SETTING_BLOCK, base::Time(), std::string(), false)); |
| 341 | 348 |
| 342 ContentSettingsObserver* observer = | 349 ContentSettingsObserver* observer = |
| 343 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 350 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 344 observer->SetContentSettingRules(&content_setting_rules); | 351 observer->SetContentSettingRules(&content_setting_rules); |
| 345 | 352 |
| 346 // 2. Load a page which contains a noscript tag and a script tag. Note that | 353 // 2. Load a page which contains a noscript tag and a script tag. Note that |
| 347 // the page doesn't have a body tag. | 354 // the page doesn't have a body tag. |
| 348 const char kHtml[] = | 355 const char kHtml[] = |
| 349 "<html>" | 356 "<html>" |
| 350 "<noscript>JS_DISABLED</noscript>" | 357 "<noscript>JS_DISABLED</noscript>" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 361 std::string::npos, | 368 std::string::npos, |
| 362 blink::WebFrameContentDumper::DumpLayoutTreeAsText( | 369 blink::WebFrameContentDumper::DumpLayoutTreeAsText( |
| 363 GetMainFrame(), blink::WebFrameContentDumper::kLayoutAsTextNormal) | 370 GetMainFrame(), blink::WebFrameContentDumper::kLayoutAsTextNormal) |
| 364 .Utf8() | 371 .Utf8() |
| 365 .find("JS_ENABLED")); | 372 .find("JS_ENABLED")); |
| 366 | 373 |
| 367 // 3. Allow JavaScript. | 374 // 3. Allow JavaScript. |
| 368 script_setting_rules.clear(); | 375 script_setting_rules.clear(); |
| 369 script_setting_rules.push_back(ContentSettingPatternSource( | 376 script_setting_rules.push_back(ContentSettingPatternSource( |
| 370 ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), | 377 ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), |
| 371 CONTENT_SETTING_ALLOW, std::string(), false)); | 378 CONTENT_SETTING_ALLOW, base::Time(), std::string(), false)); |
| 372 observer->SetContentSettingRules(&content_setting_rules); | 379 observer->SetContentSettingRules(&content_setting_rules); |
| 373 | 380 |
| 374 // 4. Reload the page. | 381 // 4. Reload the page. |
| 375 std::string url_str = "data:text/html;charset=utf-8,"; | 382 std::string url_str = "data:text/html;charset=utf-8,"; |
| 376 url_str.append(kHtml); | 383 url_str.append(kHtml); |
| 377 GURL url(url_str); | 384 GURL url(url_str); |
| 378 Reload(url); | 385 Reload(url); |
| 379 EXPECT_NE( | 386 EXPECT_NE( |
| 380 std::string::npos, | 387 std::string::npos, |
| 381 blink::WebFrameContentDumper::DumpLayoutTreeAsText( | 388 blink::WebFrameContentDumper::DumpLayoutTreeAsText( |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 was_blocked = true; | 420 was_blocked = true; |
| 414 } | 421 } |
| 415 EXPECT_FALSE(was_blocked); | 422 EXPECT_FALSE(was_blocked); |
| 416 | 423 |
| 417 // Block JavaScript. | 424 // Block JavaScript. |
| 418 RendererContentSettingRules content_setting_rules; | 425 RendererContentSettingRules content_setting_rules; |
| 419 ContentSettingsForOneType& script_setting_rules = | 426 ContentSettingsForOneType& script_setting_rules = |
| 420 content_setting_rules.script_rules; | 427 content_setting_rules.script_rules; |
| 421 script_setting_rules.push_back(ContentSettingPatternSource( | 428 script_setting_rules.push_back(ContentSettingPatternSource( |
| 422 ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), | 429 ContentSettingsPattern::Wildcard(), ContentSettingsPattern::Wildcard(), |
| 423 CONTENT_SETTING_BLOCK, std::string(), false)); | 430 CONTENT_SETTING_BLOCK, base::Time(), std::string(), false)); |
| 424 | 431 |
| 425 ContentSettingsObserver* observer = | 432 ContentSettingsObserver* observer = |
| 426 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 433 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 427 observer->SetContentSettingRules(&content_setting_rules); | 434 observer->SetContentSettingRules(&content_setting_rules); |
| 428 | 435 |
| 429 // The page shouldn't see the change to script blocking setting after a | 436 // The page shouldn't see the change to script blocking setting after a |
| 430 // same document navigation. | 437 // same document navigation. |
| 431 OnSameDocumentNavigation(GetMainFrame(), true, true); | 438 OnSameDocumentNavigation(GetMainFrame(), true, true); |
| 432 EXPECT_TRUE(observer->AllowScript(true)); | 439 EXPECT_TRUE(observer->AllowScript(true)); |
| 433 } | 440 } |
| 434 | 441 |
| 435 TEST_F(ChromeRenderViewTest, ContentSettingsInterstitialPages) { | 442 TEST_F(ChromeRenderViewTest, ContentSettingsInterstitialPages) { |
| 436 MockContentSettingsObserver mock_observer(view_->GetMainRenderFrame()); | 443 MockContentSettingsObserver mock_observer(view_->GetMainRenderFrame()); |
| 437 // Block scripts. | 444 // Block scripts. |
| 438 RendererContentSettingRules content_setting_rules; | 445 RendererContentSettingRules content_setting_rules; |
| 439 ContentSettingsForOneType& script_setting_rules = | 446 ContentSettingsForOneType& script_setting_rules = |
| 440 content_setting_rules.script_rules; | 447 content_setting_rules.script_rules; |
| 441 script_setting_rules.push_back( | 448 script_setting_rules.push_back( |
| 442 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 449 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 443 ContentSettingsPattern::Wildcard(), | 450 ContentSettingsPattern::Wildcard(), |
| 444 CONTENT_SETTING_BLOCK, | 451 CONTENT_SETTING_BLOCK, |
| 452 base::Time(), |
| 445 std::string(), | 453 std::string(), |
| 446 false)); | 454 false)); |
| 447 // Block images. | 455 // Block images. |
| 448 ContentSettingsForOneType& image_setting_rules = | 456 ContentSettingsForOneType& image_setting_rules = |
| 449 content_setting_rules.image_rules; | 457 content_setting_rules.image_rules; |
| 450 image_setting_rules.push_back( | 458 image_setting_rules.push_back( |
| 451 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 459 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 452 ContentSettingsPattern::Wildcard(), | 460 ContentSettingsPattern::Wildcard(), |
| 453 CONTENT_SETTING_BLOCK, | 461 CONTENT_SETTING_BLOCK, |
| 462 base::Time(), |
| 454 std::string(), | 463 std::string(), |
| 455 false)); | 464 false)); |
| 456 | 465 |
| 457 ContentSettingsObserver* observer = | 466 ContentSettingsObserver* observer = |
| 458 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 467 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 459 observer->SetContentSettingRules(&content_setting_rules); | 468 observer->SetContentSettingRules(&content_setting_rules); |
| 460 observer->OnSetAsInterstitial(); | 469 observer->OnSetAsInterstitial(); |
| 461 | 470 |
| 462 // Load a page which contains a script. | 471 // Load a page which contains a script. |
| 463 const char kHtml[] = | 472 const char kHtml[] = |
| (...skipping 29 matching lines...) Expand all Loading... |
| 493 LoadHTML("<html>Foo</html>"); | 502 LoadHTML("<html>Foo</html>"); |
| 494 | 503 |
| 495 // Set the default setting. | 504 // Set the default setting. |
| 496 RendererContentSettingRules content_setting_rules; | 505 RendererContentSettingRules content_setting_rules; |
| 497 ContentSettingsForOneType& autoplay_setting_rules = | 506 ContentSettingsForOneType& autoplay_setting_rules = |
| 498 content_setting_rules.autoplay_rules; | 507 content_setting_rules.autoplay_rules; |
| 499 autoplay_setting_rules.push_back( | 508 autoplay_setting_rules.push_back( |
| 500 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), | 509 ContentSettingPatternSource(ContentSettingsPattern::Wildcard(), |
| 501 ContentSettingsPattern::Wildcard(), | 510 ContentSettingsPattern::Wildcard(), |
| 502 CONTENT_SETTING_ALLOW, | 511 CONTENT_SETTING_ALLOW, |
| 512 base::Time(), |
| 503 std::string(), | 513 std::string(), |
| 504 false)); | 514 false)); |
| 505 | 515 |
| 506 ContentSettingsObserver* observer = | 516 ContentSettingsObserver* observer = |
| 507 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); | 517 ContentSettingsObserver::Get(view_->GetMainRenderFrame()); |
| 508 observer->SetContentSettingRules(&content_setting_rules); | 518 observer->SetContentSettingRules(&content_setting_rules); |
| 509 | 519 |
| 510 EXPECT_TRUE(observer->AllowAutoplay(false)); | 520 EXPECT_TRUE(observer->AllowAutoplay(false)); |
| 511 ::testing::Mock::VerifyAndClearExpectations(&observer); | 521 ::testing::Mock::VerifyAndClearExpectations(&observer); |
| 512 | 522 |
| 513 // Add rule to block autoplay. | 523 // Add rule to block autoplay. |
| 514 autoplay_setting_rules.insert( | 524 autoplay_setting_rules.insert( |
| 515 autoplay_setting_rules.begin(), | 525 autoplay_setting_rules.begin(), |
| 516 ContentSettingPatternSource( | 526 ContentSettingPatternSource( |
| 517 ContentSettingsPattern::Wildcard(), | 527 ContentSettingsPattern::Wildcard(), |
| 518 ContentSettingsPattern::Wildcard(), | 528 ContentSettingsPattern::Wildcard(), |
| 519 CONTENT_SETTING_BLOCK, | 529 CONTENT_SETTING_BLOCK, |
| 530 base::Time(), |
| 520 std::string(), | 531 std::string(), |
| 521 false)); | 532 false)); |
| 522 | 533 |
| 523 EXPECT_FALSE(observer->AllowAutoplay(true)); | 534 EXPECT_FALSE(observer->AllowAutoplay(true)); |
| 524 ::testing::Mock::VerifyAndClearExpectations(&observer); | 535 ::testing::Mock::VerifyAndClearExpectations(&observer); |
| 525 } | 536 } |
| OLD | NEW |