| OLD | NEW |
| 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 TabSpecificContentSettings* content_settings = | 48 TabSpecificContentSettings* content_settings = |
| 49 TabSpecificContentSettings::FromWebContents(web_contents()); | 49 TabSpecificContentSettings::FromWebContents(web_contents()); |
| 50 net::CookieOptions options; | 50 net::CookieOptions options; |
| 51 | 51 |
| 52 // Check that after initializing, nothing is blocked. | 52 // Check that after initializing, nothing is blocked. |
| 53 EXPECT_FALSE( | 53 EXPECT_FALSE( |
| 54 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 54 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 55 EXPECT_FALSE( | 55 EXPECT_FALSE( |
| 56 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 56 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 57 EXPECT_FALSE( | 57 EXPECT_FALSE( |
| 58 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIA)); |
| 59 EXPECT_FALSE( |
| 58 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | 60 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 59 EXPECT_FALSE( | 61 EXPECT_FALSE( |
| 60 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 62 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 61 EXPECT_FALSE( | 63 EXPECT_FALSE( |
| 62 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 64 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 63 EXPECT_FALSE(content_settings->IsContentBlocked( | 65 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 64 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 66 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 65 EXPECT_FALSE(content_settings->IsContentBlocked( | 67 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 66 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 68 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 67 | 69 |
| 68 // Set a cookie, block access to images, block mediastream access and block a | 70 // Set a cookie, block access to images, block mediastream access and block a |
| 69 // popup. | 71 // popup. |
| 70 content_settings->OnCookieChanged(GURL("http://google.com"), | 72 content_settings->OnCookieChanged(GURL("http://google.com"), |
| 71 GURL("http://google.com"), | 73 GURL("http://google.com"), |
| 72 "A=B", | 74 "A=B", |
| 73 options, | 75 options, |
| 74 false); | 76 false); |
| 75 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES); | 77 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES); |
| 76 content_settings->SetPopupsBlocked(true); | 78 content_settings->SetPopupsBlocked(true); |
| 77 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC); | 79 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC); |
| 78 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); | 80 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA); |
| 79 | 81 |
| 80 // Check that only the respective content types are affected. | 82 // Check that only the respective content types are affected. |
| 81 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 83 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 82 EXPECT_FALSE( | 84 EXPECT_FALSE( |
| 83 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 85 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 84 EXPECT_FALSE( | 86 EXPECT_FALSE( |
| 87 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIA)); |
| 88 EXPECT_FALSE( |
| 85 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | 89 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 86 EXPECT_FALSE( | 90 EXPECT_FALSE( |
| 87 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 91 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 88 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 92 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 89 EXPECT_TRUE(content_settings->IsContentBlocked( | 93 EXPECT_TRUE(content_settings->IsContentBlocked( |
| 90 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 94 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 91 EXPECT_TRUE(content_settings->IsContentBlocked( | 95 EXPECT_TRUE(content_settings->IsContentBlocked( |
| 92 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 96 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 93 content_settings->OnCookieChanged(GURL("http://google.com"), | 97 content_settings->OnCookieChanged(GURL("http://google.com"), |
| 94 GURL("http://google.com"), | 98 GURL("http://google.com"), |
| 95 "A=B", | 99 "A=B", |
| 96 options, | 100 options, |
| 97 false); | 101 false); |
| 98 | 102 |
| 99 // Block a cookie. | 103 // Block a cookie. |
| 100 content_settings->OnCookieChanged(GURL("http://google.com"), | 104 content_settings->OnCookieChanged(GURL("http://google.com"), |
| 101 GURL("http://google.com"), | 105 GURL("http://google.com"), |
| 102 "C=D", | 106 "C=D", |
| 103 options, | 107 options, |
| 104 true); | 108 true); |
| 105 EXPECT_TRUE( | 109 EXPECT_TRUE( |
| 106 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 110 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 107 | 111 |
| 112 // Block media. |
| 113 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIA); |
| 114 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIA)); |
| 115 |
| 108 // Reset blocked content settings. | 116 // Reset blocked content settings. |
| 109 content_settings->ClearBlockedContentSettingsExceptForCookies(); | 117 content_settings->ClearBlockedContentSettingsExceptForCookies(); |
| 110 EXPECT_FALSE( | 118 EXPECT_FALSE( |
| 111 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 119 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 112 EXPECT_FALSE( | 120 EXPECT_FALSE( |
| 113 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 121 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 114 EXPECT_FALSE( | 122 EXPECT_FALSE( |
| 123 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIA)); |
| 124 EXPECT_FALSE( |
| 115 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | 125 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 116 EXPECT_TRUE( | 126 EXPECT_TRUE( |
| 117 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 127 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 118 EXPECT_FALSE( | 128 EXPECT_FALSE( |
| 119 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 129 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 120 EXPECT_FALSE(content_settings->IsContentBlocked( | 130 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 121 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 131 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 122 EXPECT_FALSE(content_settings->IsContentBlocked( | 132 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 123 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 133 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 124 | 134 |
| 125 content_settings->ClearCookieSpecificContentSettings(); | 135 content_settings->ClearCookieSpecificContentSettings(); |
| 126 EXPECT_FALSE( | 136 EXPECT_FALSE( |
| 127 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 137 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 128 EXPECT_FALSE( | 138 EXPECT_FALSE( |
| 129 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 139 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 130 EXPECT_FALSE( | 140 EXPECT_FALSE( |
| 141 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_MEDIA)); |
| 142 EXPECT_FALSE( |
| 131 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | 143 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 132 EXPECT_FALSE( | 144 EXPECT_FALSE( |
| 133 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 145 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 134 EXPECT_FALSE( | 146 EXPECT_FALSE( |
| 135 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 147 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 136 EXPECT_FALSE(content_settings->IsContentBlocked( | 148 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 137 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 149 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 138 EXPECT_FALSE(content_settings->IsContentBlocked( | 150 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 139 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 151 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 140 } | 152 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 156 | 168 |
| 157 TEST_F(TabSpecificContentSettingsTest, AllowedContent) { | 169 TEST_F(TabSpecificContentSettingsTest, AllowedContent) { |
| 158 TabSpecificContentSettings* content_settings = | 170 TabSpecificContentSettings* content_settings = |
| 159 TabSpecificContentSettings::FromWebContents(web_contents()); | 171 TabSpecificContentSettings::FromWebContents(web_contents()); |
| 160 net::CookieOptions options; | 172 net::CookieOptions options; |
| 161 | 173 |
| 162 // Test default settings. | 174 // Test default settings. |
| 163 ASSERT_FALSE( | 175 ASSERT_FALSE( |
| 164 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_IMAGES)); | 176 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 165 ASSERT_FALSE( | 177 ASSERT_FALSE( |
| 178 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_MEDIA)); |
| 179 ASSERT_FALSE( |
| 166 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); | 180 content_settings->IsContentAllowed(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 167 ASSERT_FALSE( | 181 ASSERT_FALSE( |
| 168 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 182 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 169 ASSERT_FALSE(content_settings->IsContentAllowed( | 183 ASSERT_FALSE(content_settings->IsContentAllowed( |
| 170 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 184 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 171 ASSERT_FALSE(content_settings->IsContentAllowed( | 185 ASSERT_FALSE(content_settings->IsContentAllowed( |
| 172 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 186 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 173 | 187 |
| 174 // Record a cookie. | 188 // Record a cookie. |
| 175 content_settings->OnCookieChanged(GURL("http://google.com"), | 189 content_settings->OnCookieChanged(GURL("http://google.com"), |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 base::UTF8ToUTF16("text"), | 387 base::UTF8ToUTF16("text"), |
| 374 blocked_by_policy); | 388 blocked_by_policy); |
| 375 content_settings->OnLocalStorageAccessed(GURL("http://google.com"), | 389 content_settings->OnLocalStorageAccessed(GURL("http://google.com"), |
| 376 true, | 390 true, |
| 377 blocked_by_policy); | 391 blocked_by_policy); |
| 378 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), | 392 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), |
| 379 base::UTF8ToUTF16("name"), | 393 base::UTF8ToUTF16("name"), |
| 380 base::UTF8ToUTF16("display_name"), | 394 base::UTF8ToUTF16("display_name"), |
| 381 blocked_by_policy); | 395 blocked_by_policy); |
| 382 } | 396 } |
| OLD | NEW |