| 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/macros.h" | 5 #include "base/macros.h" |
| 6 #include "base/strings/string16.h" | 6 #include "base/strings/string16.h" |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 8 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| 9 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 9 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
| 10 #include "chrome/test/base/testing_profile.h" | 10 #include "chrome/test/base/testing_profile.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 TabSpecificContentSettings::CreateForWebContents(web_contents()); | 44 TabSpecificContentSettings::CreateForWebContents(web_contents()); |
| 45 } | 45 } |
| 46 }; | 46 }; |
| 47 | 47 |
| 48 TEST_F(TabSpecificContentSettingsTest, BlockedContent) { | 48 TEST_F(TabSpecificContentSettingsTest, BlockedContent) { |
| 49 TabSpecificContentSettings* content_settings = | 49 TabSpecificContentSettings* content_settings = |
| 50 TabSpecificContentSettings::FromWebContents(web_contents()); | 50 TabSpecificContentSettings::FromWebContents(web_contents()); |
| 51 net::CookieOptions options; | 51 net::CookieOptions options; |
| 52 | 52 |
| 53 // Check that after initializing, nothing is blocked. | 53 // Check that after initializing, nothing is blocked. |
| 54 #if !defined(OS_ANDROID) |
| 54 EXPECT_FALSE( | 55 EXPECT_FALSE( |
| 55 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 56 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 56 EXPECT_FALSE( | 57 EXPECT_FALSE( |
| 58 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 59 #endif |
| 60 EXPECT_FALSE( |
| 57 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 61 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 58 EXPECT_FALSE( | 62 EXPECT_FALSE( |
| 59 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | |
| 60 EXPECT_FALSE( | |
| 61 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 63 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 62 EXPECT_FALSE( | 64 EXPECT_FALSE( |
| 63 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 65 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 64 EXPECT_FALSE(content_settings->IsContentBlocked( | 66 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 65 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 67 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 66 EXPECT_FALSE(content_settings->IsContentBlocked( | 68 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 67 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 69 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 68 EXPECT_FALSE( | 70 EXPECT_FALSE( |
| 69 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); | 71 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); |
| 70 | 72 |
| 71 // Set a cookie, block access to images, block mediastream access and block a | 73 // Set a cookie, block access to images, block mediastream access and block a |
| 72 // popup. | 74 // popup. |
| 73 content_settings->OnCookieChanged(GURL("http://google.com"), | 75 content_settings->OnCookieChanged(GURL("http://google.com"), |
| 74 GURL("http://google.com"), | 76 GURL("http://google.com"), |
| 75 "A=B", | 77 "A=B", |
| 76 options, | 78 options, |
| 77 false); | 79 false); |
| 80 #if !defined(OS_ANDROID) |
| 78 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES); | 81 content_settings->OnContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES); |
| 82 #endif |
| 79 content_settings->SetPopupsBlocked(true); | 83 content_settings->SetPopupsBlocked(true); |
| 80 TabSpecificContentSettings::MicrophoneCameraState | 84 TabSpecificContentSettings::MicrophoneCameraState |
| 81 blocked_microphone_camera_state = | 85 blocked_microphone_camera_state = |
| 82 TabSpecificContentSettings::MICROPHONE_ACCESSED | | 86 TabSpecificContentSettings::MICROPHONE_ACCESSED | |
| 83 TabSpecificContentSettings::MICROPHONE_BLOCKED | | 87 TabSpecificContentSettings::MICROPHONE_BLOCKED | |
| 84 TabSpecificContentSettings::CAMERA_ACCESSED | | 88 TabSpecificContentSettings::CAMERA_ACCESSED | |
| 85 TabSpecificContentSettings::CAMERA_BLOCKED; | 89 TabSpecificContentSettings::CAMERA_BLOCKED; |
| 86 content_settings->OnMediaStreamPermissionSet(GURL("http://google.com"), | 90 content_settings->OnMediaStreamPermissionSet(GURL("http://google.com"), |
| 87 blocked_microphone_camera_state, | 91 blocked_microphone_camera_state, |
| 88 std::string(), | 92 std::string(), |
| 89 std::string(), | 93 std::string(), |
| 90 std::string(), | 94 std::string(), |
| 91 std::string()); | 95 std::string()); |
| 92 | 96 |
| 93 // Check that only the respective content types are affected. | 97 // Check that only the respective content types are affected. |
| 98 #if !defined(OS_ANDROID) |
| 94 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 99 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 95 EXPECT_FALSE( | 100 EXPECT_FALSE( |
| 101 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 102 #endif |
| 103 EXPECT_FALSE( |
| 96 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 104 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 97 EXPECT_FALSE( | 105 EXPECT_FALSE( |
| 98 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | |
| 99 EXPECT_FALSE( | |
| 100 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 106 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 101 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 107 EXPECT_TRUE(content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 102 EXPECT_TRUE(content_settings->IsContentBlocked( | 108 EXPECT_TRUE(content_settings->IsContentBlocked( |
| 103 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 109 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 104 EXPECT_TRUE(content_settings->IsContentBlocked( | 110 EXPECT_TRUE(content_settings->IsContentBlocked( |
| 105 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 111 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 106 EXPECT_FALSE( | 112 EXPECT_FALSE( |
| 107 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); | 113 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); |
| 108 content_settings->OnCookieChanged(GURL("http://google.com"), | 114 content_settings->OnCookieChanged(GURL("http://google.com"), |
| 109 GURL("http://google.com"), | 115 GURL("http://google.com"), |
| 110 "A=B", | 116 "A=B", |
| 111 options, | 117 options, |
| 112 false); | 118 false); |
| 113 | 119 |
| 114 // Block a cookie. | 120 // Block a cookie. |
| 115 content_settings->OnCookieChanged(GURL("http://google.com"), | 121 content_settings->OnCookieChanged(GURL("http://google.com"), |
| 116 GURL("http://google.com"), | 122 GURL("http://google.com"), |
| 117 "C=D", | 123 "C=D", |
| 118 options, | 124 options, |
| 119 true); | 125 true); |
| 120 EXPECT_TRUE( | 126 EXPECT_TRUE( |
| 121 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 127 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 122 | 128 |
| 123 // Reset blocked content settings. | 129 // Reset blocked content settings. |
| 124 content_settings->ClearBlockedContentSettingsExceptForCookies(); | 130 content_settings->ClearBlockedContentSettingsExceptForCookies(); |
| 131 #if !defined(OS_ANDROID) |
| 125 EXPECT_FALSE( | 132 EXPECT_FALSE( |
| 126 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 133 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 127 EXPECT_FALSE( | 134 EXPECT_FALSE( |
| 135 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 136 #endif |
| 137 EXPECT_FALSE( |
| 128 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 138 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 129 EXPECT_FALSE( | |
| 130 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | |
| 131 EXPECT_TRUE( | 139 EXPECT_TRUE( |
| 132 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 140 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 133 EXPECT_FALSE( | 141 EXPECT_FALSE( |
| 134 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 142 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 135 EXPECT_FALSE(content_settings->IsContentBlocked( | 143 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 136 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 144 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 137 EXPECT_FALSE(content_settings->IsContentBlocked( | 145 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 138 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 146 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 139 EXPECT_FALSE( | 147 EXPECT_FALSE( |
| 140 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); | 148 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); |
| 141 | 149 |
| 142 content_settings->ClearCookieSpecificContentSettings(); | 150 content_settings->ClearCookieSpecificContentSettings(); |
| 151 #if !defined(OS_ANDROID) |
| 143 EXPECT_FALSE( | 152 EXPECT_FALSE( |
| 144 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); | 153 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_IMAGES)); |
| 145 EXPECT_FALSE( | 154 EXPECT_FALSE( |
| 155 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); |
| 156 #endif |
| 157 EXPECT_FALSE( |
| 146 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); | 158 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_JAVASCRIPT)); |
| 147 EXPECT_FALSE( | 159 EXPECT_FALSE( |
| 148 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_PLUGINS)); | |
| 149 EXPECT_FALSE( | |
| 150 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); | 160 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_COOKIES)); |
| 151 EXPECT_FALSE( | 161 EXPECT_FALSE( |
| 152 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); | 162 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_POPUPS)); |
| 153 EXPECT_FALSE(content_settings->IsContentBlocked( | 163 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 154 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); | 164 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC)); |
| 155 EXPECT_FALSE(content_settings->IsContentBlocked( | 165 EXPECT_FALSE(content_settings->IsContentBlocked( |
| 156 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); | 166 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA)); |
| 157 EXPECT_FALSE( | 167 EXPECT_FALSE( |
| 158 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); | 168 content_settings->IsContentBlocked(CONTENT_SETTINGS_TYPE_KEYGEN)); |
| 159 } | 169 } |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 base::UTF8ToUTF16("text"), | 269 base::UTF8ToUTF16("text"), |
| 260 blocked_by_policy); | 270 blocked_by_policy); |
| 261 content_settings->OnLocalStorageAccessed(GURL("http://google.com"), | 271 content_settings->OnLocalStorageAccessed(GURL("http://google.com"), |
| 262 true, | 272 true, |
| 263 blocked_by_policy); | 273 blocked_by_policy); |
| 264 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), | 274 content_settings->OnWebDatabaseAccessed(GURL("http://google.com"), |
| 265 base::UTF8ToUTF16("name"), | 275 base::UTF8ToUTF16("name"), |
| 266 base::UTF8ToUTF16("display_name"), | 276 base::UTF8ToUTF16("display_name"), |
| 267 blocked_by_policy); | 277 blocked_by_policy); |
| 268 } | 278 } |
| OLD | NEW |