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/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/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/common/chrome_paths.h" | 10 #include "chrome/common/chrome_paths.h" |
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
818 URLPatternSet(), URLPatternSet())); | 818 URLPatternSet(), URLPatternSet())); |
819 PermissionMessages messages = | 819 PermissionMessages messages = |
820 PermissionMessageProvider::Get()->GetPermissionMessages( | 820 PermissionMessageProvider::Get()->GetPermissionMessages( |
821 permissions.get(), Manifest::TYPE_PLATFORM_APP); | 821 permissions.get(), Manifest::TYPE_PLATFORM_APP); |
822 ASSERT_EQ(1u, messages.size()); | 822 ASSERT_EQ(1u, messages.size()); |
823 EXPECT_EQ(PermissionMessage::kFileSystemWriteDirectory, messages[0].id()); | 823 EXPECT_EQ(PermissionMessage::kFileSystemWriteDirectory, messages[0].id()); |
824 } | 824 } |
825 | 825 |
826 TEST(PermissionsTest, SuppressedPermissionMessages) { | 826 TEST(PermissionsTest, SuppressedPermissionMessages) { |
827 { | 827 { |
| 828 // Tabs warning suppresses favicon warning. |
828 APIPermissionSet api_permissions; | 829 APIPermissionSet api_permissions; |
829 api_permissions.insert(APIPermission::kTab); | 830 api_permissions.insert(APIPermission::kTab); |
830 URLPatternSet hosts; | 831 URLPatternSet hosts; |
831 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, | 832 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, |
832 "chrome://favicon/")); | 833 "chrome://favicon/")); |
833 scoped_refptr<PermissionSet> permissions( | 834 scoped_refptr<PermissionSet> permissions( |
834 new PermissionSet(api_permissions, ManifestPermissionSet(), | 835 new PermissionSet(api_permissions, ManifestPermissionSet(), |
835 hosts, URLPatternSet())); | 836 hosts, URLPatternSet())); |
836 PermissionMessages messages = | 837 PermissionMessages messages = |
837 PermissionMessageProvider::Get()->GetPermissionMessages( | 838 PermissionMessageProvider::Get()->GetPermissionMessages( |
838 permissions.get(), Manifest::TYPE_EXTENSION); | 839 permissions.get(), Manifest::TYPE_EXTENSION); |
839 EXPECT_EQ(1u, messages.size()); | 840 EXPECT_EQ(1u, messages.size()); |
840 EXPECT_EQ(PermissionMessage::kTabs, messages[0].id()); | 841 EXPECT_EQ(PermissionMessage::kTabs, messages[0].id()); |
841 } | 842 } |
842 { | 843 { |
| 844 // History warning suppresses favicon warning. |
843 APIPermissionSet api_permissions; | 845 APIPermissionSet api_permissions; |
844 api_permissions.insert(APIPermission::kHistory); | 846 api_permissions.insert(APIPermission::kHistory); |
845 URLPatternSet hosts; | 847 URLPatternSet hosts; |
846 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, | 848 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, |
847 "chrome://favicon/")); | 849 "chrome://favicon/")); |
848 scoped_refptr<PermissionSet> permissions( | 850 scoped_refptr<PermissionSet> permissions( |
849 new PermissionSet(api_permissions, ManifestPermissionSet(), | 851 new PermissionSet(api_permissions, ManifestPermissionSet(), |
850 hosts, URLPatternSet())); | 852 hosts, URLPatternSet())); |
851 PermissionMessages messages = | 853 PermissionMessages messages = |
852 PermissionMessageProvider::Get()->GetPermissionMessages( | 854 PermissionMessageProvider::Get()->GetPermissionMessages( |
853 permissions.get(), Manifest::TYPE_EXTENSION); | 855 permissions.get(), Manifest::TYPE_EXTENSION); |
854 EXPECT_EQ(1u, messages.size()); | 856 EXPECT_EQ(1u, messages.size()); |
855 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); | 857 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); |
856 } | 858 } |
857 { | 859 { |
| 860 // All sites warning suppresses tabs warning. |
858 APIPermissionSet api_permissions; | 861 APIPermissionSet api_permissions; |
859 URLPatternSet hosts; | 862 URLPatternSet hosts; |
860 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); | 863 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
861 api_permissions.insert(APIPermission::kTab); | 864 api_permissions.insert(APIPermission::kTab); |
862 scoped_refptr<PermissionSet> permissions(new PermissionSet( | 865 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
863 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); | 866 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
864 PermissionMessages messages = | 867 PermissionMessages messages = |
865 PermissionMessageProvider::Get()->GetPermissionMessages( | 868 PermissionMessageProvider::Get()->GetPermissionMessages( |
866 permissions.get(), Manifest::TYPE_EXTENSION); | 869 permissions.get(), Manifest::TYPE_EXTENSION); |
867 EXPECT_EQ(1u, messages.size()); | 870 EXPECT_EQ(1u, messages.size()); |
868 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); | 871 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); |
869 } | 872 } |
870 { | 873 { |
| 874 // All sites warning suppresses topSites warning. |
871 APIPermissionSet api_permissions; | 875 APIPermissionSet api_permissions; |
872 URLPatternSet hosts; | 876 URLPatternSet hosts; |
873 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); | 877 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
| 878 api_permissions.insert(APIPermission::kTopSites); |
| 879 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
| 880 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
| 881 PermissionMessages messages = |
| 882 PermissionMessageProvider::Get()->GetPermissionMessages( |
| 883 permissions, Manifest::TYPE_EXTENSION); |
| 884 EXPECT_EQ(1u, messages.size()); |
| 885 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); |
| 886 } |
| 887 { |
| 888 // All sites warning suppresses declarativeWebRequest warning. |
| 889 APIPermissionSet api_permissions; |
| 890 URLPatternSet hosts; |
| 891 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
874 api_permissions.insert(APIPermission::kDeclarativeWebRequest); | 892 api_permissions.insert(APIPermission::kDeclarativeWebRequest); |
875 scoped_refptr<PermissionSet> permissions(new PermissionSet( | 893 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
876 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); | 894 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
877 PermissionMessages messages = | 895 PermissionMessages messages = |
878 PermissionMessageProvider::Get()->GetPermissionMessages( | 896 PermissionMessageProvider::Get()->GetPermissionMessages( |
879 permissions.get(), Manifest::TYPE_EXTENSION); | 897 permissions.get(), Manifest::TYPE_EXTENSION); |
880 EXPECT_EQ(1u, messages.size()); | 898 EXPECT_EQ(1u, messages.size()); |
881 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); | 899 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); |
882 } | 900 } |
883 { | 901 { |
| 902 // BrowsingHistory warning suppresses all history read/write warnings. |
884 APIPermissionSet api_permissions; | 903 APIPermissionSet api_permissions; |
885 api_permissions.insert(APIPermission::kHistory); | 904 api_permissions.insert(APIPermission::kHistory); |
886 api_permissions.insert(APIPermission::kTab); | 905 api_permissions.insert(APIPermission::kTab); |
887 api_permissions.insert(APIPermission::kTopSites); | 906 api_permissions.insert(APIPermission::kTopSites); |
888 api_permissions.insert(APIPermission::kProcesses); | 907 api_permissions.insert(APIPermission::kProcesses); |
889 api_permissions.insert(APIPermission::kWebNavigation); | 908 api_permissions.insert(APIPermission::kWebNavigation); |
890 scoped_refptr<PermissionSet> permissions( | 909 scoped_refptr<PermissionSet> permissions( |
891 new PermissionSet(api_permissions, ManifestPermissionSet(), | 910 new PermissionSet(api_permissions, ManifestPermissionSet(), |
892 URLPatternSet(), URLPatternSet())); | 911 URLPatternSet(), URLPatternSet())); |
893 PermissionMessages messages = | 912 PermissionMessages messages = |
894 PermissionMessageProvider::Get()->GetPermissionMessages( | 913 PermissionMessageProvider::Get()->GetPermissionMessages( |
895 permissions.get(), Manifest::TYPE_EXTENSION); | 914 permissions.get(), Manifest::TYPE_EXTENSION); |
896 EXPECT_EQ(1u, messages.size()); | 915 EXPECT_EQ(1u, messages.size()); |
897 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); | 916 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); |
898 } | 917 } |
899 { | 918 { |
| 919 // Tabs warning suppresses all read-only history warnings. |
900 APIPermissionSet api_permissions; | 920 APIPermissionSet api_permissions; |
901 api_permissions.insert(APIPermission::kTab); | 921 api_permissions.insert(APIPermission::kTab); |
902 api_permissions.insert(APIPermission::kTopSites); | 922 api_permissions.insert(APIPermission::kTopSites); |
903 api_permissions.insert(APIPermission::kProcesses); | 923 api_permissions.insert(APIPermission::kProcesses); |
904 api_permissions.insert(APIPermission::kWebNavigation); | 924 api_permissions.insert(APIPermission::kWebNavigation); |
905 scoped_refptr<PermissionSet> permissions( | 925 scoped_refptr<PermissionSet> permissions( |
906 new PermissionSet(api_permissions, ManifestPermissionSet(), | 926 new PermissionSet(api_permissions, ManifestPermissionSet(), |
907 URLPatternSet(), URLPatternSet())); | 927 URLPatternSet(), URLPatternSet())); |
908 PermissionMessages messages = | 928 PermissionMessages messages = |
909 PermissionMessageProvider::Get()->GetPermissionMessages( | 929 PermissionMessageProvider::Get()->GetPermissionMessages( |
(...skipping 885 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1795 scoped_refptr<const PermissionSet> permissions_dwr( | 1815 scoped_refptr<const PermissionSet> permissions_dwr( |
1796 extension_dwr->permissions_data()->active_permissions()); | 1816 extension_dwr->permissions_data()->active_permissions()); |
1797 | 1817 |
1798 EXPECT_FALSE(PermissionMessageProvider::Get()-> | 1818 EXPECT_FALSE(PermissionMessageProvider::Get()-> |
1799 IsPrivilegeIncrease(permissions.get(), | 1819 IsPrivilegeIncrease(permissions.get(), |
1800 permissions_dwr.get(), | 1820 permissions_dwr.get(), |
1801 extension->GetType())); | 1821 extension->GetType())); |
1802 } | 1822 } |
1803 | 1823 |
1804 } // namespace extensions | 1824 } // namespace extensions |
OLD | NEW |