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

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

Issue 588153003: Remove MediaSettingChangedInfobar and show latest state in bubble (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: switch -> if Created 6 years, 2 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
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/strings/string16.h" 5 #include "base/strings/string16.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 67
68 // Set a cookie, block access to images, block mediastream access and block a 68 // Set a cookie, block access to images, block mediastream access and block a
69 // popup. 69 // popup.
70 content_settings->OnCookieChanged(GURL("http://google.com"), 70 content_settings->OnCookieChanged(GURL("http://google.com"),
71 GURL("http://google.com"), 71 GURL("http://google.com"),
72 "A=B", 72 "A=B",
73 options, 73 options,
74 false); 74 false);
75 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES); 75 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES);
76 content_settings->SetPopupsBlocked(true); 76 content_settings->SetPopupsBlocked(true);
77 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC); 77 MediaStreamDevicesController::MediaStreamTypeSettingsMap request_permissions;
78 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); 78 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission =
79 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
80 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission =
81 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
82 content_settings->OnMediaStreamPermissionSet(GURL("http://google.com"),
83 request_permissions);
79 84
80 // Check that only the respective content types are affected. 85 // Check that only the respective content types are affected.
81 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); 86 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES));
82 EXPECT_FALSE( 87 EXPECT_FALSE(
83 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); 88 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT));
84 EXPECT_FALSE( 89 EXPECT_FALSE(
85 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); 90 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS));
86 EXPECT_FALSE( 91 EXPECT_FALSE(
87 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); 92 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES));
88 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); 93 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS));
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // Request and allow camera access. 224 // Request and allow camera access.
220 request_permissions.clear(); 225 request_permissions.clear();
221 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 226 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission =
222 MediaStreamDevicesController::MEDIA_ALLOWED; 227 MediaStreamDevicesController::MEDIA_ALLOWED;
223 content_settings->OnMediaStreamPermissionSet(security_origin, 228 content_settings->OnMediaStreamPermissionSet(security_origin,
224 request_permissions); 229 request_permissions);
225 ASSERT_TRUE(content_settings->IsContentAllowed( 230 ASSERT_TRUE(content_settings->IsContentAllowed(
226 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 231 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
227 ASSERT_FALSE(content_settings->IsContentBlocked( 232 ASSERT_FALSE(content_settings->IsContentBlocked(
228 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 233 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
229 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_ACCESSED, 234 // cam request should not affect previous mic settings.
235 ASSERT_TRUE(content_settings->IsContentAllowed(
236 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
237 ASSERT_FALSE(content_settings->IsContentBlocked(
238 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
239 ASSERT_EQ(TabSpecificContentSettings::CAMERA_ACCESSED,
230 content_settings->GetMicrophoneCameraState()); 240 content_settings->GetMicrophoneCameraState());
231 241
232 // Request and block microphone access. 242 // Request and block microphone access.
233 request_permissions.clear(); 243 request_permissions.clear();
234 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 244 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission =
235 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 245 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
236 content_settings->OnMediaStreamPermissionSet(security_origin, 246 content_settings->OnMediaStreamPermissionSet(security_origin,
237 request_permissions); 247 request_permissions);
238 ASSERT_FALSE(content_settings->IsContentAllowed( 248 ASSERT_FALSE(content_settings->IsContentAllowed(
239 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 249 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
240 ASSERT_TRUE(content_settings->IsContentBlocked( 250 ASSERT_TRUE(content_settings->IsContentBlocked(
241 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 251 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
242 ASSERT_EQ(TabSpecificContentSettings::CAMERA_ACCESSED, 252 // mic request should not affect previous cam settings.
253 ASSERT_TRUE(content_settings->IsContentAllowed(
254 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
255 ASSERT_FALSE(content_settings->IsContentBlocked(
256 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
257 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED |
258 TabSpecificContentSettings::MICROPHONE_BLOCKED,
243 content_settings->GetMicrophoneCameraState()); 259 content_settings->GetMicrophoneCameraState());
244 260
245 // Request and block camera access. 261 // Request and block camera access.
246 request_permissions.clear(); 262 request_permissions.clear();
247 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 263 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission =
248 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 264 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
249 content_settings->OnMediaStreamPermissionSet(security_origin, 265 content_settings->OnMediaStreamPermissionSet(security_origin,
250 request_permissions); 266 request_permissions);
251 ASSERT_FALSE(content_settings->IsContentAllowed( 267 ASSERT_FALSE(content_settings->IsContentAllowed(
252 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 268 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
253 ASSERT_TRUE(content_settings->IsContentBlocked( 269 ASSERT_TRUE(content_settings->IsContentBlocked(
254 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 270 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
255 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_BLOCKED, 271 // cam request should not affect previous mic settings.
272 ASSERT_FALSE(content_settings->IsContentAllowed(
273 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
274 ASSERT_TRUE(content_settings->IsContentBlocked(
275 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
276 ASSERT_EQ(TabSpecificContentSettings::CAMERA_ACCESSED |
277 TabSpecificContentSettings::CAMERA_BLOCKED,
256 content_settings->GetMicrophoneCameraState()); 278 content_settings->GetMicrophoneCameraState());
257 279
258 // Request and allow microphone and camera access. 280 // Request and allow microphone and camera access.
259 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 281 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission =
260 MediaStreamDevicesController::MEDIA_ALLOWED; 282 MediaStreamDevicesController::MEDIA_ALLOWED;
261 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 283 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission =
262 MediaStreamDevicesController::MEDIA_ALLOWED; 284 MediaStreamDevicesController::MEDIA_ALLOWED;
263 content_settings->OnMediaStreamPermissionSet(security_origin, 285 content_settings->OnMediaStreamPermissionSet(security_origin,
264 request_permissions); 286 request_permissions);
265 ASSERT_TRUE(content_settings->IsContentAllowed( 287 ASSERT_TRUE(content_settings->IsContentAllowed(
266 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 288 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
267 ASSERT_FALSE(content_settings->IsContentBlocked( 289 ASSERT_FALSE(content_settings->IsContentBlocked(
268 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 290 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
269 ASSERT_TRUE(content_settings->IsContentAllowed( 291 ASSERT_TRUE(content_settings->IsContentAllowed(
270 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 292 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
271 ASSERT_FALSE(content_settings->IsContentBlocked( 293 ASSERT_FALSE(content_settings->IsContentBlocked(
272 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 294 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
273 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_ACCESSED, 295 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED |
296 TabSpecificContentSettings::CAMERA_ACCESSED,
274 content_settings->GetMicrophoneCameraState()); 297 content_settings->GetMicrophoneCameraState());
275 298
276 // Request and block microphone and camera access. 299 // Request and block microphone and camera access.
277 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 300 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission =
278 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 301 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
279 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 302 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission =
280 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 303 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
281 content_settings->OnMediaStreamPermissionSet(security_origin, 304 content_settings->OnMediaStreamPermissionSet(security_origin,
282 request_permissions); 305 request_permissions);
283 ASSERT_FALSE(content_settings->IsContentAllowed( 306 ASSERT_FALSE(content_settings->IsContentAllowed(
284 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 307 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
285 ASSERT_TRUE(content_settings->IsContentBlocked( 308 ASSERT_TRUE(content_settings->IsContentBlocked(
286 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 309 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
287 ASSERT_FALSE(content_settings->IsContentAllowed( 310 ASSERT_FALSE(content_settings->IsContentAllowed(
288 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 311 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
289 ASSERT_TRUE(content_settings->IsContentBlocked( 312 ASSERT_TRUE(content_settings->IsContentBlocked(
290 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 313 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
291 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_CAMERA_BLOCKED, 314 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED |
315 TabSpecificContentSettings::MICROPHONE_BLOCKED |
316 TabSpecificContentSettings::CAMERA_ACCESSED |
317 TabSpecificContentSettings::CAMERA_BLOCKED,
292 content_settings->GetMicrophoneCameraState()); 318 content_settings->GetMicrophoneCameraState());
293 319
294 // Request microphone and camera access. Allow microphone, block camera. 320 // Request microphone and camera access. Allow microphone, block camera.
295 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 321 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission =
296 MediaStreamDevicesController::MEDIA_ALLOWED; 322 MediaStreamDevicesController::MEDIA_ALLOWED;
297 content_settings->OnMediaStreamPermissionSet(security_origin, 323 content_settings->OnMediaStreamPermissionSet(security_origin,
298 request_permissions); 324 request_permissions);
299 ASSERT_TRUE(content_settings->IsContentAllowed( 325 ASSERT_TRUE(content_settings->IsContentAllowed(
300 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 326 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
301 ASSERT_FALSE(content_settings->IsContentBlocked( 327 ASSERT_FALSE(content_settings->IsContentBlocked(
302 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 328 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
303 ASSERT_FALSE(content_settings->IsContentAllowed( 329 ASSERT_FALSE(content_settings->IsContentAllowed(
304 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 330 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
305 ASSERT_TRUE(content_settings->IsContentBlocked( 331 ASSERT_TRUE(content_settings->IsContentBlocked(
306 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 332 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
307 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED, 333 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED |
334 TabSpecificContentSettings::CAMERA_ACCESSED |
335 TabSpecificContentSettings::CAMERA_BLOCKED,
308 content_settings->GetMicrophoneCameraState()); 336 content_settings->GetMicrophoneCameraState());
309 337
310 // Request microphone and camera access. Block microphone, allow camera. 338 // Request microphone and camera access. Block microphone, allow camera.
311 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission = 339 request_permissions[content::MEDIA_DEVICE_AUDIO_CAPTURE].permission =
312 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER; 340 MediaStreamDevicesController::MEDIA_BLOCKED_BY_USER;
313 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission = 341 request_permissions[content::MEDIA_DEVICE_VIDEO_CAPTURE].permission =
314 MediaStreamDevicesController::MEDIA_ALLOWED; 342 MediaStreamDevicesController::MEDIA_ALLOWED;
315 content_settings->OnMediaStreamPermissionSet(security_origin, 343 content_settings->OnMediaStreamPermissionSet(security_origin,
316 request_permissions); 344 request_permissions);
317 ASSERT_FALSE(content_settings->IsContentAllowed( 345 ASSERT_FALSE(content_settings->IsContentAllowed(
318 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 346 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
319 ASSERT_TRUE(content_settings->IsContentBlocked( 347 ASSERT_TRUE(content_settings->IsContentBlocked(
320 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); 348 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC));
321 ASSERT_TRUE(content_settings->IsContentAllowed( 349 ASSERT_TRUE(content_settings->IsContentAllowed(
322 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 350 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
323 ASSERT_FALSE(content_settings->IsContentBlocked( 351 ASSERT_FALSE(content_settings->IsContentBlocked(
324 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); 352 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA));
325 ASSERT_EQ(TabSpecificContentSettings::CAMERA_ACCESSED, 353 ASSERT_EQ(TabSpecificContentSettings::MICROPHONE_ACCESSED |
354 TabSpecificContentSettings::MICROPHONE_BLOCKED |
355 TabSpecificContentSettings::CAMERA_ACCESSED,
326 content_settings->GetMicrophoneCameraState()); 356 content_settings->GetMicrophoneCameraState());
327 } 357 }
328 358
329 TEST_F(TabSpecificContentSettingsTest, EmptyCookieList) { 359 TEST_F(TabSpecificContentSettingsTest, EmptyCookieList) {
330 TabSpecificContentSettings* content_settings = 360 TabSpecificContentSettings* content_settings =
331 TabSpecificContentSettings::FromWebContents(web_contents()); 361 TabSpecificContentSettings::FromWebContents(web_contents());
332 362
333 ASSERT_FALSE( 363 ASSERT_FALSE(
334 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); 364 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES));
335 ASSERT_FALSE( 365 ASSERT_FALSE(
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 base::UTF8ToUTF16("text"), 403 base::UTF8ToUTF16("text"),
374 blocked_by_policy); 404 blocked_by_policy);
375 content_settings->OnLocalStorageAccessed(GURL("http://google.com"), 405 content_settings->OnLocalStorageAccessed(GURL("http://google.com"),
376 true, 406 true,
377 blocked_by_policy); 407 blocked_by_policy);
378 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), 408 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"),
379 base::UTF8ToUTF16("name"), 409 base::UTF8ToUTF16("name"),
380 base::UTF8ToUTF16("display_name"), 410 base::UTF8ToUTF16("display_name"),
381 blocked_by_policy); 411 blocked_by_policy);
382 } 412 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698