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

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

Issue 5564007: Update Content Settings Bubbles (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: x Created 10 years 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/content_setting_bubble_model.h" 5 #include "chrome/browser/content_setting_bubble_model.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "chrome/browser/browser_thread.h" 9 #include "chrome/browser/browser_thread.h"
10 #include "chrome/browser/content_settings/host_content_settings_map.h" 10 #include "chrome/browser/content_settings/host_content_settings_map.h"
(...skipping 12 matching lines...) Expand all
23 } 23 }
24 24
25 void CheckGeolocationBubble(size_t expected_domains, 25 void CheckGeolocationBubble(size_t expected_domains,
26 bool expect_clear_link, 26 bool expect_clear_link,
27 bool expect_reload_hint) { 27 bool expect_reload_hint) {
28 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model( 28 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model(
29 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 29 ContentSettingBubbleModel::CreateContentSettingBubbleModel(
30 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_GEOLOCATION)); 30 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_GEOLOCATION));
31 const ContentSettingBubbleModel::BubbleContent& bubble_content = 31 const ContentSettingBubbleModel::BubbleContent& bubble_content =
32 content_setting_bubble_model->bubble_content(); 32 content_setting_bubble_model->bubble_content();
33 EXPECT_EQ(std::string(), bubble_content.title);
Peter Kasting 2010/12/09 17:56:34 Nit: Use EXPECT_TRUE(bubble_content.title.empty())
33 EXPECT_EQ(0U, bubble_content.radio_group.radio_items.size()); 34 EXPECT_EQ(0U, bubble_content.radio_group.radio_items.size());
Peter Kasting 2010/12/09 17:56:34 Nit: These can both be changed to EXPECT_TRUE(xxx.
34 EXPECT_EQ(0U, bubble_content.popup_items.size()); 35 EXPECT_EQ(0U, bubble_content.popup_items.size());
35 // The reload hint is currently implemented as a tacked on domain title, so
36 // account for this.
37 if (expect_reload_hint)
38 ++expected_domains;
39 EXPECT_EQ(expected_domains, bubble_content.domain_lists.size()); 36 EXPECT_EQ(expected_domains, bubble_content.domain_lists.size());
40 if (expect_clear_link) 37 if (expect_clear_link || expect_reload_hint) {
Peter Kasting 2010/12/09 17:56:34 Nit: This conditional can just become: EXPECT_N
41 EXPECT_NE(std::string(), bubble_content.clear_link); 38 EXPECT_NE(std::string(), bubble_content.custom_link);
42 else 39 else
43 EXPECT_EQ(std::string(), bubble_content.clear_link); 40 EXPECT_EQ(std::string(), bubble_content.custom_link);
41 EXPECT_EQ(expect_clear_link, bubble_content.custom_link_enabled);
44 EXPECT_NE(std::string(), bubble_content.manage_link); 42 EXPECT_NE(std::string(), bubble_content.manage_link);
45 EXPECT_EQ(std::string(), bubble_content.info_link);
46 EXPECT_EQ(std::string(), bubble_content.title);
47 EXPECT_EQ(std::string(), bubble_content.load_plugins_link_title);
48 } 43 }
49 44
50 BrowserThread ui_thread_; 45 BrowserThread ui_thread_;
51 }; 46 };
52 47
53 TEST_F(ContentSettingBubbleModelTest, ImageRadios) { 48 TEST_F(ContentSettingBubbleModelTest, ImageRadios) {
54 TabSpecificContentSettings* content_settings = 49 TabSpecificContentSettings* content_settings =
55 contents()->GetTabSpecificContentSettings(); 50 contents()->GetTabSpecificContentSettings();
56 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, 51 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES,
57 std::string()); 52 std::string());
58 53
59 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model( 54 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model(
60 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 55 ContentSettingBubbleModel::CreateContentSettingBubbleModel(
61 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_IMAGES)); 56 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_IMAGES));
62 const ContentSettingBubbleModel::BubbleContent& bubble_content = 57 const ContentSettingBubbleModel::BubbleContent& bubble_content =
63 content_setting_bubble_model->bubble_content(); 58 content_setting_bubble_model->bubble_content();
59 EXPECT_NE(std::string(), bubble_content.title);
64 EXPECT_EQ(2U, bubble_content.radio_group.radio_items.size()); 60 EXPECT_EQ(2U, bubble_content.radio_group.radio_items.size());
65 EXPECT_EQ(0, bubble_content.radio_group.default_item); 61 EXPECT_EQ(0, bubble_content.radio_group.default_item);
62 EXPECT_EQ(std::string(), bubble_content.custom_link);
63 EXPECT_FALSE(bubble_content.custom_link_enabled);
66 EXPECT_NE(std::string(), bubble_content.manage_link); 64 EXPECT_NE(std::string(), bubble_content.manage_link);
67 EXPECT_EQ(std::string(), bubble_content.info_link);
68 EXPECT_NE(std::string(), bubble_content.title);
69 EXPECT_EQ(std::string(), bubble_content.load_plugins_link_title);
70 } 65 }
71 66
72 TEST_F(ContentSettingBubbleModelTest, Cookies) { 67 TEST_F(ContentSettingBubbleModelTest, Cookies) {
73 TabSpecificContentSettings* content_settings = 68 TabSpecificContentSettings* content_settings =
74 contents()->GetTabSpecificContentSettings(); 69 contents()->GetTabSpecificContentSettings();
75 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES, 70 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES,
76 std::string()); 71 std::string());
77 72
78 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model( 73 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model(
79 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 74 ContentSettingBubbleModel::CreateContentSettingBubbleModel(
80 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_COOKIES)); 75 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_COOKIES));
81 const ContentSettingBubbleModel::BubbleContent& bubble_content = 76 const ContentSettingBubbleModel::BubbleContent& bubble_content =
82 content_setting_bubble_model->bubble_content(); 77 content_setting_bubble_model->bubble_content();
78 EXPECT_NE(std::string(), bubble_content.title);
83 EXPECT_EQ(0U, bubble_content.radio_group.radio_items.size()); 79 EXPECT_EQ(0U, bubble_content.radio_group.radio_items.size());
80 EXPECT_NE(std::string(), bubble_content.custom_link);
81 EXPECT_TRUE(bubble_content.custom_link_enabled);
84 EXPECT_NE(std::string(), bubble_content.manage_link); 82 EXPECT_NE(std::string(), bubble_content.manage_link);
85 EXPECT_NE(std::string(), bubble_content.info_link);
86 EXPECT_NE(std::string(), bubble_content.title);
87 EXPECT_EQ(std::string(), bubble_content.load_plugins_link_title);
88 } 83 }
89 84
90 TEST_F(ContentSettingBubbleModelTest, Plugins) { 85 TEST_F(ContentSettingBubbleModelTest, Plugins) {
91 TabSpecificContentSettings* content_settings = 86 TabSpecificContentSettings* content_settings =
92 contents()->GetTabSpecificContentSettings(); 87 contents()->GetTabSpecificContentSettings();
93 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS, 88 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS,
94 std::string()); 89 std::string());
95 90
96 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model( 91 scoped_ptr<ContentSettingBubbleModel> content_setting_bubble_model(
97 ContentSettingBubbleModel::CreateContentSettingBubbleModel( 92 ContentSettingBubbleModel::CreateContentSettingBubbleModel(
98 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_PLUGINS)); 93 contents(), profile_.get(), CONTENT_SETTINGS_TYPE_PLUGINS));
99 const ContentSettingBubbleModel::BubbleContent& bubble_content = 94 const ContentSettingBubbleModel::BubbleContent& bubble_content =
100 content_setting_bubble_model->bubble_content(); 95 content_setting_bubble_model->bubble_content();
96 EXPECT_NE(std::string(), bubble_content.title);
101 EXPECT_EQ(2U, bubble_content.radio_group.radio_items.size()); 97 EXPECT_EQ(2U, bubble_content.radio_group.radio_items.size());
98 EXPECT_EQ(std::string(), bubble_content.custom_link);
99 EXPECT_FALSE(bubble_content.custom_link_enabled);
102 EXPECT_NE(std::string(), bubble_content.manage_link); 100 EXPECT_NE(std::string(), bubble_content.manage_link);
103 EXPECT_EQ(std::string(), bubble_content.info_link);
104 EXPECT_NE(std::string(), bubble_content.title);
105 EXPECT_NE(std::string(), bubble_content.load_plugins_link_title);
106 } 101 }
107 102
108 TEST_F(ContentSettingBubbleModelTest, MultiplePlugins) { 103 TEST_F(ContentSettingBubbleModelTest, MultiplePlugins) {
109 CommandLine* cmd = CommandLine::ForCurrentProcess(); 104 CommandLine* cmd = CommandLine::ForCurrentProcess();
110 AutoReset<CommandLine> auto_reset(cmd, *cmd); 105 AutoReset<CommandLine> auto_reset(cmd, *cmd);
111 cmd->AppendSwitch(switches::kEnableResourceContentSettings); 106 cmd->AppendSwitch(switches::kEnableResourceContentSettings);
112 cmd->AppendSwitch(switches::kEnableClickToPlay); 107 cmd->AppendSwitch(switches::kEnableClickToPlay);
113 108
114 HostContentSettingsMap* map = profile_->GetHostContentSettingsMap(); 109 HostContentSettingsMap* map = profile_->GetHostContentSettingsMap();
115 std::string fooPlugin = "foo"; 110 std::string fooPlugin = "foo";
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 CheckGeolocationBubble(1, false, false); 181 CheckGeolocationBubble(1, false, false);
187 182
188 // Second frame denied, but not stored in the content map: requires reload. 183 // Second frame denied, but not stored in the content map: requires reload.
189 content_settings->OnGeolocationPermissionSet(frame2_url, false); 184 content_settings->OnGeolocationPermissionSet(frame2_url, false);
190 CheckGeolocationBubble(2, false, true); 185 CheckGeolocationBubble(2, false, true);
191 186
192 // Change the default to block: offer a clear link for the persisted frame 1. 187 // Change the default to block: offer a clear link for the persisted frame 1.
193 setting_map->SetDefaultContentSetting(CONTENT_SETTING_BLOCK); 188 setting_map->SetDefaultContentSetting(CONTENT_SETTING_BLOCK);
194 CheckGeolocationBubble(2, true, false); 189 CheckGeolocationBubble(2, true, false);
195 } 190 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698