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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings_unittest.cc

Issue 11896028: Add an location bar icon and a content settings bubble for media settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Replace the brace initializer and make the compiler happy. Created 7 years, 11 months 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) 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 "base/string16.h" 5 #include "base/string16.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 7 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
8 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 8 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
9 #include "chrome/test/base/testing_profile.h" 9 #include "chrome/test/base/testing_profile.h"
10 #include "content/public/test/test_browser_thread.h" 10 #include "content/public/test/test_browser_thread.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 EXPECT_FALSE( 61 EXPECT_FALSE(
62 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 62 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES));
63 EXPECT_FALSE( 63 EXPECT_FALSE(
64 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 64 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT));
65 EXPECT_FALSE( 65 EXPECT_FALSE(
66 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 66 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS));
67 EXPECT_FALSE( 67 EXPECT_FALSE(
68 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 68 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
69 EXPECT_FALSE( 69 EXPECT_FALSE(
70 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 70 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS));
71 EXPECT_FALSE(
72 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
71 73
72 // Set a cookie, block access to images, block a popup. 74 // Set a cookie, block access to images, block mediastream access and block a
75 // popup.
73 content_settings->OnCookieChanged(GURL("http://google.com"), 76 content_settings->OnCookieChanged(GURL("http://google.com"),
74 GURL("http://google.com"), 77 GURL("http://google.com"),
75 "A=B", 78 "A=B",
76 options, 79 options,
77 false); 80 false);
78 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES, 81 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES,
79 std::string()); 82 std::string());
80 content_settings->SetPopupsBlocked(true); 83 content_settings->SetPopupsBlocked(true);
84 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM,
85 std::string());
81 86
82 // Check that only the respective content types are affected. 87 // Check that only the respective content types are affected.
83 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 88 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES));
84 EXPECT_FALSE( 89 EXPECT_FALSE(
85 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 90 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT));
86 EXPECT_FALSE( 91 EXPECT_FALSE(
87 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 92 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS));
88 EXPECT_FALSE( 93 EXPECT_FALSE(
89 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 94 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
90 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 95 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS));
96 EXPECT_TRUE(
97 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
91 content_settings->OnCookieChanged(GURL("http://google.com"), 98 content_settings->OnCookieChanged(GURL("http://google.com"),
92 GURL("http://google.com"), 99 GURL("http://google.com"),
93 "A=B", 100 "A=B",
94 options, 101 options,
95 false); 102 false);
96 103
97 // Block a cookie. 104 // Block a cookie.
98 content_settings->OnCookieChanged(GURL("http://google.com"), 105 content_settings->OnCookieChanged(GURL("http://google.com"),
99 GURL("http://google.com"), 106 GURL("http://google.com"),
100 "C=D", 107 "C=D",
101 options, 108 options,
102 true); 109 true);
103 EXPECT_TRUE( 110 EXPECT_TRUE(
104 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 111 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
105 112
106 // Reset blocked content settings. 113 // Reset blocked content settings.
107 content_settings->ClearBlockedContentSettingsExceptForCookies(); 114 content_settings->ClearBlockedContentSettingsExceptForCookies();
108 EXPECT_FALSE( 115 EXPECT_FALSE(
109 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 116 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES));
110 EXPECT_FALSE( 117 EXPECT_FALSE(
111 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 118 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT));
112 EXPECT_FALSE( 119 EXPECT_FALSE(
113 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 120 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS));
114 EXPECT_TRUE( 121 EXPECT_TRUE(
115 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 122 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
116 EXPECT_FALSE( 123 EXPECT_FALSE(
117 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 124 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS));
125 EXPECT_FALSE(
126 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
118 127
119 content_settings->ClearCookieSpecificContentSettings(); 128 content_settings->ClearCookieSpecificContentSettings();
120 EXPECT_FALSE( 129 EXPECT_FALSE(
121 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 130 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES));
122 EXPECT_FALSE( 131 EXPECT_FALSE(
123 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 132 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT));
124 EXPECT_FALSE( 133 EXPECT_FALSE(
125 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 134 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS));
126 EXPECT_FALSE( 135 EXPECT_FALSE(
127 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 136 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
128 EXPECT_FALSE( 137 EXPECT_FALSE(
129 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 138 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS));
139 EXPECT_FALSE(
140 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
130 } 141 }
131 142
132 TEST_F(TabSpecificContentSettingsTest, BlockedFileSystems) { 143 TEST_F(TabSpecificContentSettingsTest, BlockedFileSystems) {
133 TabSpecificContentSettings* content_settings = 144 TabSpecificContentSettings* content_settings =
134 TabSpecificContentSettings::FromWebContents(web_contents()); 145 TabSpecificContentSettings::FromWebContents(web_contents());
135 146
136 // Access a file system. 147 // Access a file system.
137 content_settings->OnFileSystemAccessed(GURL("http://google.com"), false); 148 content_settings->OnFileSystemAccessed(GURL("http://google.com"), false);
138 EXPECT_FALSE( 149 EXPECT_FALSE(
139 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 150 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
140 151
141 // Block access to a file system. 152 // Block access to a file system.
142 content_settings->OnFileSystemAccessed(GURL("http://google.com"), true); 153 content_settings->OnFileSystemAccessed(GURL("http://google.com"), true);
143 EXPECT_TRUE( 154 EXPECT_TRUE(
144 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 155 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
145 } 156 }
146 157
147 TEST_F(TabSpecificContentSettingsTest, AllowedContent) { 158 TEST_F(TabSpecificContentSettingsTest, AllowedContent) {
148 TabSpecificContentSettings* content_settings = 159 TabSpecificContentSettings* content_settings =
149 TabSpecificContentSettings::FromWebContents(web_contents()); 160 TabSpecificContentSettings::FromWebContents(web_contents());
150 net::CookieOptions options; 161 net::CookieOptions options;
151 162
163 // Test default settings.
152 ASSERT_FALSE( 164 ASSERT_FALSE(
153 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_IMAGES)); 165 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_IMAGES));
154 ASSERT_FALSE( 166 ASSERT_FALSE(
155 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); 167 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES));
156 ASSERT_FALSE( 168 ASSERT_FALSE(
157 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 169 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
170 ASSERT_FALSE(
171 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
172
173 // Record a cookie.
158 content_settings->OnCookieChanged(GURL("http://google.com"), 174 content_settings->OnCookieChanged(GURL("http://google.com"),
159 GURL("http://google.com"), 175 GURL("http://google.com"),
160 "A=B", 176 "A=B",
161 options, 177 options,
162 false); 178 false);
163 ASSERT_TRUE( 179 ASSERT_TRUE(
164 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); 180 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES));
165 ASSERT_FALSE( 181 ASSERT_FALSE(
166 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 182 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
183
184 // Record a blocked cookie.
167 content_settings->OnCookieChanged(GURL("http://google.com"), 185 content_settings->OnCookieChanged(GURL("http://google.com"),
168 GURL("http://google.com"), 186 GURL("http://google.com"),
169 "C=D", 187 "C=D",
170 options, 188 options,
171 true); 189 true);
172 ASSERT_TRUE( 190 ASSERT_TRUE(
173 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); 191 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES));
174 ASSERT_TRUE( 192 ASSERT_TRUE(
175 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 193 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
194
195 // Record mediastream access.
196 content_settings->OnMediaStreamAccessed();
197 ASSERT_TRUE(
198 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
199 ASSERT_FALSE(
200 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
201
202 // Record a blocked mediastream access request.
203 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM,
204 std::string());
205 ASSERT_TRUE(
206 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
207 ASSERT_TRUE(
208 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM));
176 } 209 }
177 210
178 TEST_F(TabSpecificContentSettingsTest, EmptyCookieList) { 211 TEST_F(TabSpecificContentSettingsTest, EmptyCookieList) {
179 TabSpecificContentSettings* content_settings = 212 TabSpecificContentSettings* content_settings =
180 TabSpecificContentSettings::FromWebContents(web_contents()); 213 TabSpecificContentSettings::FromWebContents(web_contents());
181 214
182 ASSERT_FALSE( 215 ASSERT_FALSE(
183 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES)); 216 content_settings->IsContentAccessed(CONTENT_SETTINGS_TYPE_COOKIES));
184 ASSERT_FALSE( 217 ASSERT_FALSE(
185 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 218 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 UTF8ToUTF16("text"), 255 UTF8ToUTF16("text"),
223 blocked_by_policy); 256 blocked_by_policy);
224 content_settings->OnLocalStorageAccessed(GURL("http://google.com"), 257 content_settings->OnLocalStorageAccessed(GURL("http://google.com"),
225 true, 258 true,
226 blocked_by_policy); 259 blocked_by_policy);
227 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), 260 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"),
228 UTF8ToUTF16("name"), 261 UTF8ToUTF16("name"),
229 UTF8ToUTF16("display_name"), 262 UTF8ToUTF16("display_name"),
230 blocked_by_policy); 263 blocked_by_policy);
231 } 264 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698