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

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: Created 6 years, 4 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 806 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698