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

Side by Side Diff: chrome/browser/permissions/permission_context_base_unittest.cc

Issue 2110343002: Reintroduce plumbing for user gesture into permission system. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Formatting Created 4 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/permissions/permission_context_base.h" 5 #include "chrome/browser/permissions/permission_context_base.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 profile(), content::PermissionType::NOTIFICATIONS, 145 profile(), content::PermissionType::NOTIFICATIONS,
146 CONTENT_SETTINGS_TYPE_NOTIFICATIONS); 146 CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
147 GURL url("http://www.google.com"); 147 GURL url("http://www.google.com");
148 NavigateAndCommit(url); 148 NavigateAndCommit(url);
149 149
150 const PermissionRequestID id( 150 const PermissionRequestID id(
151 web_contents()->GetRenderProcessHost()->GetID(), 151 web_contents()->GetRenderProcessHost()->GetID(),
152 web_contents()->GetMainFrame()->GetRoutingID(), 152 web_contents()->GetMainFrame()->GetRoutingID(),
153 -1); 153 -1);
154 permission_context.RequestPermission( 154 permission_context.RequestPermission(
155 web_contents(), id, url, 155 web_contents(),
156 id, url, true,
dominickn 2016/07/01 01:28:28 Nit: add /* user gesture */ comments?
benwells 2016/07/01 01:56:29 Done.
156 base::Bind(&TestPermissionContext::TrackPermissionDecision, 157 base::Bind(&TestPermissionContext::TrackPermissionDecision,
157 base::Unretained(&permission_context))); 158 base::Unretained(&permission_context)));
158 159
159 RespondToPermission(&permission_context, id, url, CONTENT_SETTING_ALLOW); 160 RespondToPermission(&permission_context, id, url, CONTENT_SETTING_ALLOW);
160 EXPECT_EQ(1u, permission_context.decisions().size()); 161 EXPECT_EQ(1u, permission_context.decisions().size());
161 EXPECT_EQ(CONTENT_SETTING_ALLOW, permission_context.decisions()[0]); 162 EXPECT_EQ(CONTENT_SETTING_ALLOW, permission_context.decisions()[0]);
162 EXPECT_TRUE(permission_context.tab_context_updated()); 163 EXPECT_TRUE(permission_context.tab_context_updated());
163 EXPECT_EQ(CONTENT_SETTING_ALLOW, 164 EXPECT_EQ(CONTENT_SETTING_ALLOW,
164 permission_context.GetContentSettingFromMap(url, url)); 165 permission_context.GetContentSettingFromMap(url, url));
165 } 166 }
166 167
167 void TestAskAndDismiss_TestContent() { 168 void TestAskAndDismiss_TestContent() {
168 TestPermissionContext permission_context( 169 TestPermissionContext permission_context(
169 profile(), content::PermissionType::MIDI_SYSEX, 170 profile(), content::PermissionType::MIDI_SYSEX,
170 CONTENT_SETTINGS_TYPE_MIDI_SYSEX); 171 CONTENT_SETTINGS_TYPE_MIDI_SYSEX);
171 GURL url("http://www.google.es"); 172 GURL url("http://www.google.es");
172 NavigateAndCommit(url); 173 NavigateAndCommit(url);
173 174
174 const PermissionRequestID id( 175 const PermissionRequestID id(
175 web_contents()->GetRenderProcessHost()->GetID(), 176 web_contents()->GetRenderProcessHost()->GetID(),
176 web_contents()->GetMainFrame()->GetRoutingID(), 177 web_contents()->GetMainFrame()->GetRoutingID(),
177 -1); 178 -1);
178 permission_context.RequestPermission( 179 permission_context.RequestPermission(
179 web_contents(), id, url, 180 web_contents(),
181 id, url, true,
180 base::Bind(&TestPermissionContext::TrackPermissionDecision, 182 base::Bind(&TestPermissionContext::TrackPermissionDecision,
181 base::Unretained(&permission_context))); 183 base::Unretained(&permission_context)));
182 184
183 RespondToPermission(&permission_context, id, url, CONTENT_SETTING_ASK); 185 RespondToPermission(&permission_context, id, url, CONTENT_SETTING_ASK);
184 EXPECT_EQ(1u, permission_context.decisions().size()); 186 EXPECT_EQ(1u, permission_context.decisions().size());
185 EXPECT_EQ(CONTENT_SETTING_ASK, permission_context.decisions()[0]); 187 EXPECT_EQ(CONTENT_SETTING_ASK, permission_context.decisions()[0]);
186 EXPECT_TRUE(permission_context.tab_context_updated()); 188 EXPECT_TRUE(permission_context.tab_context_updated());
187 EXPECT_EQ(CONTENT_SETTING_ASK, 189 EXPECT_EQ(CONTENT_SETTING_ASK,
188 permission_context.GetContentSettingFromMap(url, url)); 190 permission_context.GetContentSettingFromMap(url, url));
189 } 191 }
190 192
191 void TestRequestPermissionInvalidUrl( 193 void TestRequestPermissionInvalidUrl(
192 content::PermissionType permission_type, 194 content::PermissionType permission_type,
193 ContentSettingsType content_settings_type) { 195 ContentSettingsType content_settings_type) {
194 TestPermissionContext permission_context(profile(), permission_type, 196 TestPermissionContext permission_context(profile(), permission_type,
195 content_settings_type); 197 content_settings_type);
196 GURL url; 198 GURL url;
197 ASSERT_FALSE(url.is_valid()); 199 ASSERT_FALSE(url.is_valid());
198 NavigateAndCommit(url); 200 NavigateAndCommit(url);
199 201
200 const PermissionRequestID id( 202 const PermissionRequestID id(
201 web_contents()->GetRenderProcessHost()->GetID(), 203 web_contents()->GetRenderProcessHost()->GetID(),
202 web_contents()->GetMainFrame()->GetRoutingID(), 204 web_contents()->GetMainFrame()->GetRoutingID(),
203 -1); 205 -1);
204 permission_context.RequestPermission( 206 permission_context.RequestPermission(
205 web_contents(), id, url, 207 web_contents(),
208 id, url, true,
206 base::Bind(&TestPermissionContext::TrackPermissionDecision, 209 base::Bind(&TestPermissionContext::TrackPermissionDecision,
207 base::Unretained(&permission_context))); 210 base::Unretained(&permission_context)));
208 211
209 EXPECT_EQ(1u, permission_context.decisions().size()); 212 EXPECT_EQ(1u, permission_context.decisions().size());
210 EXPECT_EQ(CONTENT_SETTING_BLOCK, permission_context.decisions()[0]); 213 EXPECT_EQ(CONTENT_SETTING_BLOCK, permission_context.decisions()[0]);
211 EXPECT_TRUE(permission_context.tab_context_updated()); 214 EXPECT_TRUE(permission_context.tab_context_updated());
212 EXPECT_EQ(CONTENT_SETTING_ASK, 215 EXPECT_EQ(CONTENT_SETTING_ASK,
213 permission_context.GetContentSettingFromMap(url, url)); 216 permission_context.GetContentSettingFromMap(url, url));
214 } 217 }
215 218
216 void TestGrantAndRevoke_TestContent(content::PermissionType permission_type, 219 void TestGrantAndRevoke_TestContent(content::PermissionType permission_type,
217 ContentSettingsType content_settings_type, 220 ContentSettingsType content_settings_type,
218 ContentSetting expected_default) { 221 ContentSetting expected_default) {
219 TestPermissionContext permission_context(profile(), permission_type, 222 TestPermissionContext permission_context(profile(), permission_type,
220 content_settings_type); 223 content_settings_type);
221 GURL url("https://www.google.com"); 224 GURL url("https://www.google.com");
222 NavigateAndCommit(url); 225 NavigateAndCommit(url);
223 226
224 const PermissionRequestID id( 227 const PermissionRequestID id(
225 web_contents()->GetRenderProcessHost()->GetID(), 228 web_contents()->GetRenderProcessHost()->GetID(),
226 web_contents()->GetMainFrame()->GetRoutingID(), 229 web_contents()->GetMainFrame()->GetRoutingID(),
227 -1); 230 -1);
228 permission_context.RequestPermission( 231 permission_context.RequestPermission(
229 web_contents(), id, url, 232 web_contents(),
233 id, url, true,
230 base::Bind(&TestPermissionContext::TrackPermissionDecision, 234 base::Bind(&TestPermissionContext::TrackPermissionDecision,
231 base::Unretained(&permission_context))); 235 base::Unretained(&permission_context)));
232 236
233 RespondToPermission(&permission_context, id, url, CONTENT_SETTING_ALLOW); 237 RespondToPermission(&permission_context, id, url, CONTENT_SETTING_ALLOW);
234 EXPECT_EQ(1u, permission_context.decisions().size()); 238 EXPECT_EQ(1u, permission_context.decisions().size());
235 EXPECT_EQ(CONTENT_SETTING_ALLOW, permission_context.decisions()[0]); 239 EXPECT_EQ(CONTENT_SETTING_ALLOW, permission_context.decisions()[0]);
236 EXPECT_TRUE(permission_context.tab_context_updated()); 240 EXPECT_TRUE(permission_context.tab_context_updated());
237 EXPECT_EQ(CONTENT_SETTING_ALLOW, 241 EXPECT_EQ(CONTENT_SETTING_ALLOW,
238 permission_context.GetContentSettingFromMap(url, url)); 242 permission_context.GetContentSettingFromMap(url, url));
239 243
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 NavigateAndCommit(url); 280 NavigateAndCommit(url);
277 281
278 const PermissionRequestID id0( 282 const PermissionRequestID id0(
279 web_contents()->GetRenderProcessHost()->GetID(), 283 web_contents()->GetRenderProcessHost()->GetID(),
280 web_contents()->GetMainFrame()->GetRoutingID(), 0); 284 web_contents()->GetMainFrame()->GetRoutingID(), 0);
281 const PermissionRequestID id1( 285 const PermissionRequestID id1(
282 web_contents()->GetRenderProcessHost()->GetID(), 286 web_contents()->GetRenderProcessHost()->GetID(),
283 web_contents()->GetMainFrame()->GetRoutingID(), 1); 287 web_contents()->GetMainFrame()->GetRoutingID(), 1);
284 288
285 permission_context.RequestPermission( 289 permission_context.RequestPermission(
286 web_contents(), id0, url, 290 web_contents(), id0, url, true,
287 base::Bind(&TestPermissionContext::TrackPermissionDecision, 291 base::Bind(&TestPermissionContext::TrackPermissionDecision,
288 base::Unretained(&permission_context))); 292 base::Unretained(&permission_context)));
289 permission_context.RequestPermission( 293 permission_context.RequestPermission(
290 web_contents(), id1, url, 294 web_contents(), id1, url, true,
291 base::Bind(&TestPermissionContext::TrackPermissionDecision, 295 base::Bind(&TestPermissionContext::TrackPermissionDecision,
292 base::Unretained(&permission_context))); 296 base::Unretained(&permission_context)));
293 297
294 EXPECT_EQ(0u, permission_context.decisions().size()); 298 EXPECT_EQ(0u, permission_context.decisions().size());
295 299
296 RespondToPermission(&permission_context, id0, url, response); 300 RespondToPermission(&permission_context, id0, url, response);
297 301
298 EXPECT_EQ(2u, permission_context.decisions().size()); 302 EXPECT_EQ(2u, permission_context.decisions().size());
299 EXPECT_EQ(response, permission_context.decisions()[0]); 303 EXPECT_EQ(response, permission_context.decisions()[0]);
300 EXPECT_EQ(response, permission_context.decisions()[1]); 304 EXPECT_EQ(response, permission_context.decisions()[1]);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 TestParallelRequests(CONTENT_SETTING_ALLOW); 420 TestParallelRequests(CONTENT_SETTING_ALLOW);
417 } 421 }
418 422
419 TEST_F(PermissionContextBaseTests, TestParallelRequestsBlocked) { 423 TEST_F(PermissionContextBaseTests, TestParallelRequestsBlocked) {
420 TestParallelRequests(CONTENT_SETTING_BLOCK); 424 TestParallelRequests(CONTENT_SETTING_BLOCK);
421 } 425 }
422 426
423 TEST_F(PermissionContextBaseTests, TestParallelRequestsDismissed) { 427 TEST_F(PermissionContextBaseTests, TestParallelRequestsDismissed) {
424 TestParallelRequests(CONTENT_SETTING_ASK); 428 TestParallelRequests(CONTENT_SETTING_ASK);
425 } 429 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698