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}, |