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

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

Issue 1042793003: Extensions: Switch to new permission message system, part II (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permissions_switch
Patch Set: Created 5 years, 8 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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/json/json_file_value_serializer.h" 6 #include "base/json/json_file_value_serializer.h"
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/common/chrome_paths.h" 10 #include "chrome/common/chrome_paths.h"
10 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
11 #include "chrome/common/extensions/extension_test_util.h" 12 #include "chrome/common/extensions/extension_test_util.h"
12 #include "chrome/common/extensions/features/feature_channel.h" 13 #include "chrome/common/extensions/features/feature_channel.h"
13 #include "chrome/common/extensions/permissions/chrome_permission_message_provide r.h" 14 #include "chrome/common/extensions/permissions/chrome_permission_message_provide r.h"
14 #include "chrome/grit/generated_resources.h" 15 #include "chrome/grit/generated_resources.h"
15 #include "extensions/common/error_utils.h" 16 #include "extensions/common/error_utils.h"
16 #include "extensions/common/extension.h" 17 #include "extensions/common/extension.h"
17 #include "extensions/common/extension_builder.h" 18 #include "extensions/common/extension_builder.h"
(...skipping 763 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 if (skip.count(i->id())) { 782 if (skip.count(i->id())) {
782 EXPECT_EQ(PermissionMessage::kNone, permission_info->message_id()) 783 EXPECT_EQ(PermissionMessage::kNone, permission_info->message_id())
783 << "unexpected message_id for " << permission_info->name(); 784 << "unexpected message_id for " << permission_info->name();
784 } else { 785 } else {
785 EXPECT_NE(PermissionMessage::kNone, permission_info->message_id()) 786 EXPECT_NE(PermissionMessage::kNone, permission_info->message_id())
786 << "missing message_id for " << permission_info->name(); 787 << "missing message_id for " << permission_info->name();
787 } 788 }
788 } 789 }
789 } 790 }
790 791
792 PermissionIDSet MakePermissionIDSet(APIPermission::ID id1) {
Devlin 2015/04/02 21:00:23 Can you move all of these to the anonymous namespa
Marc Treib 2015/04/07 11:34:47 Done.
793 PermissionIDSet set;
794 set.insert(id1);
795 return set;
796 }
797
798 PermissionIDSet MakePermissionIDSet(APIPermission::ID id1,
799 APIPermission::ID id2) {
800 PermissionIDSet set;
801 set.insert(id1);
802 set.insert(id2);
803 return set;
804 }
805
806 PermissionIDSet MakePermissionIDSet(const APIPermissionSet& permissions) {
807 PermissionIDSet set;
808 for (const APIPermission* permission : permissions)
809 set.insert(permission->id());
810 return set;
811 }
812
813 std::string LegacyPermissionIDsToString(const PermissionMessageIDs& ids) {
814 if (ids.empty())
Devlin 2015/04/02 21:00:23 nit: JoinString just returns "" if there are no st
Marc Treib 2015/04/07 11:34:47 Okay, removed. We'll get some extra spaces in the
815 return "[]";
816 std::vector<std::string> strs;
817 for (const PermissionMessage::ID& id : ids)
818 strs.push_back(base::IntToString(id));
819 return "[ " + JoinString(strs, ", ") + " ]";
Devlin 2015/04/02 21:00:23 nit: please use base::StringPrintf() (as a rule of
Marc Treib 2015/04/07 11:34:47 Done.
820 }
821
822 std::string PermissionIDsToString(const PermissionIDSet& ids) {
823 if (ids.empty())
824 return "[]";
825 std::vector<std::string> strs;
826 for (const PermissionID& id : ids)
827 strs.push_back(base::IntToString(id.id()));
828 return "[ " + JoinString(strs, ", ") + " ]";
829 }
830
831 std::string CoalescedPermissionIDsToString(
832 const CoalescedPermissionMessages& msgs) {
833 std::vector<std::string> strs;
834 for (const CoalescedPermissionMessage& msg : msgs)
835 strs.push_back(PermissionIDsToString(msg.permissions()));
836 return JoinString(strs, " ");
837 }
838
839 testing::AssertionResult CheckPermissionIDs(
Devlin 2015/04/02 21:00:23 This really only pertains to situations with Hidde
Devlin 2015/04/02 21:00:23 Add function comments.
Marc Treib 2015/04/07 11:34:47 Done.
Marc Treib 2015/04/07 11:34:47 I've renamed it to PermissionSetProducesMessage. O
840 const PermissionSet* permissions,
841 Manifest::Type extension_type,
842 PermissionMessage::ID expected_legacy_id,
843 const PermissionIDSet& expected_ids) {
844 PermissionMessageIDs legacy_ids =
845 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs(
846 permissions, extension_type);
847 if (legacy_ids.size() != 1 || expected_legacy_id != legacy_ids[0]) {
848 return testing::AssertionFailure()
849 << "Expected single legacy permission ID " << expected_legacy_id
Devlin 2015/04/02 21:00:23 indentation off? (Also at other returns)
Marc Treib 2015/04/07 11:34:47 This is what "git cl format" produced (weird thoug
Devlin 2015/04/07 15:55:56 :_( Why 8-space indentation? Grrr.... Well, if gi
Marc Treib 2015/04/07 16:15:55 I think there's some special case thingie to line
850 << " but got " << LegacyPermissionIDsToString(legacy_ids);
851 }
852
853 const PermissionMessageProvider* provider = PermissionMessageProvider::Get();
Devlin 2015/04/02 21:00:23 Cache this above, since you also use it on line 84
Marc Treib 2015/04/07 11:34:47 Done.
854 CoalescedPermissionMessages msgs = provider->GetCoalescedPermissionMessages(
855 provider->GetAllPermissionIDs(permissions, extension_type));
856 if (msgs.size() != 1) {
857 return testing::AssertionFailure()
858 << "Expected single permission message with IDs "
859 << PermissionIDsToString(expected_ids) << " but got " << msgs.size()
860 << " messages: " << CoalescedPermissionIDsToString(msgs);
861 }
862 if (!msgs.front().permissions().Equals(expected_ids)) {
863 return testing::AssertionFailure()
864 << "Expected permission IDs " << PermissionIDsToString(expected_ids)
865 << " but got " << PermissionIDsToString(msgs.front().permissions());
866 }
867
868 return testing::AssertionSuccess();
869 }
870
791 TEST(PermissionsTest, FileSystemPermissionMessages) { 871 TEST(PermissionsTest, FileSystemPermissionMessages) {
792 APIPermissionSet api_permissions; 872 APIPermissionSet api_permissions;
793 api_permissions.insert(APIPermission::kFileSystemWrite); 873 api_permissions.insert(APIPermission::kFileSystemWrite);
794 api_permissions.insert(APIPermission::kFileSystemDirectory); 874 api_permissions.insert(APIPermission::kFileSystemDirectory);
795 scoped_refptr<PermissionSet> permissions( 875 scoped_refptr<PermissionSet> permissions(
796 new PermissionSet(api_permissions, ManifestPermissionSet(), 876 new PermissionSet(api_permissions, ManifestPermissionSet(),
797 URLPatternSet(), URLPatternSet())); 877 URLPatternSet(), URLPatternSet()));
798 PermissionMessageIDs ids = 878 EXPECT_TRUE(CheckPermissionIDs(permissions.get(), Manifest::TYPE_PLATFORM_APP,
799 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 879 PermissionMessage::kFileSystemDirectory,
800 permissions.get(), Manifest::TYPE_PLATFORM_APP); 880 MakePermissionIDSet(api_permissions)));
801 ASSERT_EQ(1u, ids.size());
802 EXPECT_EQ(PermissionMessage::kFileSystemDirectory, ids[0]);
803 } 881 }
804 882
805 // The file system permissions have a special-case hack to show a warning for 883 // The file system permissions have a special-case hack to show a warning for
806 // write and directory at the same time. 884 // write and directory at the same time.
807 // TODO(sammc): Remove this. See http://crbug.com/284849. 885 // TODO(sammc): Remove this. See http://crbug.com/284849.
808 TEST(PermissionsTest, FileSystemImplicitPermissions) { 886 TEST(PermissionsTest, FileSystemImplicitPermissions) {
809 APIPermissionSet apis; 887 APIPermissionSet apis;
810 apis.insert(APIPermission::kFileSystemWrite); 888 apis.insert(APIPermission::kFileSystemWrite);
811 apis.AddImpliedPermissions(); 889 apis.AddImpliedPermissions();
812 890
(...skipping 22 matching lines...) Expand all
835 } 913 }
836 914
837 TEST(PermissionsTest, HiddenFileSystemPermissionMessages) { 915 TEST(PermissionsTest, HiddenFileSystemPermissionMessages) {
838 APIPermissionSet api_permissions; 916 APIPermissionSet api_permissions;
839 api_permissions.insert(APIPermission::kFileSystemWrite); 917 api_permissions.insert(APIPermission::kFileSystemWrite);
840 api_permissions.insert(APIPermission::kFileSystemDirectory); 918 api_permissions.insert(APIPermission::kFileSystemDirectory);
841 api_permissions.insert(APIPermission::kFileSystemWriteDirectory); 919 api_permissions.insert(APIPermission::kFileSystemWriteDirectory);
842 scoped_refptr<PermissionSet> permissions( 920 scoped_refptr<PermissionSet> permissions(
843 new PermissionSet(api_permissions, ManifestPermissionSet(), 921 new PermissionSet(api_permissions, ManifestPermissionSet(),
844 URLPatternSet(), URLPatternSet())); 922 URLPatternSet(), URLPatternSet()));
845 PermissionMessageIDs ids = 923 EXPECT_TRUE(CheckPermissionIDs(permissions.get(), Manifest::TYPE_PLATFORM_APP,
846 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 924 PermissionMessage::kFileSystemWriteDirectory,
847 permissions.get(), Manifest::TYPE_PLATFORM_APP); 925 MakePermissionIDSet(api_permissions)));
848 ASSERT_EQ(1u, ids.size());
849 EXPECT_EQ(PermissionMessage::kFileSystemWriteDirectory, ids[0]);
850 } 926 }
851 927
852 TEST(PermissionsTest, SuppressedPermissionMessages) { 928 TEST(PermissionsTest, SuppressedPermissionMessages) {
853 { 929 {
854 // Tabs warning suppresses favicon warning. 930 // Tabs warning suppresses favicon warning.
855 APIPermissionSet api_permissions; 931 APIPermissionSet api_permissions;
856 api_permissions.insert(APIPermission::kTab); 932 api_permissions.insert(APIPermission::kTab);
857 URLPatternSet hosts; 933 URLPatternSet hosts;
858 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, 934 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI,
859 "chrome://favicon/")); 935 "chrome://favicon/"));
860 scoped_refptr<PermissionSet> permissions( 936 scoped_refptr<PermissionSet> permissions(
861 new PermissionSet(api_permissions, ManifestPermissionSet(), 937 new PermissionSet(api_permissions, ManifestPermissionSet(),
862 hosts, URLPatternSet())); 938 hosts, URLPatternSet()));
863 PermissionMessageIDs ids = 939 EXPECT_TRUE(CheckPermissionIDs(
864 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 940 permissions.get(), Manifest::TYPE_EXTENSION, PermissionMessage::kTabs,
865 permissions.get(), Manifest::TYPE_EXTENSION); 941 MakePermissionIDSet(APIPermission::kTab, APIPermission::kFavicon)));
866 EXPECT_EQ(1u, ids.size());
867 EXPECT_EQ(PermissionMessage::kTabs, ids[0]);
868 } 942 }
869 { 943 {
870 // History warning suppresses favicon warning. 944 // History warning suppresses favicon warning.
871 APIPermissionSet api_permissions; 945 APIPermissionSet api_permissions;
872 api_permissions.insert(APIPermission::kHistory); 946 api_permissions.insert(APIPermission::kHistory);
873 URLPatternSet hosts; 947 URLPatternSet hosts;
874 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, 948 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI,
875 "chrome://favicon/")); 949 "chrome://favicon/"));
876 scoped_refptr<PermissionSet> permissions( 950 scoped_refptr<PermissionSet> permissions(
877 new PermissionSet(api_permissions, ManifestPermissionSet(), 951 new PermissionSet(api_permissions, ManifestPermissionSet(),
878 hosts, URLPatternSet())); 952 hosts, URLPatternSet()));
879 PermissionMessageIDs ids = 953 EXPECT_TRUE(CheckPermissionIDs(
880 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 954 permissions.get(), Manifest::TYPE_EXTENSION,
881 permissions.get(), Manifest::TYPE_EXTENSION); 955 PermissionMessage::kBrowsingHistory,
882 EXPECT_EQ(1u, ids.size()); 956 MakePermissionIDSet(APIPermission::kHistory, APIPermission::kFavicon)));
883 EXPECT_EQ(PermissionMessage::kBrowsingHistory, ids[0]);
884 } 957 }
885 { 958 {
886 // All sites warning suppresses tabs warning. 959 // All sites warning suppresses tabs warning.
887 APIPermissionSet api_permissions; 960 APIPermissionSet api_permissions;
961 api_permissions.insert(APIPermission::kTab);
888 URLPatternSet hosts; 962 URLPatternSet hosts;
889 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); 963 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*"));
890 api_permissions.insert(APIPermission::kTab);
891 scoped_refptr<PermissionSet> permissions(new PermissionSet( 964 scoped_refptr<PermissionSet> permissions(new PermissionSet(
892 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); 965 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet()));
893 PermissionMessageIDs ids = 966 EXPECT_TRUE(CheckPermissionIDs(
894 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 967 permissions.get(), Manifest::TYPE_EXTENSION,
895 permissions.get(), Manifest::TYPE_EXTENSION); 968 PermissionMessage::kHostsAll,
896 EXPECT_EQ(1u, ids.size()); 969 MakePermissionIDSet(APIPermission::kHostsAll, APIPermission::kTab)));
897 EXPECT_EQ(PermissionMessage::kHostsAll, ids[0]);
898 } 970 }
899 { 971 {
900 // All sites warning suppresses topSites warning. 972 // All sites warning suppresses topSites warning.
901 APIPermissionSet api_permissions; 973 APIPermissionSet api_permissions;
974 api_permissions.insert(APIPermission::kTopSites);
902 URLPatternSet hosts; 975 URLPatternSet hosts;
903 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); 976 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*"));
904 api_permissions.insert(APIPermission::kTopSites);
905 scoped_refptr<PermissionSet> permissions(new PermissionSet( 977 scoped_refptr<PermissionSet> permissions(new PermissionSet(
906 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); 978 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet()));
907 PermissionMessageIDs ids = 979 EXPECT_TRUE(
908 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 980 CheckPermissionIDs(permissions.get(), Manifest::TYPE_EXTENSION,
909 permissions.get(), Manifest::TYPE_EXTENSION); 981 PermissionMessage::kHostsAll,
910 EXPECT_EQ(1u, ids.size()); 982 MakePermissionIDSet(APIPermission::kHostsAll,
911 EXPECT_EQ(PermissionMessage::kHostsAll, ids[0]); 983 APIPermission::kTopSites)));
912 } 984 }
913 { 985 {
914 // All sites warning suppresses declarativeWebRequest warning. 986 // All sites warning suppresses declarativeWebRequest warning.
915 APIPermissionSet api_permissions; 987 APIPermissionSet api_permissions;
988 api_permissions.insert(APIPermission::kDeclarativeWebRequest);
916 URLPatternSet hosts; 989 URLPatternSet hosts;
917 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); 990 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*"));
918 api_permissions.insert(APIPermission::kDeclarativeWebRequest);
919 scoped_refptr<PermissionSet> permissions(new PermissionSet( 991 scoped_refptr<PermissionSet> permissions(new PermissionSet(
920 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); 992 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet()));
921 PermissionMessageIDs ids = 993 EXPECT_TRUE(CheckPermissionIDs(
922 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 994 permissions.get(), Manifest::TYPE_EXTENSION,
923 permissions.get(), Manifest::TYPE_EXTENSION); 995 PermissionMessage::kHostsAll,
924 EXPECT_EQ(1u, ids.size()); 996 MakePermissionIDSet(APIPermission::kHostsAll,
925 EXPECT_EQ(PermissionMessage::kHostsAll, ids[0]); 997 APIPermission::kDeclarativeWebRequest)));
926 } 998 }
927 { 999 {
928 // BrowsingHistory warning suppresses all history read/write warnings. 1000 // BrowsingHistory warning suppresses all history read/write warnings.
929 APIPermissionSet api_permissions; 1001 APIPermissionSet api_permissions;
930 api_permissions.insert(APIPermission::kHistory); 1002 api_permissions.insert(APIPermission::kHistory);
931 api_permissions.insert(APIPermission::kTab); 1003 api_permissions.insert(APIPermission::kTab);
932 api_permissions.insert(APIPermission::kTopSites); 1004 api_permissions.insert(APIPermission::kTopSites);
933 api_permissions.insert(APIPermission::kProcesses); 1005 api_permissions.insert(APIPermission::kProcesses);
934 api_permissions.insert(APIPermission::kWebNavigation); 1006 api_permissions.insert(APIPermission::kWebNavigation);
935 scoped_refptr<PermissionSet> permissions( 1007 scoped_refptr<PermissionSet> permissions(
936 new PermissionSet(api_permissions, ManifestPermissionSet(), 1008 new PermissionSet(api_permissions, ManifestPermissionSet(),
937 URLPatternSet(), URLPatternSet())); 1009 URLPatternSet(), URLPatternSet()));
938 PermissionMessageIDs ids = 1010 EXPECT_TRUE(CheckPermissionIDs(permissions.get(), Manifest::TYPE_EXTENSION,
939 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 1011 PermissionMessage::kBrowsingHistory,
940 permissions.get(), Manifest::TYPE_EXTENSION); 1012 MakePermissionIDSet(api_permissions)));
941 EXPECT_EQ(1u, ids.size());
942 EXPECT_EQ(PermissionMessage::kBrowsingHistory, ids[0]);
943 } 1013 }
944 { 1014 {
945 // Tabs warning suppresses all read-only history warnings. 1015 // Tabs warning suppresses all read-only history warnings.
946 APIPermissionSet api_permissions; 1016 APIPermissionSet api_permissions;
947 api_permissions.insert(APIPermission::kTab); 1017 api_permissions.insert(APIPermission::kTab);
948 api_permissions.insert(APIPermission::kTopSites); 1018 api_permissions.insert(APIPermission::kTopSites);
949 api_permissions.insert(APIPermission::kProcesses); 1019 api_permissions.insert(APIPermission::kProcesses);
950 api_permissions.insert(APIPermission::kWebNavigation); 1020 api_permissions.insert(APIPermission::kWebNavigation);
951 scoped_refptr<PermissionSet> permissions( 1021 scoped_refptr<PermissionSet> permissions(
952 new PermissionSet(api_permissions, ManifestPermissionSet(), 1022 new PermissionSet(api_permissions, ManifestPermissionSet(),
953 URLPatternSet(), URLPatternSet())); 1023 URLPatternSet(), URLPatternSet()));
954 PermissionMessageIDs ids = 1024 EXPECT_TRUE(CheckPermissionIDs(permissions.get(), Manifest::TYPE_EXTENSION,
955 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 1025 PermissionMessage::kTabs,
956 permissions.get(), Manifest::TYPE_EXTENSION); 1026 MakePermissionIDSet(api_permissions)));
957 EXPECT_EQ(1u, ids.size());
958 EXPECT_EQ(PermissionMessage::kTabs, ids[0]);
959 } 1027 }
960 } 1028 }
961 1029
962 TEST(PermissionsTest, AccessToDevicesMessages) { 1030 TEST(PermissionsTest, AccessToDevicesMessages) {
963 { 1031 {
964 APIPermissionSet api_permissions; 1032 APIPermissionSet api_permissions;
965 api_permissions.insert(APIPermission::kSerial); 1033 api_permissions.insert(APIPermission::kSerial);
966 scoped_refptr<PermissionSet> permissions( 1034 scoped_refptr<PermissionSet> permissions(
967 new PermissionSet(api_permissions, 1035 new PermissionSet(api_permissions,
968 ManifestPermissionSet(), 1036 ManifestPermissionSet(),
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
1711 URLPattern(URLPattern::SCHEME_ALL, "http://www.google.com/")); 1779 URLPattern(URLPattern::SCHEME_ALL, "http://www.google.com/"));
1712 allowed_hosts.AddPattern( 1780 allowed_hosts.AddPattern(
1713 URLPattern(URLPattern::SCHEME_ALL, "chrome://favicon/")); 1781 URLPattern(URLPattern::SCHEME_ALL, "chrome://favicon/"));
1714 allowed_hosts.AddPattern( 1782 allowed_hosts.AddPattern(
1715 URLPattern(URLPattern::SCHEME_ALL, "chrome://thumb/")); 1783 URLPattern(URLPattern::SCHEME_ALL, "chrome://thumb/"));
1716 scoped_refptr<PermissionSet> permissions( 1784 scoped_refptr<PermissionSet> permissions(
1717 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(), 1785 new PermissionSet(APIPermissionSet(), ManifestPermissionSet(),
1718 allowed_hosts, URLPatternSet())); 1786 allowed_hosts, URLPatternSet()));
1719 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs( 1787 PermissionMessageProvider::Get()->GetLegacyPermissionMessageIDs(
1720 permissions.get(), Manifest::TYPE_EXTENSION); 1788 permissions.get(), Manifest::TYPE_EXTENSION);
1789 PermissionMessageProvider::Get()->GetCoalescedPermissionMessages(
1790 PermissionMessageProvider::Get()->GetAllPermissionIDs(
1791 permissions.get(), Manifest::TYPE_EXTENSION));
1721 } 1792 }
1722 1793
1723 TEST(PermissionsTest, IsPrivilegeIncrease_DeclarativeWebRequest) { 1794 TEST(PermissionsTest, IsPrivilegeIncrease_DeclarativeWebRequest) {
1724 scoped_refptr<Extension> extension( 1795 scoped_refptr<Extension> extension(
1725 LoadManifest("permissions", "permissions_all_urls.json")); 1796 LoadManifest("permissions", "permissions_all_urls.json"));
1726 scoped_refptr<const PermissionSet> permissions( 1797 scoped_refptr<const PermissionSet> permissions(
1727 extension->permissions_data()->active_permissions()); 1798 extension->permissions_data()->active_permissions());
1728 1799
1729 scoped_refptr<Extension> extension_dwr( 1800 scoped_refptr<Extension> extension_dwr(
1730 LoadManifest("permissions", "web_request_all_host_permissions.json")); 1801 LoadManifest("permissions", "web_request_all_host_permissions.json"));
(...skipping 13 matching lines...) Expand all
1744 apis.insert(APIPermission::kPrinterProvider); 1815 apis.insert(APIPermission::kPrinterProvider);
1745 EXPECT_TRUE(extension->is_platform_app()); 1816 EXPECT_TRUE(extension->is_platform_app());
1746 EXPECT_TRUE(extension->permissions_data()->HasAPIPermission( 1817 EXPECT_TRUE(extension->permissions_data()->HasAPIPermission(
1747 APIPermission::kPrinterProvider)); 1818 APIPermission::kPrinterProvider));
1748 EXPECT_TRUE(VerifyOnePermissionMessage( 1819 EXPECT_TRUE(VerifyOnePermissionMessage(
1749 extension->permissions_data(), 1820 extension->permissions_data(),
1750 "Add printing destinations and access any jobs you submit to them")); 1821 "Add printing destinations and access any jobs you submit to them"));
1751 } 1822 }
1752 1823
1753 } // namespace extensions 1824 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698