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

Unified Diff: chrome/common/extensions/permissions/chrome_permission_message_rules.cc

Issue 1314753004: Permission messages: Add a bunch of missing combination/suppression rules. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@reorder_rules
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/permissions/chrome_permission_message_rules.cc
diff --git a/chrome/common/extensions/permissions/chrome_permission_message_rules.cc b/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
index 61a0e56a78b49730455cef02ffb92cc98ff57669..8535885373c467199c549e50313589b968e266d7 100644
--- a/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
+++ b/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
@@ -311,6 +311,31 @@ class ChromePermissionMessageRule::PermissionIDSetInitializer
insert(g);
}
+ PermissionIDSetInitializer(APIPermission::ID a,
+ APIPermission::ID b,
+ APIPermission::ID c,
+ APIPermission::ID d,
+ APIPermission::ID e,
+ APIPermission::ID f,
+ APIPermission::ID g,
+ APIPermission::ID h)
+ : PermissionIDSetInitializer(a, b, c, d, e, f, g) {
+ insert(h);
+ }
+
+ PermissionIDSetInitializer(APIPermission::ID a,
Devlin 2015/09/01 16:08:51 This is getting a little nuts here. Looking brief
Marc Treib 2015/09/01 16:25:50 Hm, seems you're right, I also can't find anything
Devlin 2015/09/01 16:33:43 Eh, variadic templates aren't *that* hard to parse
Marc Treib 2015/09/02 10:43:55 Yup, the uniform initialization of set/vector is b
+ APIPermission::ID b,
+ APIPermission::ID c,
+ APIPermission::ID d,
+ APIPermission::ID e,
+ APIPermission::ID f,
+ APIPermission::ID g,
+ APIPermission::ID h,
+ APIPermission::ID i)
+ : PermissionIDSetInitializer(a, b, c, d, e, f, g, h) {
+ insert(i);
+ }
+
virtual ~PermissionIDSetInitializer() {}
};
@@ -389,16 +414,17 @@ ChromePermissionMessageRule::GetAllRules() {
{IDS_EXTENSION_PROMPT_WARNING_DEBUGGER, {APIPermission::kDebugger}, {}},
{IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS,
{APIPermission::kPlugin},
- // TODO(treib): Add the other IDs implied by kFullAccess/kHostsAll.
- {APIPermission::kFullAccess, APIPermission::kHostsAll,
- APIPermission::kHostsAllReadOnly, APIPermission::kDeclarativeWebRequest,
- APIPermission::kTopSites, APIPermission::kTab}},
+ {APIPermission::kDeclarativeWebRequest, APIPermission::kFavicon,
+ APIPermission::kFullAccess, APIPermission::kHostsAll,
+ APIPermission::kHostsAllReadOnly, APIPermission::kProcesses,
+ APIPermission::kTab, APIPermission::kTopSites,
+ APIPermission::kWebNavigation}},
{IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS,
{APIPermission::kFullAccess},
- // TODO(treib): Add the other IDs implied by kHostsAll.
- {APIPermission::kHostsAll, APIPermission::kHostsAllReadOnly,
- APIPermission::kDeclarativeWebRequest, APIPermission::kTopSites,
- APIPermission::kTab}},
+ {APIPermission::kDeclarativeWebRequest, APIPermission::kFavicon,
+ APIPermission::kHostsAll, APIPermission::kHostsAllReadOnly,
+ APIPermission::kProcesses, APIPermission::kTab,
+ APIPermission::kTopSites, APIPermission::kWebNavigation}},
// Hosts permission messages.
// Full host access already allows DeclarativeWebRequest, reading the list
@@ -409,17 +435,23 @@ ChromePermissionMessageRule::GetAllRules() {
// message if both permissions are required.
{IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS,
{APIPermission::kHostsAll},
- // TODO(treib): Add kHostReadWrite and kHostReadOnly.
{APIPermission::kDeclarativeWebRequest, APIPermission::kFavicon,
- APIPermission::kHostsAllReadOnly, APIPermission::kProcesses,
+ APIPermission::kHostsAllReadOnly, APIPermission::kHostReadOnly,
+ APIPermission::kHostReadWrite, APIPermission::kProcesses,
APIPermission::kTab, APIPermission::kTopSites,
APIPermission::kWebNavigation}},
{IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS_READ_ONLY,
{APIPermission::kHostsAllReadOnly},
- // TODO(treib): Add kHostReadOnly.
- {APIPermission::kFavicon, APIPermission::kProcesses, APIPermission::kTab,
+ {APIPermission::kFavicon, APIPermission::kHostReadOnly,
+ APIPermission::kProcesses, APIPermission::kTab,
APIPermission::kTopSites, APIPermission::kWebNavigation}},
+ {new CommaSeparatedListFormatter(IDS_EXTENSION_PROMPT_WARNING_1_HOST,
+ IDS_EXTENSION_PROMPT_WARNING_2_HOSTS,
+ IDS_EXTENSION_PROMPT_WARNING_3_HOSTS,
+ IDS_EXTENSION_PROMPT_WARNING_HOSTS_LIST),
+ {APIPermission::kHostReadWrite},
+ {}},
{new CommaSeparatedListFormatter(
IDS_EXTENSION_PROMPT_WARNING_1_HOST_READ_ONLY,
IDS_EXTENSION_PROMPT_WARNING_2_HOSTS_READ_ONLY,
@@ -427,41 +459,43 @@ ChromePermissionMessageRule::GetAllRules() {
IDS_EXTENSION_PROMPT_WARNING_HOSTS_LIST_READ_ONLY),
{APIPermission::kHostReadOnly},
{}},
- {new CommaSeparatedListFormatter(IDS_EXTENSION_PROMPT_WARNING_1_HOST,
- IDS_EXTENSION_PROMPT_WARNING_2_HOSTS,
- IDS_EXTENSION_PROMPT_WARNING_3_HOSTS,
- IDS_EXTENSION_PROMPT_WARNING_HOSTS_LIST),
- {APIPermission::kHostReadWrite},
- {}},
// History-related permission messages.
// History already allows reading favicons, tab access and accessing the
// list of most frequently visited sites.
{IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE_AND_SESSIONS,
- {APIPermission::kSessions, APIPermission::kHistory},
+ {APIPermission::kHistory, APIPermission::kSessions},
{APIPermission::kFavicon, APIPermission::kProcesses, APIPermission::kTab,
APIPermission::kTopSites, APIPermission::kWebNavigation}},
- {IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS,
- {APIPermission::kSessions, APIPermission::kTab},
- {APIPermission::kFavicon, APIPermission::kProcesses,
- APIPermission::kTopSites, APIPermission::kWebNavigation}},
{IDS_EXTENSION_PROMPT_WARNING_HISTORY_WRITE,
{APIPermission::kHistory},
{APIPermission::kFavicon, APIPermission::kProcesses, APIPermission::kTab,
APIPermission::kTopSites, APIPermission::kWebNavigation}},
+ {IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS,
+ {APIPermission::kTab, APIPermission::kSessions},
+ {APIPermission::kFavicon, APIPermission::kProcesses,
+ APIPermission::kTopSites, APIPermission::kWebNavigation}},
+ {IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS,
+ {APIPermission::kProcesses, APIPermission::kSessions},
Devlin 2015/09/01 16:08:51 See comment on the other CL - I think I was wrong
Devlin 2015/09/01 16:09:53 Aaaaand, nevermind. :)
+ {APIPermission::kFavicon, APIPermission::kTopSites,
+ APIPermission::kWebNavigation}},
+ {IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ_AND_SESSIONS,
+ {APIPermission::kWebNavigation, APIPermission::kSessions},
+ {APIPermission::kFavicon, APIPermission::kTopSites}},
{IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ,
{APIPermission::kTab},
{APIPermission::kFavicon, APIPermission::kProcesses,
APIPermission::kTopSites, APIPermission::kWebNavigation}},
- // TODO(treib): Should we have _AND_SESSIONS versions of these 2 as well?
{IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ,
{APIPermission::kProcesses},
- {}},
+ {APIPermission::kFavicon, APIPermission::kTopSites,
+ APIPermission::kWebNavigation}},
{IDS_EXTENSION_PROMPT_WARNING_HISTORY_READ,
{APIPermission::kWebNavigation},
- {}},
+ {APIPermission::kFavicon, APIPermission::kTopSites}},
{IDS_EXTENSION_PROMPT_WARNING_FAVICON, {APIPermission::kFavicon}, {}},
{IDS_EXTENSION_PROMPT_WARNING_TOPSITES, {APIPermission::kTopSites}, {}},
+
{IDS_EXTENSION_PROMPT_WARNING_DECLARATIVE_WEB_REQUEST,
{APIPermission::kDeclarativeWebRequest},
{}},
@@ -469,8 +503,8 @@ ChromePermissionMessageRule::GetAllRules() {
// Messages generated by the sockets permission.
{IDS_EXTENSION_PROMPT_WARNING_SOCKET_ANY_HOST,
{APIPermission::kSocketAnyHost},
- // TODO(treib): Add kSocketDomainHosts and kSocketSpecificHosts.
- {}},
+ {APIPermission::kSocketDomainHosts,
+ APIPermission::kSocketSpecificHosts}},
{new SpaceSeparatedListFormatter(
IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAIN,
IDS_EXTENSION_PROMPT_WARNING_SOCKET_HOSTS_IN_DOMAINS),
@@ -526,21 +560,19 @@ ChromePermissionMessageRule::GetAllRules() {
{APIPermission::kAccessibilityFeaturesRead},
{}},
- // TODO(sashab): Add the missing combinations of media galleries
- // permissions so a valid permission is generated for all combinations.
+ // Media galleries permissions. We don't have strings for every possible
+ // combination, e.g. we don't bother with a special string for "write, but
+ // not read" - just show the "read and write" string instead, etc.
{IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE_DELETE,
{APIPermission::kMediaGalleriesAllGalleriesCopyTo,
- APIPermission::kMediaGalleriesAllGalleriesDelete,
- APIPermission::kMediaGalleriesAllGalleriesRead},
- {}},
+ APIPermission::kMediaGalleriesAllGalleriesDelete},
+ {APIPermission::kMediaGalleriesAllGalleriesRead}},
{IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE,
- {APIPermission::kMediaGalleriesAllGalleriesCopyTo,
- APIPermission::kMediaGalleriesAllGalleriesRead},
- {}},
+ {APIPermission::kMediaGalleriesAllGalleriesCopyTo},
+ {APIPermission::kMediaGalleriesAllGalleriesRead}},
{IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE,
- {APIPermission::kMediaGalleriesAllGalleriesDelete,
- APIPermission::kMediaGalleriesAllGalleriesRead},
- {}},
+ {APIPermission::kMediaGalleriesAllGalleriesDelete},
+ {APIPermission::kMediaGalleriesAllGalleriesRead}},
{IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ,
{APIPermission::kMediaGalleriesAllGalleriesRead},
{}},
@@ -629,7 +661,7 @@ ChromePermissionMessageRule::GetAllRules() {
{}},
{IDS_EXTENSION_PROMPT_WARNING_INTERCEPT_ALL_KEYS,
{APIPermission::kInterceptAllKeys},
- {}}, // TODO(treib): This should probably suppress kInput.
+ {APIPermission::kInput}},
{IDS_EXTENSION_PROMPT_WARNING_INPUT, {APIPermission::kInput}, {}},
{IDS_EXTENSION_PROMPT_WARNING_MANAGEMENT,
{APIPermission::kManagement},
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698