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