Index: chrome/common/extensions/permissions/chrome_permission_message_provider.cc |
diff --git a/chrome/common/extensions/permissions/chrome_permission_message_provider.cc b/chrome/common/extensions/permissions/chrome_permission_message_provider.cc |
index 2a8b163a8a78ed5c5fba49042993e6e64c8ee000..4492e5c0c7256eb2d0a8647213b3316cebe1cdab 100644 |
--- a/chrome/common/extensions/permissions/chrome_permission_message_provider.cc |
+++ b/chrome/common/extensions/permissions/chrome_permission_message_provider.cc |
@@ -81,6 +81,14 @@ ChromePermissionMessageProvider::~ChromePermissionMessageProvider() { |
PermissionMessages ChromePermissionMessageProvider::GetPermissionMessages( |
const PermissionSet* permissions, |
Manifest::Type extension_type) const { |
+ PermissionMessages messages; |
+ if (permissions->HasEffectiveFullAccess()) { |
+ messages.push_back(PermissionMessage( |
+ PermissionMessage::kFullAccess, |
+ l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS))); |
+ return messages; |
+ } |
+ |
// Some warnings are more generic and/or powerful and superseed other |
// warnings. In that case, the first message suppresses the second one. |
std::multimap<PermissionMessage::ID, PermissionMessage::ID> kSuppressList; |
@@ -94,6 +102,9 @@ PermissionMessages ChromePermissionMessageProvider::GetPermissionMessages( |
// History already allows tabs access. |
kSuppressList.insert( |
{PermissionMessage::kBrowsingHistory, PermissionMessage::kTabs}); |
+ // History already allows access the list of most frequently visited sites. |
+ kSuppressList.insert( |
+ {PermissionMessage::kBrowsingHistory, PermissionMessage::kTopSites}); |
// A special hack: If kFileSystemWriteDirectory would be displayed, hide |
// kFileSystemDirectory as the write directory message implies it. |
// TODO(sammc): Remove this. See http://crbug.com/284849. |
@@ -102,20 +113,17 @@ PermissionMessages ChromePermissionMessageProvider::GetPermissionMessages( |
// Full access already allows DeclarativeWebRequest. |
kSuppressList.insert({PermissionMessage::kHostsAll, |
PermissionMessage::kDeclarativeWebRequest}); |
+ // Full access implies reading the list of most frequently visited sites. |
+ kSuppressList.insert( |
+ {PermissionMessage::kHostsAll, PermissionMessage::kTopSites}); |
// Full access already covers tabs access. |
kSuppressList.insert( |
{PermissionMessage::kHostsAll, PermissionMessage::kTabs}); |
// Tabs already allows reading favicons. |
kSuppressList.insert({PermissionMessage::kTabs, PermissionMessage::kFavicon}); |
- |
- PermissionMessages messages; |
- |
- if (permissions->HasEffectiveFullAccess()) { |
- messages.push_back(PermissionMessage( |
- PermissionMessage::kFullAccess, |
- l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS))); |
- return messages; |
- } |
+ // Tabs already allows reading the list of most frequently visited sites. |
+ kSuppressList.insert( |
+ {PermissionMessage::kTabs, PermissionMessage::kTopSites}); |
PermissionMsgSet host_msgs = |
GetHostPermissionMessages(permissions, extension_type); |