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 |