summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/content_settings_observer_browsertest.cc
diff options
context:
space:
mode:
authorcmp@chromium.org <cmp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-10 01:56:15 +0000
committercmp@chromium.org <cmp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-10 01:56:15 +0000
commit5ccd4951d9e4c598395ec9135ff5569d42d5c41a (patch)
tree2ec430c8ddea109359024f5b53f331ce7aa1cb9f /chrome/renderer/content_settings_observer_browsertest.cc
parent91d00b738e9e99c25e3e901426214e34a40e3007 (diff)
downloadchromium_src-5ccd4951d9e4c598395ec9135ff5569d42d5c41a.zip
chromium_src-5ccd4951d9e4c598395ec9135ff5569d42d5c41a.tar.gz
chromium_src-5ccd4951d9e4c598395ec9135ff5569d42d5c41a.tar.bz2
Revert 109213 - Take script URLs into account when applying script content settings.
<cmp> We suspect this CL caused a performance regression on chromium.perf. Reverting to see if this is the source of the regression. Transmit script content settings to the renderer. Use the script URL as the secondary URL for the content setting rules. BUG=90840 TEST=ChromeRenderViewTest.ContentSettings(Allow|Block)Scripts Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=109005 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=109036 Review URL: http://codereview.chromium.org/8409006 TBR=marja@chromium.org Review URL: http://codereview.chromium.org/8510040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109362 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/content_settings_observer_browsertest.cc')
-rw-r--r--chrome/renderer/content_settings_observer_browsertest.cc101
1 files changed, 10 insertions, 91 deletions
diff --git a/chrome/renderer/content_settings_observer_browsertest.cc b/chrome/renderer/content_settings_observer_browsertest.cc
index 78c7d21..8bde493 100644
--- a/chrome/renderer/content_settings_observer_browsertest.cc
+++ b/chrome/renderer/content_settings_observer_browsertest.cc
@@ -105,18 +105,13 @@ TEST_F(ChromeRenderViewTest, JSBlockSentAfterPageLoad) {
LoadHTML(html.c_str());
// 2. Block JavaScript.
- 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));
+ ContentSettings settings;
+ for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i)
+ settings.settings[i] = CONTENT_SETTING_ALLOW;
+ settings.settings[CONTENT_SETTINGS_TYPE_JAVASCRIPT] = CONTENT_SETTING_BLOCK;
ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
- observer->SetContentSettingRules(&content_setting_rules);
+ observer->SetContentSettings(settings);
+ observer->SetDefaultContentSettings(&settings);
// Make sure no pending messages are in the queue.
ProcessPendingMessages();
@@ -179,9 +174,7 @@ TEST_F(ChromeRenderViewTest, ImagesBlockedByDefault) {
LoadHTML("<html>Foo</html>");
// Set the default image blocking setting.
- RendererContentSettingRules content_setting_rules;
- ContentSettingsForOneType& image_setting_rules =
- content_setting_rules.image_rules;
+ ContentSettingsForOneType image_setting_rules;
image_setting_rules.push_back(
ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
ContentSettingsPattern::Wildcard(),
@@ -190,7 +183,7 @@ TEST_F(ChromeRenderViewTest, ImagesBlockedByDefault) {
false));
ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
- observer->SetContentSettingRules(&content_setting_rules);
+ observer->SetImageSettingRules(&image_setting_rules);
EXPECT_CALL(mock_observer,
OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string()));
EXPECT_FALSE(observer->AllowImage(GetMainFrame(),
@@ -222,9 +215,7 @@ TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) {
LoadHTML("<html>Foo</html>");
// Set the default image blocking setting.
- RendererContentSettingRules content_setting_rules;
- ContentSettingsForOneType& image_setting_rules =
- content_setting_rules.image_rules;
+ ContentSettingsForOneType image_setting_rules;
image_setting_rules.push_back(
ContentSettingPatternSource(ContentSettingsPattern::Wildcard(),
ContentSettingsPattern::Wildcard(),
@@ -233,7 +224,7 @@ TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) {
false));
ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
- observer->SetContentSettingRules(&content_setting_rules);
+ observer->SetImageSettingRules(&image_setting_rules);
EXPECT_CALL(
mock_observer,
OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, std::string())).Times(0);
@@ -256,75 +247,3 @@ TEST_F(ChromeRenderViewTest, ImagesAllowedByDefault) {
true, mock_observer.image_url_));
::testing::Mock::VerifyAndClearExpectations(&observer);
}
-
-TEST_F(ChromeRenderViewTest, ContentSettingsBlockScripts) {
- // Set the content settings for 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);
-
- // 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 blocked.
- 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_TRUE(was_blocked);
-}
-
-TEST_F(ChromeRenderViewTest, ContentSettingsAllowScripts) {
- // Set the content settings for 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_ALLOW,
- "",
- false));
-
- ContentSettingsObserver* observer = ContentSettingsObserver::Get(view_);
- observer->SetContentSettingRules(&content_setting_rules);
-
- // 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 not blocked.
- 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);
-}