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

Side by Side Diff: chrome/browser/extensions/permissions_updater_unittest.cc

Issue 508513002: Remove implicit conversions from scoped_refptr to T* in chrome/browser/extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Two more Created 6 years, 3 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/files/file_path.h" 5 #include "base/files/file_path.h"
6 #include "base/json/json_file_value_serializer.h" 6 #include "base/json/json_file_value_serializer.h"
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 hosts, URLPatternSet()); 211 hosts, URLPatternSet());
212 212
213 PermissionsUpdaterListener listener; 213 PermissionsUpdaterListener listener;
214 PermissionsUpdater updater(profile_.get()); 214 PermissionsUpdater updater(profile_.get());
215 updater.AddPermissions(extension.get(), delta.get()); 215 updater.AddPermissions(extension.get(), delta.get());
216 216
217 listener.Wait(); 217 listener.Wait();
218 218
219 // Verify that the permission notification was sent correctly. 219 // Verify that the permission notification was sent correctly.
220 ASSERT_TRUE(listener.received_notification()); 220 ASSERT_TRUE(listener.received_notification());
221 ASSERT_EQ(extension, listener.extension()); 221 ASSERT_EQ(extension.get(), listener.extension());
222 ASSERT_EQ(UpdatedExtensionPermissionsInfo::ADDED, listener.reason()); 222 ASSERT_EQ(UpdatedExtensionPermissionsInfo::ADDED, listener.reason());
223 ASSERT_EQ(*delta.get(), *listener.permissions()); 223 ASSERT_EQ(*delta.get(), *listener.permissions());
224 224
225 // Make sure the extension's active permissions reflect the change. 225 // Make sure the extension's active permissions reflect the change.
226 scoped_refptr<PermissionSet> active_permissions = 226 scoped_refptr<PermissionSet> active_permissions =
227 PermissionSet::CreateUnion(default_permissions.get(), delta.get()); 227 PermissionSet::CreateUnion(default_permissions.get(), delta.get());
228 ASSERT_EQ(*active_permissions.get(), 228 ASSERT_EQ(*active_permissions.get(),
229 *extension->permissions_data()->active_permissions().get()); 229 *extension->permissions_data()->active_permissions().get());
230 230
231 // Verify that the new granted and active permissions were also stored 231 // Verify that the new granted and active permissions were also stored
(...skipping 15 matching lines...) Expand all
247 apis.erase(APIPermission::kNotifications); 247 apis.erase(APIPermission::kNotifications);
248 delta = new PermissionSet(apis, empty_manifest_permissions, 248 delta = new PermissionSet(apis, empty_manifest_permissions,
249 hosts, URLPatternSet()); 249 hosts, URLPatternSet());
250 250
251 listener.Reset(); 251 listener.Reset();
252 updater.RemovePermissions(extension.get(), delta.get()); 252 updater.RemovePermissions(extension.get(), delta.get());
253 listener.Wait(); 253 listener.Wait();
254 254
255 // Verify that the notification was correct. 255 // Verify that the notification was correct.
256 ASSERT_TRUE(listener.received_notification()); 256 ASSERT_TRUE(listener.received_notification());
257 ASSERT_EQ(extension, listener.extension()); 257 ASSERT_EQ(extension.get(), listener.extension());
258 ASSERT_EQ(UpdatedExtensionPermissionsInfo::REMOVED, listener.reason()); 258 ASSERT_EQ(UpdatedExtensionPermissionsInfo::REMOVED, listener.reason());
259 ASSERT_EQ(*delta.get(), *listener.permissions()); 259 ASSERT_EQ(*delta.get(), *listener.permissions());
260 260
261 // Make sure the extension's active permissions reflect the change. 261 // Make sure the extension's active permissions reflect the change.
262 active_permissions = 262 active_permissions =
263 PermissionSet::CreateDifference(active_permissions.get(), delta.get()); 263 PermissionSet::CreateDifference(active_permissions.get(), delta.get());
264 ASSERT_EQ(*active_permissions.get(), 264 ASSERT_EQ(*active_permissions.get(),
265 *extension->permissions_data()->active_permissions().get()); 265 *extension->permissions_data()->active_permissions().get());
266 266
267 // Verify that the extension prefs hold the new active permissions and the 267 // Verify that the extension prefs hold the new active permissions and the
(...skipping 29 matching lines...) Expand all
297 safe_patterns.insert(google); 297 safe_patterns.insert(google);
298 safe_patterns.insert(sub_google); 298 safe_patterns.insert(sub_google);
299 299
300 std::set<URLPattern> all_patterns = base::STLSetUnion<std::set<URLPattern> >( 300 std::set<URLPattern> all_patterns = base::STLSetUnion<std::set<URLPattern> >(
301 all_host_patterns, safe_patterns); 301 all_host_patterns, safe_patterns);
302 302
303 scoped_refptr<const Extension> extension = CreateExtensionWithPermissions( 303 scoped_refptr<const Extension> extension = CreateExtensionWithPermissions(
304 all_patterns, all_patterns, Manifest::INTERNAL); 304 all_patterns, all_patterns, Manifest::INTERNAL);
305 const PermissionsData* permissions_data = extension->permissions_data(); 305 const PermissionsData* permissions_data = extension->permissions_data();
306 PermissionsUpdater updater(profile_.get()); 306 PermissionsUpdater updater(profile_.get());
307 updater.InitializePermissions(extension); 307 updater.InitializePermissions(extension.get());
308 308
309 // At first, the active permissions should have only the safe patterns and 309 // At first, the active permissions should have only the safe patterns and
310 // the withheld permissions should have only the all host patterns. 310 // the withheld permissions should have only the all host patterns.
311 EXPECT_TRUE(SetsAreEqual( 311 EXPECT_TRUE(SetsAreEqual(
312 permissions_data->active_permissions()->scriptable_hosts().patterns(), 312 permissions_data->active_permissions()->scriptable_hosts().patterns(),
313 safe_patterns)); 313 safe_patterns));
314 EXPECT_TRUE(SetsAreEqual( 314 EXPECT_TRUE(SetsAreEqual(
315 permissions_data->active_permissions()->explicit_hosts().patterns(), 315 permissions_data->active_permissions()->explicit_hosts().patterns(),
316 safe_patterns)); 316 safe_patterns));
317 EXPECT_TRUE(SetsAreEqual( 317 EXPECT_TRUE(SetsAreEqual(
318 permissions_data->withheld_permissions()->scriptable_hosts().patterns(), 318 permissions_data->withheld_permissions()->scriptable_hosts().patterns(),
319 all_host_patterns)); 319 all_host_patterns));
320 EXPECT_TRUE(SetsAreEqual( 320 EXPECT_TRUE(SetsAreEqual(
321 permissions_data->withheld_permissions()->explicit_hosts().patterns(), 321 permissions_data->withheld_permissions()->explicit_hosts().patterns(),
322 all_host_patterns)); 322 all_host_patterns));
323 323
324 // Then, we grant the withheld all-hosts permissions. 324 // Then, we grant the withheld all-hosts permissions.
325 updater.GrantWithheldImpliedAllHosts(extension); 325 updater.GrantWithheldImpliedAllHosts(extension.get());
326 // Now, active permissions should have all patterns, and withheld permissions 326 // Now, active permissions should have all patterns, and withheld permissions
327 // should have none. 327 // should have none.
328 EXPECT_TRUE(SetsAreEqual( 328 EXPECT_TRUE(SetsAreEqual(
329 permissions_data->active_permissions()->scriptable_hosts().patterns(), 329 permissions_data->active_permissions()->scriptable_hosts().patterns(),
330 all_patterns)); 330 all_patterns));
331 EXPECT_TRUE(permissions_data->withheld_permissions() 331 EXPECT_TRUE(permissions_data->withheld_permissions()
332 ->scriptable_hosts() 332 ->scriptable_hosts()
333 .patterns() 333 .patterns()
334 .empty()); 334 .empty());
335 EXPECT_TRUE(SetsAreEqual( 335 EXPECT_TRUE(SetsAreEqual(
336 permissions_data->active_permissions()->explicit_hosts().patterns(), 336 permissions_data->active_permissions()->explicit_hosts().patterns(),
337 all_patterns)); 337 all_patterns));
338 EXPECT_TRUE(permissions_data->withheld_permissions() 338 EXPECT_TRUE(permissions_data->withheld_permissions()
339 ->explicit_hosts() 339 ->explicit_hosts()
340 .patterns() 340 .patterns()
341 .empty()); 341 .empty());
342 342
343 // Finally, we revoke the all hosts permissions. 343 // Finally, we revoke the all hosts permissions.
344 updater.WithholdImpliedAllHosts(extension); 344 updater.WithholdImpliedAllHosts(extension.get());
345 345
346 // We should be back to our initial state - all_hosts should be withheld, and 346 // We should be back to our initial state - all_hosts should be withheld, and
347 // the safe patterns should be granted. 347 // the safe patterns should be granted.
348 EXPECT_TRUE(SetsAreEqual( 348 EXPECT_TRUE(SetsAreEqual(
349 permissions_data->active_permissions()->scriptable_hosts().patterns(), 349 permissions_data->active_permissions()->scriptable_hosts().patterns(),
350 safe_patterns)); 350 safe_patterns));
351 EXPECT_TRUE(SetsAreEqual( 351 EXPECT_TRUE(SetsAreEqual(
352 permissions_data->active_permissions()->explicit_hosts().patterns(), 352 permissions_data->active_permissions()->explicit_hosts().patterns(),
353 safe_patterns)); 353 safe_patterns));
354 EXPECT_TRUE(SetsAreEqual( 354 EXPECT_TRUE(SetsAreEqual(
355 permissions_data->withheld_permissions()->scriptable_hosts().patterns(), 355 permissions_data->withheld_permissions()->scriptable_hosts().patterns(),
356 all_host_patterns)); 356 all_host_patterns));
357 EXPECT_TRUE(SetsAreEqual( 357 EXPECT_TRUE(SetsAreEqual(
358 permissions_data->withheld_permissions()->explicit_hosts().patterns(), 358 permissions_data->withheld_permissions()->explicit_hosts().patterns(),
359 all_host_patterns)); 359 all_host_patterns));
360 360
361 // Creating a component extension should result in no withheld permissions. 361 // Creating a component extension should result in no withheld permissions.
362 extension = CreateExtensionWithPermissions( 362 extension = CreateExtensionWithPermissions(
363 all_patterns, all_patterns, Manifest::COMPONENT); 363 all_patterns, all_patterns, Manifest::COMPONENT);
364 permissions_data = extension->permissions_data(); 364 permissions_data = extension->permissions_data();
365 updater.InitializePermissions(extension); 365 updater.InitializePermissions(extension.get());
366 EXPECT_TRUE(SetsAreEqual( 366 EXPECT_TRUE(SetsAreEqual(
367 permissions_data->active_permissions()->scriptable_hosts().patterns(), 367 permissions_data->active_permissions()->scriptable_hosts().patterns(),
368 all_patterns)); 368 all_patterns));
369 EXPECT_TRUE(permissions_data->withheld_permissions() 369 EXPECT_TRUE(permissions_data->withheld_permissions()
370 ->scriptable_hosts() 370 ->scriptable_hosts()
371 .patterns() 371 .patterns()
372 .empty()); 372 .empty());
373 EXPECT_TRUE(SetsAreEqual( 373 EXPECT_TRUE(SetsAreEqual(
374 permissions_data->active_permissions()->explicit_hosts().patterns(), 374 permissions_data->active_permissions()->explicit_hosts().patterns(),
375 all_patterns)); 375 all_patterns));
376 EXPECT_TRUE(permissions_data->withheld_permissions() 376 EXPECT_TRUE(permissions_data->withheld_permissions()
377 ->explicit_hosts() 377 ->explicit_hosts()
378 .patterns() 378 .patterns()
379 .empty()); 379 .empty());
380 380
381 // Without the switch, we shouldn't withhold anything. 381 // Without the switch, we shouldn't withhold anything.
382 switch_override.reset(); 382 switch_override.reset();
383 extension = CreateExtensionWithPermissions( 383 extension = CreateExtensionWithPermissions(
384 all_patterns, all_patterns, Manifest::INTERNAL); 384 all_patterns, all_patterns, Manifest::INTERNAL);
385 permissions_data = extension->permissions_data(); 385 permissions_data = extension->permissions_data();
386 updater.InitializePermissions(extension); 386 updater.InitializePermissions(extension.get());
387 EXPECT_TRUE(SetsAreEqual( 387 EXPECT_TRUE(SetsAreEqual(
388 permissions_data->active_permissions()->scriptable_hosts().patterns(), 388 permissions_data->active_permissions()->scriptable_hosts().patterns(),
389 all_patterns)); 389 all_patterns));
390 EXPECT_TRUE(permissions_data->withheld_permissions() 390 EXPECT_TRUE(permissions_data->withheld_permissions()
391 ->scriptable_hosts() 391 ->scriptable_hosts()
392 .patterns() 392 .patterns()
393 .empty()); 393 .empty());
394 EXPECT_TRUE(SetsAreEqual( 394 EXPECT_TRUE(SetsAreEqual(
395 permissions_data->active_permissions()->explicit_hosts().patterns(), 395 permissions_data->active_permissions()->explicit_hosts().patterns(),
396 all_patterns)); 396 all_patterns));
397 EXPECT_TRUE(permissions_data->withheld_permissions() 397 EXPECT_TRUE(permissions_data->withheld_permissions()
398 ->explicit_hosts() 398 ->explicit_hosts()
399 .patterns() 399 .patterns()
400 .empty()); 400 .empty());
401 } 401 }
402 402
403 } // namespace extensions 403 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698