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

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

Issue 482953003: Add a separate warning message for topSites permission. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 3 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 | Annotate | Revision Log
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/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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698