| Index: chrome/renderer/content_settings_observer_browsertest.cc
|
| diff --git a/chrome/renderer/content_settings_observer_browsertest.cc b/chrome/renderer/content_settings_observer_browsertest.cc
|
| index d05df62b42cf824e0375c83640f5b3335368f3dc..04fca5e5d5d510cbc87114f7feaddb126123c155 100644
|
| --- a/chrome/renderer/content_settings_observer_browsertest.cc
|
| +++ b/chrome/renderer/content_settings_observer_browsertest.cc
|
| @@ -322,3 +322,39 @@ TEST_F(ChromeRenderViewTest, ContentSettingsAllowScripts) {
|
| }
|
| EXPECT_FALSE(was_blocked);
|
| }
|
| +
|
| +TEST_F(ChromeRenderViewTest, ContentSettingsAllowInterstitialScripts) {
|
| + // Block scripts
|
| + RendererContentSettingRules content_setting_rules;
|
| + ContentSettingsForOneType& script_setting_rules =
|
| + content_setting_rules.script_rules;
|
| + script_setting_rules.push_back(
|
| + ContentSettingPatternSource(
|
| + ContentSettingsPattern::Wildcard(),
|
| + ContentSettingsPattern::Wildcard(),
|
| + CONTENT_SETTING_BLOCK, "", false));
|
| +
|
| + ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
|
| + observer->SetContentSettingRules(&content_setting_rules);
|
| +
|
| + observer->AllowAllScripts();
|
| +
|
| + // Load a page which contains a script.
|
| + std::string html = "<html>"
|
| + "<head>"
|
| + "<script src='data:foo'></script>"
|
| + "</head>"
|
| + "<body>"
|
| + "</body>"
|
| + "</html>";
|
| + LoadHTML(html.c_str());
|
| +
|
| + // Verify that the script was allowed.
|
| + bool was_blocked = false;
|
| + for (size_t i = 0; i < render_thread_->sink().message_count(); ++i) {
|
| + const IPC::Message* msg = render_thread_->sink().GetMessageAt(i);
|
| + if (msg->type() == ChromeViewHostMsg_ContentBlocked::ID)
|
| + was_blocked = true;
|
| + }
|
| + EXPECT_FALSE(was_blocked);
|
| +}
|
|
|