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

Side by Side Diff: chrome/common/extensions/permissions/permissions_data_unittest.cc

Issue 51433002: Enable permission warnings from ManifestHandlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unit test and clang presubmit errors. Created 7 years, 1 month 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <vector> 5 #include <vector>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 http_url.spec())); 541 http_url.spec()));
542 std::set<GURL> allowed_urls; 542 std::set<GURL> allowed_urls;
543 allowed_urls.insert(http_url); 543 allowed_urls.insert(http_url);
544 // http_url_with_path() will also be allowed, because Extension should be 544 // http_url_with_path() will also be allowed, because Extension should be
545 // considering the security origin of the URL not the URL itself, and 545 // considering the security origin of the URL not the URL itself, and
546 // http_url is in allowed_hosts. 546 // http_url is in allowed_hosts.
547 allowed_urls.insert(http_url_with_path); 547 allowed_urls.insert(http_url_with_path);
548 548
549 { 549 {
550 scoped_refptr<PermissionSet> permissions( 550 scoped_refptr<PermissionSet> permissions(
551 new PermissionSet(APIPermissionSet(), allowed_hosts, URLPatternSet())); 551 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(),
552 allowed_hosts, URLPatternSet()));
552 PermissionsData::UpdateTabSpecificPermissions( 553 PermissionsData::UpdateTabSpecificPermissions(
553 extension.get(), 0, permissions); 554 extension.get(), 0, permissions);
554 EXPECT_EQ(permissions->explicit_hosts(), 555 EXPECT_EQ(permissions->explicit_hosts(),
555 PermissionsData::GetTabSpecificPermissions(extension.get(), 0) 556 PermissionsData::GetTabSpecificPermissions(extension.get(), 0)
556 ->explicit_hosts()); 557 ->explicit_hosts());
557 } 558 }
558 559
559 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); 560 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0));
560 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); 561 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1));
561 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); 562 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2));
562 563
563 PermissionsData::ClearTabSpecificPermissions(extension.get(), 0); 564 PermissionsData::ClearTabSpecificPermissions(extension.get(), 0);
564 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0) 565 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0)
565 .get()); 566 .get());
566 567
567 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); 568 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0));
568 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); 569 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1));
569 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); 570 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2));
570 571
571 std::set<GURL> more_allowed_urls = allowed_urls; 572 std::set<GURL> more_allowed_urls = allowed_urls;
572 more_allowed_urls.insert(https_url); 573 more_allowed_urls.insert(https_url);
573 URLPatternSet more_allowed_hosts = allowed_hosts; 574 URLPatternSet more_allowed_hosts = allowed_hosts;
574 more_allowed_hosts.AddPattern(URLPattern(URLPattern::SCHEME_ALL, 575 more_allowed_hosts.AddPattern(URLPattern(URLPattern::SCHEME_ALL,
575 https_url.spec())); 576 https_url.spec()));
576 577
577 { 578 {
578 scoped_refptr<PermissionSet> permissions( 579 scoped_refptr<PermissionSet> permissions(
579 new PermissionSet(APIPermissionSet(), allowed_hosts, URLPatternSet())); 580 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(),
581 allowed_hosts, URLPatternSet()));
580 PermissionsData::UpdateTabSpecificPermissions( 582 PermissionsData::UpdateTabSpecificPermissions(
581 extension.get(), 0, permissions); 583 extension.get(), 0, permissions);
582 EXPECT_EQ(permissions->explicit_hosts(), 584 EXPECT_EQ(permissions->explicit_hosts(),
583 PermissionsData::GetTabSpecificPermissions(extension.get(), 0) 585 PermissionsData::GetTabSpecificPermissions(extension.get(), 0)
584 ->explicit_hosts()); 586 ->explicit_hosts());
585 587
586 permissions = new PermissionSet(APIPermissionSet(), 588 permissions = new PermissionSet(APIPermissionSet(),
589 ManifestPermissionSet(),
587 more_allowed_hosts, 590 more_allowed_hosts,
588 URLPatternSet()); 591 URLPatternSet());
589 PermissionsData::UpdateTabSpecificPermissions( 592 PermissionsData::UpdateTabSpecificPermissions(
590 extension.get(), 1, permissions); 593 extension.get(), 1, permissions);
591 EXPECT_EQ(permissions->explicit_hosts(), 594 EXPECT_EQ(permissions->explicit_hosts(),
592 PermissionsData::GetTabSpecificPermissions(extension.get(), 1) 595 PermissionsData::GetTabSpecificPermissions(extension.get(), 1)
593 ->explicit_hosts()); 596 ->explicit_hosts());
594 } 597 }
595 598
596 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); 599 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0));
(...skipping 11 matching lines...) Expand all
608 PermissionsData::ClearTabSpecificPermissions(extension.get(), 1); 611 PermissionsData::ClearTabSpecificPermissions(extension.get(), 1);
609 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1) 612 EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1)
610 .get()); 613 .get());
611 614
612 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); 615 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0));
613 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); 616 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1));
614 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); 617 EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2));
615 } 618 }
616 619
617 } // namespace extensions 620 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/common/extensions/permissions/permissions_data.cc ('k') | chrome/renderer/extensions/dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698