Chromium Code Reviews| 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 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 825 APIPermissionSet api_permissions; | 825 APIPermissionSet api_permissions; |
| 826 api_permissions.insert(APIPermission::kTab); | 826 api_permissions.insert(APIPermission::kTab); |
| 827 api_permissions.insert(APIPermission::kHistory); | 827 api_permissions.insert(APIPermission::kHistory); |
| 828 scoped_refptr<PermissionSet> permissions( | 828 scoped_refptr<PermissionSet> permissions( |
| 829 new PermissionSet(api_permissions, ManifestPermissionSet(), | 829 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 830 URLPatternSet(), URLPatternSet())); | 830 URLPatternSet(), URLPatternSet())); |
| 831 PermissionMessages messages = | 831 PermissionMessages messages = |
| 832 PermissionMessageProvider::Get()->GetPermissionMessages( | 832 PermissionMessageProvider::Get()->GetPermissionMessages( |
| 833 permissions, Manifest::TYPE_EXTENSION); | 833 permissions, Manifest::TYPE_EXTENSION); |
| 834 EXPECT_EQ(1u, messages.size()); | 834 EXPECT_EQ(1u, messages.size()); |
| 835 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); | 835 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id()); |
|
meacer
2014/06/13 19:59:20
This case doesn't seem necessary anymore, now that
wjywbs
2014/06/13 20:50:10
Done.
| |
| 836 } | 836 } |
| 837 { | 837 { |
| 838 APIPermissionSet api_permissions; | 838 APIPermissionSet api_permissions; |
| 839 api_permissions.insert(APIPermission::kTab); | 839 api_permissions.insert(APIPermission::kTab); |
| 840 URLPatternSet hosts; | 840 URLPatternSet hosts; |
| 841 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, | 841 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, |
| 842 "chrome://favicon/")); | 842 "chrome://favicon/")); |
| 843 scoped_refptr<PermissionSet> permissions( | 843 scoped_refptr<PermissionSet> permissions( |
| 844 new PermissionSet(api_permissions, ManifestPermissionSet(), | 844 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 845 hosts, URLPatternSet())); | 845 hosts, URLPatternSet())); |
| 846 PermissionMessages messages = | 846 PermissionMessages messages = |
| 847 PermissionMessageProvider::Get()->GetPermissionMessages( | 847 PermissionMessageProvider::Get()->GetPermissionMessages( |
| 848 permissions, Manifest::TYPE_EXTENSION); | 848 permissions, Manifest::TYPE_EXTENSION); |
| 849 EXPECT_EQ(1u, messages.size()); | 849 EXPECT_EQ(1u, messages.size()); |
| 850 EXPECT_EQ(PermissionMessage::kTabs, messages[0].id()); | 850 EXPECT_EQ(PermissionMessage::kBrowsingHistoryRead, messages[0].id()); |
| 851 } | 851 } |
| 852 { | 852 { |
| 853 APIPermissionSet api_permissions; | 853 APIPermissionSet api_permissions; |
| 854 api_permissions.insert(APIPermission::kHistory); | 854 api_permissions.insert(APIPermission::kHistory); |
| 855 URLPatternSet hosts; | 855 URLPatternSet hosts; |
| 856 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, | 856 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, |
| 857 "chrome://favicon/")); | 857 "chrome://favicon/")); |
| 858 scoped_refptr<PermissionSet> permissions( | 858 scoped_refptr<PermissionSet> permissions( |
| 859 new PermissionSet(api_permissions, ManifestPermissionSet(), | 859 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 860 hosts, URLPatternSet())); | 860 hosts, URLPatternSet())); |
| 861 PermissionMessages messages = | 861 PermissionMessages messages = |
| 862 PermissionMessageProvider::Get()->GetPermissionMessages( | 862 PermissionMessageProvider::Get()->GetPermissionMessages( |
| 863 permissions, Manifest::TYPE_EXTENSION); | 863 permissions, Manifest::TYPE_EXTENSION); |
| 864 EXPECT_EQ(1u, messages.size()); | 864 EXPECT_EQ(1u, messages.size()); |
| 865 EXPECT_EQ(PermissionMessage::kBrowsingHistory, messages[0].id()); | 865 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id()); |
| 866 } | 866 } |
| 867 { | 867 { |
| 868 APIPermissionSet api_permissions; | 868 APIPermissionSet api_permissions; |
| 869 URLPatternSet hosts; | 869 URLPatternSet hosts; |
| 870 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); | 870 hosts.AddPattern(URLPattern(URLPattern::SCHEME_CHROMEUI, "*://*/*")); |
| 871 api_permissions.insert(APIPermission::kTab); | 871 api_permissions.insert(APIPermission::kTab); |
| 872 scoped_refptr<PermissionSet> permissions(new PermissionSet( | 872 scoped_refptr<PermissionSet> permissions(new PermissionSet( |
| 873 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); | 873 api_permissions, ManifestPermissionSet(), hosts, URLPatternSet())); |
| 874 PermissionMessages messages = | 874 PermissionMessages messages = |
| 875 PermissionMessageProvider::Get()->GetPermissionMessages( | 875 PermissionMessageProvider::Get()->GetPermissionMessages( |
| 876 permissions, Manifest::TYPE_EXTENSION); | 876 permissions, Manifest::TYPE_EXTENSION); |
| 877 EXPECT_EQ(1u, messages.size()); | 877 EXPECT_EQ(1u, messages.size()); |
| 878 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); | 878 EXPECT_EQ(PermissionMessage::kHostsAll, messages[0].id()); |
| 879 } | 879 } |
| 880 { | |
| 881 APIPermissionSet api_permissions; | |
| 882 api_permissions.insert(APIPermission::kHistory); | |
| 883 api_permissions.insert(APIPermission::kTab); | |
| 884 api_permissions.insert(APIPermission::kTopSites); | |
| 885 api_permissions.insert(APIPermission::kProcesses); | |
| 886 api_permissions.insert(APIPermission::kWebNavigation); | |
| 887 scoped_refptr<PermissionSet> permissions( | |
| 888 new PermissionSet(api_permissions, ManifestPermissionSet(), | |
| 889 URLPatternSet(), URLPatternSet())); | |
| 890 PermissionMessages messages = | |
| 891 PermissionMessageProvider::Get()->GetPermissionMessages( | |
| 892 permissions, Manifest::TYPE_EXTENSION); | |
| 893 EXPECT_EQ(1u, messages.size()); | |
| 894 EXPECT_EQ(PermissionMessage::kBrowsingHistoryWrite, messages[0].id()); | |
| 895 } | |
| 896 { | |
| 897 APIPermissionSet api_permissions; | |
| 898 api_permissions.insert(APIPermission::kTab); | |
| 899 api_permissions.insert(APIPermission::kTopSites); | |
| 900 api_permissions.insert(APIPermission::kProcesses); | |
| 901 api_permissions.insert(APIPermission::kWebNavigation); | |
| 902 scoped_refptr<PermissionSet> permissions( | |
| 903 new PermissionSet(api_permissions, ManifestPermissionSet(), | |
| 904 URLPatternSet(), URLPatternSet())); | |
| 905 PermissionMessages messages = | |
| 906 PermissionMessageProvider::Get()->GetPermissionMessages( | |
| 907 permissions, Manifest::TYPE_EXTENSION); | |
| 908 EXPECT_EQ(1u, messages.size()); | |
| 909 EXPECT_EQ(PermissionMessage::kBrowsingHistoryRead, messages[0].id()); | |
| 910 } | |
| 880 } | 911 } |
| 881 | 912 |
| 882 TEST(PermissionsTest, MergedFileSystemPermissionComparison) { | 913 TEST(PermissionsTest, MergedFileSystemPermissionComparison) { |
| 883 APIPermissionSet write_api_permissions; | 914 APIPermissionSet write_api_permissions; |
| 884 write_api_permissions.insert(APIPermission::kFileSystemWrite); | 915 write_api_permissions.insert(APIPermission::kFileSystemWrite); |
| 885 scoped_refptr<PermissionSet> write_permissions( | 916 scoped_refptr<PermissionSet> write_permissions( |
| 886 new PermissionSet(write_api_permissions, ManifestPermissionSet(), | 917 new PermissionSet(write_api_permissions, ManifestPermissionSet(), |
| 887 URLPatternSet(), URLPatternSet())); | 918 URLPatternSet(), URLPatternSet())); |
| 888 | 919 |
| 889 APIPermissionSet directory_api_permissions; | 920 APIPermissionSet directory_api_permissions; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 985 EXPECT_EQ(combined_size, warnings.size()); | 1016 EXPECT_EQ(combined_size, warnings.size()); |
| 986 EXPECT_FALSE(Contains(warnings, "Use your microphone")); | 1017 EXPECT_FALSE(Contains(warnings, "Use your microphone")); |
| 987 EXPECT_FALSE(Contains(warnings, "Use your microphone and camera")); | 1018 EXPECT_FALSE(Contains(warnings, "Use your microphone and camera")); |
| 988 EXPECT_TRUE(Contains(warnings, "Use your camera")); | 1019 EXPECT_TRUE(Contains(warnings, "Use your camera")); |
| 989 } | 1020 } |
| 990 | 1021 |
| 991 TEST(PermissionsTest, GetWarningMessages_CombinedSessions) { | 1022 TEST(PermissionsTest, GetWarningMessages_CombinedSessions) { |
| 992 { | 1023 { |
| 993 APIPermissionSet api_permissions; | 1024 APIPermissionSet api_permissions; |
| 994 api_permissions.insert(APIPermission::kTab); | 1025 api_permissions.insert(APIPermission::kTab); |
| 1026 api_permissions.insert(APIPermission::kTopSites); | |
| 1027 api_permissions.insert(APIPermission::kProcesses); | |
| 1028 api_permissions.insert(APIPermission::kWebNavigation); | |
| 995 api_permissions.insert(APIPermission::kSessions); | 1029 api_permissions.insert(APIPermission::kSessions); |
| 996 scoped_refptr<PermissionSet> permissions( | 1030 scoped_refptr<PermissionSet> permissions( |
| 997 new PermissionSet(api_permissions, ManifestPermissionSet(), | 1031 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 998 URLPatternSet(), URLPatternSet())); | 1032 URLPatternSet(), URLPatternSet())); |
| 999 std::vector<base::string16> messages = | 1033 std::vector<base::string16> messages = |
| 1000 PermissionMessageProvider::Get()->GetWarningMessages( | 1034 PermissionMessageProvider::Get()->GetWarningMessages( |
| 1001 permissions, Manifest::TYPE_EXTENSION); | 1035 permissions, Manifest::TYPE_EXTENSION); |
| 1002 EXPECT_EQ(1u, messages.size()); | 1036 EXPECT_EQ(1u, messages.size()); |
| 1003 EXPECT_EQ(l10n_util::GetStringUTF16( | 1037 EXPECT_EQ(l10n_util::GetStringUTF16( |
| 1004 IDS_EXTENSION_PROMPT_WARNING_TABS_AND_SESSIONS), | 1038 IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS), |
| 1005 messages[0]); | |
| 1006 } | |
| 1007 { | |
| 1008 APIPermissionSet api_permissions; | |
| 1009 api_permissions.insert(APIPermission::kHistory); | |
| 1010 api_permissions.insert(APIPermission::kSessions); | |
| 1011 scoped_refptr<PermissionSet> permissions( | |
| 1012 new PermissionSet(api_permissions, ManifestPermissionSet(), | |
| 1013 URLPatternSet(), URLPatternSet())); | |
| 1014 std::vector<base::string16> messages = | |
| 1015 PermissionMessageProvider::Get()->GetWarningMessages( | |
| 1016 permissions, Manifest::TYPE_EXTENSION); | |
| 1017 EXPECT_EQ(1u, messages.size()); | |
| 1018 EXPECT_EQ(l10n_util::GetStringUTF16( | |
| 1019 IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS), | |
| 1020 messages[0]); | 1039 messages[0]); |
| 1021 } | 1040 } |
| 1022 { | 1041 { |
| 1023 APIPermissionSet api_permissions; | 1042 APIPermissionSet api_permissions; |
| 1024 api_permissions.insert(APIPermission::kTab); | 1043 api_permissions.insert(APIPermission::kTab); |
| 1044 api_permissions.insert(APIPermission::kTopSites); | |
| 1045 api_permissions.insert(APIPermission::kProcesses); | |
| 1046 api_permissions.insert(APIPermission::kWebNavigation); | |
| 1025 api_permissions.insert(APIPermission::kHistory); | 1047 api_permissions.insert(APIPermission::kHistory); |
|
meacer
2014/06/13 19:59:20
Can you put kHistory at the top? (since it's the o
wjywbs
2014/06/13 20:50:10
Done.
| |
| 1026 api_permissions.insert(APIPermission::kSessions); | 1048 api_permissions.insert(APIPermission::kSessions); |
| 1027 scoped_refptr<PermissionSet> permissions( | 1049 scoped_refptr<PermissionSet> permissions( |
| 1028 new PermissionSet(api_permissions, ManifestPermissionSet(), | 1050 new PermissionSet(api_permissions, ManifestPermissionSet(), |
| 1029 URLPatternSet(), URLPatternSet())); | 1051 URLPatternSet(), URLPatternSet())); |
| 1030 std::vector<base::string16> messages = | 1052 std::vector<base::string16> messages = |
| 1031 PermissionMessageProvider::Get()->GetWarningMessages( | 1053 PermissionMessageProvider::Get()->GetWarningMessages( |
| 1032 permissions, Manifest::TYPE_EXTENSION); | 1054 permissions, Manifest::TYPE_EXTENSION); |
| 1033 EXPECT_EQ(1u, messages.size()); | 1055 EXPECT_EQ(1u, messages.size()); |
| 1034 EXPECT_EQ(l10n_util::GetStringUTF16( | 1056 EXPECT_EQ(l10n_util::GetStringUTF16( |
| 1035 IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS), | 1057 IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS), |
| 1036 messages[0]); | 1058 messages[0]); |
| 1037 } | 1059 } |
| 1038 } | 1060 } |
| 1039 | 1061 |
| 1040 TEST(PermissionsTest, GetWarningMessages_DeclarativeWebRequest) { | 1062 TEST(PermissionsTest, GetWarningMessages_DeclarativeWebRequest) { |
| 1041 // Test that if the declarativeWebRequest permission is present | 1063 // Test that if the declarativeWebRequest permission is present |
| 1042 // in combination with all hosts permission, then only the warning | 1064 // in combination with all hosts permission, then only the warning |
| 1043 // for host permissions is shown, because that covers the use of | 1065 // for host permissions is shown, because that covers the use of |
| 1044 // declarativeWebRequest. | 1066 // declarativeWebRequest. |
| 1045 | 1067 |
| (...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1647 scoped_refptr<const PermissionSet> permissions_dwr( | 1669 scoped_refptr<const PermissionSet> permissions_dwr( |
| 1648 extension_dwr->permissions_data()->active_permissions()); | 1670 extension_dwr->permissions_data()->active_permissions()); |
| 1649 | 1671 |
| 1650 EXPECT_FALSE(PermissionMessageProvider::Get()-> | 1672 EXPECT_FALSE(PermissionMessageProvider::Get()-> |
| 1651 IsPrivilegeIncrease(permissions.get(), | 1673 IsPrivilegeIncrease(permissions.get(), |
| 1652 permissions_dwr.get(), | 1674 permissions_dwr.get(), |
| 1653 extension->GetType())); | 1675 extension->GetType())); |
| 1654 } | 1676 } |
| 1655 | 1677 |
| 1656 } // namespace extensions | 1678 } // namespace extensions |
| OLD | NEW |