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

Side by Side Diff: chrome/browser/host_content_settings_map_unittest.cc

Issue 5238002: Reintegrate 552 r66225-r66645.... (Closed) Base URL: svn://svn.chromium.org/chrome/branches/552d/src/
Patch Set: '' Created 10 years, 1 month 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/browser/host_content_settings_map.h" 5 #include "chrome/browser/host_content_settings_map.h"
6 6
7 #include "base/auto_reset.h"
7 #include "base/command_line.h" 8 #include "base/command_line.h"
8 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
9 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
10 #include "chrome/browser/prefs/pref_service.h" 11 #include "chrome/browser/prefs/pref_service.h"
11 #include "chrome/common/chrome_switches.h" 12 #include "chrome/common/chrome_switches.h"
12 #include "chrome/common/notification_registrar.h" 13 #include "chrome/common/notification_registrar.h"
13 #include "chrome/common/notification_service.h" 14 #include "chrome/common/notification_service.h"
14 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
15 #include "chrome/common/url_constants.h" 16 #include "chrome/common/url_constants.h"
16 #include "chrome/test/testing_profile.h" 17 #include "chrome/test/testing_profile.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 host_content_settings_map->GetDefaultContentSetting( 83 host_content_settings_map->GetDefaultContentSetting(
83 CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 84 CONTENT_SETTINGS_TYPE_JAVASCRIPT));
84 host_content_settings_map->SetDefaultContentSetting( 85 host_content_settings_map->SetDefaultContentSetting(
85 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK); 86 CONTENT_SETTINGS_TYPE_IMAGES, CONTENT_SETTING_BLOCK);
86 EXPECT_EQ(CONTENT_SETTING_BLOCK, 87 EXPECT_EQ(CONTENT_SETTING_BLOCK,
87 host_content_settings_map->GetDefaultContentSetting( 88 host_content_settings_map->GetDefaultContentSetting(
88 CONTENT_SETTINGS_TYPE_IMAGES)); 89 CONTENT_SETTINGS_TYPE_IMAGES));
89 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_content_settings_map->GetContentSetting( 90 EXPECT_EQ(CONTENT_SETTING_ALLOW, host_content_settings_map->GetContentSetting(
90 GURL(chrome::kChromeUINewTabURL), 91 GURL(chrome::kChromeUINewTabURL),
91 CONTENT_SETTINGS_TYPE_IMAGES, "")); 92 CONTENT_SETTINGS_TYPE_IMAGES, ""));
92 host_content_settings_map->SetDefaultContentSetting( 93 {
93 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ASK); 94 // Click-to-play needs to be enabled to set the content setting to ASK.
94 EXPECT_EQ(CONTENT_SETTING_ASK, 95 CommandLine* cmd = CommandLine::ForCurrentProcess();
95 host_content_settings_map->GetDefaultContentSetting( 96 AutoReset<CommandLine> auto_reset(cmd, *cmd);
96 CONTENT_SETTINGS_TYPE_PLUGINS)); 97 cmd->AppendSwitch(switches::kEnableClickToPlay);
98
99 host_content_settings_map->SetDefaultContentSetting(
100 CONTENT_SETTINGS_TYPE_PLUGINS, CONTENT_SETTING_ASK);
101 EXPECT_EQ(CONTENT_SETTING_ASK,
102 host_content_settings_map->GetDefaultContentSetting(
103 CONTENT_SETTINGS_TYPE_PLUGINS));
104 }
97 host_content_settings_map->SetDefaultContentSetting( 105 host_content_settings_map->SetDefaultContentSetting(
98 CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_ALLOW); 106 CONTENT_SETTINGS_TYPE_POPUPS, CONTENT_SETTING_ALLOW);
99 EXPECT_EQ(CONTENT_SETTING_ALLOW, 107 EXPECT_EQ(CONTENT_SETTING_ALLOW,
100 host_content_settings_map->GetDefaultContentSetting( 108 host_content_settings_map->GetDefaultContentSetting(
101 CONTENT_SETTINGS_TYPE_POPUPS)); 109 CONTENT_SETTINGS_TYPE_POPUPS));
102 host_content_settings_map->ResetToDefaults(); 110 host_content_settings_map->ResetToDefaults();
103 EXPECT_EQ(CONTENT_SETTING_ALLOW, 111 EXPECT_EQ(CONTENT_SETTING_ALLOW,
104 host_content_settings_map->GetDefaultContentSetting( 112 host_content_settings_map->GetDefaultContentSetting(
105 CONTENT_SETTINGS_TYPE_PLUGINS)); 113 CONTENT_SETTINGS_TYPE_PLUGINS));
106 114
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK); 554 CONTENT_SETTINGS_TYPE_IMAGES, "", CONTENT_SETTING_BLOCK);
547 desired_settings.settings[CONTENT_SETTINGS_TYPE_IMAGES] = 555 desired_settings.settings[CONTENT_SETTINGS_TYPE_IMAGES] =
548 CONTENT_SETTING_BLOCK; 556 CONTENT_SETTING_BLOCK;
549 settings = 557 settings =
550 host_content_settings_map->GetNonDefaultContentSettings(host); 558 host_content_settings_map->GetNonDefaultContentSettings(host);
551 EXPECT_TRUE(SettingsEqual(desired_settings, settings)); 559 EXPECT_TRUE(SettingsEqual(desired_settings, settings));
552 } 560 }
553 561
554 TEST_F(HostContentSettingsMapTest, ResourceIdentifier) { 562 TEST_F(HostContentSettingsMapTest, ResourceIdentifier) {
555 // This feature is currently behind a flag. 563 // This feature is currently behind a flag.
556 CommandLine cl(*CommandLine::ForCurrentProcess()); 564 CommandLine* cmd = CommandLine::ForCurrentProcess();
557 CommandLine::ForCurrentProcess()->AppendSwitch( 565 AutoReset<CommandLine> auto_reset(cmd, *cmd);
558 switches::kEnableResourceContentSettings); 566 cmd->AppendSwitch(switches::kEnableResourceContentSettings);
559 567
560 TestingProfile profile; 568 TestingProfile profile;
561 HostContentSettingsMap* host_content_settings_map = 569 HostContentSettingsMap* host_content_settings_map =
562 profile.GetHostContentSettingsMap(); 570 profile.GetHostContentSettingsMap();
563 571
564 GURL host("http://example.com/"); 572 GURL host("http://example.com/");
565 HostContentSettingsMap::Pattern pattern("[*.]example.com"); 573 HostContentSettingsMap::Pattern pattern("[*.]example.com");
566 std::string resource1("someplugin"); 574 std::string resource1("someplugin");
567 std::string resource2("otherplugin"); 575 std::string resource2("otherplugin");
568 576
569 EXPECT_EQ(CONTENT_SETTING_ALLOW, 577 EXPECT_EQ(CONTENT_SETTING_ALLOW,
570 host_content_settings_map->GetContentSetting( 578 host_content_settings_map->GetContentSetting(
571 host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1)); 579 host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1));
572 host_content_settings_map->SetContentSetting(pattern, 580 host_content_settings_map->SetContentSetting(pattern,
573 CONTENT_SETTINGS_TYPE_PLUGINS, resource1, CONTENT_SETTING_BLOCK); 581 CONTENT_SETTINGS_TYPE_PLUGINS, resource1, CONTENT_SETTING_BLOCK);
574 EXPECT_EQ(CONTENT_SETTING_BLOCK, 582 EXPECT_EQ(CONTENT_SETTING_BLOCK,
575 host_content_settings_map->GetContentSetting( 583 host_content_settings_map->GetContentSetting(
576 host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1)); 584 host, CONTENT_SETTINGS_TYPE_PLUGINS, resource1));
577 EXPECT_EQ(CONTENT_SETTING_ALLOW, 585 EXPECT_EQ(CONTENT_SETTING_ALLOW,
578 host_content_settings_map->GetContentSetting( 586 host_content_settings_map->GetContentSetting(
579 host, CONTENT_SETTINGS_TYPE_PLUGINS, resource2)); 587 host, CONTENT_SETTINGS_TYPE_PLUGINS, resource2));
580 *CommandLine::ForCurrentProcess() = cl;
581 } 588 }
582 589
583 TEST_F(HostContentSettingsMapTest, ResourceIdentifierPrefs) { 590 TEST_F(HostContentSettingsMapTest, ResourceIdentifierPrefs) {
584 // This feature is currently behind a flag. 591 // This feature is currently behind a flag.
585 CommandLine cl(*CommandLine::ForCurrentProcess()); 592 CommandLine* cmd = CommandLine::ForCurrentProcess();
586 CommandLine::ForCurrentProcess()->AppendSwitch( 593 AutoReset<CommandLine> auto_reset(cmd, *cmd);
587 switches::kEnableResourceContentSettings); 594 cmd->AppendSwitch(switches::kEnableResourceContentSettings);
588 595
589 TestingProfile profile; 596 TestingProfile profile;
590 scoped_ptr<Value> value(base::JSONReader::Read( 597 scoped_ptr<Value> value(base::JSONReader::Read(
591 "{\"[*.]example.com\":{\"per_plugin\":{\"someplugin\":2}}}", false)); 598 "{\"[*.]example.com\":{\"per_plugin\":{\"someplugin\":2}}}", false));
592 profile.GetPrefs()->Set(prefs::kContentSettingsPatterns, *value); 599 profile.GetPrefs()->Set(prefs::kContentSettingsPatterns, *value);
593 HostContentSettingsMap* host_content_settings_map = 600 HostContentSettingsMap* host_content_settings_map =
594 profile.GetHostContentSettingsMap(); 601 profile.GetHostContentSettingsMap();
595 602
596 GURL host("http://example.com/"); 603 GURL host("http://example.com/");
597 HostContentSettingsMap::Pattern pattern("[*.]example.com"); 604 HostContentSettingsMap::Pattern pattern("[*.]example.com");
(...skipping 14 matching lines...) Expand all
612 EXPECT_STREQ("{}", prefs_as_json.c_str()); 619 EXPECT_STREQ("{}", prefs_as_json.c_str());
613 620
614 host_content_settings_map->SetContentSetting(pattern, 621 host_content_settings_map->SetContentSetting(pattern,
615 CONTENT_SETTINGS_TYPE_PLUGINS, resource2, CONTENT_SETTING_BLOCK); 622 CONTENT_SETTINGS_TYPE_PLUGINS, resource2, CONTENT_SETTING_BLOCK);
616 623
617 content_setting_prefs = 624 content_setting_prefs =
618 profile.GetPrefs()->GetDictionary(prefs::kContentSettingsPatterns); 625 profile.GetPrefs()->GetDictionary(prefs::kContentSettingsPatterns);
619 base::JSONWriter::Write(content_setting_prefs, false, &prefs_as_json); 626 base::JSONWriter::Write(content_setting_prefs, false, &prefs_as_json);
620 EXPECT_STREQ("{\"[*.]example.com\":{\"per_plugin\":{\"otherplugin\":2}}}", 627 EXPECT_STREQ("{\"[*.]example.com\":{\"per_plugin\":{\"otherplugin\":2}}}",
621 prefs_as_json.c_str()); 628 prefs_as_json.c_str());
622 *CommandLine::ForCurrentProcess() = cl;
623 } 629 }
624 630
625 } // namespace 631 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/host_content_settings_map.cc ('k') | chrome/browser/renderer_host/browser_render_process_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698