Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/common/extensions/permissions/chrome_permission_message_provide r.h" | 5 #include "chrome/common/extensions/permissions/chrome_permission_message_provide r.h" |
| 6 | 6 |
| 7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "extensions/common/extensions_client.h" | 9 #include "extensions/common/extensions_client.h" |
| 10 #include "extensions/common/permissions/permission_message.h" | 10 #include "extensions/common/permissions/permission_message.h" |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 91 PermissionMessage::kBrowsingHistory, | 91 PermissionMessage::kBrowsingHistory, |
| 92 PermissionMessage::kTabs); | 92 PermissionMessage::kTabs); |
| 93 return messages; | 93 return messages; |
| 94 } | 94 } |
| 95 | 95 |
| 96 std::vector<base::string16> ChromePermissionMessageProvider::GetWarningMessages( | 96 std::vector<base::string16> ChromePermissionMessageProvider::GetWarningMessages( |
| 97 const PermissionSet* permissions, | 97 const PermissionSet* permissions, |
| 98 Manifest::Type extension_type) const { | 98 Manifest::Type extension_type) const { |
| 99 std::vector<base::string16> message_strings; | 99 std::vector<base::string16> message_strings; |
| 100 PermissionMessages messages = | 100 PermissionMessages messages = |
| 101 GetPermissionMessages(permissions, extension_type); | 101 GetPermissionMessages(permissions, extension_type); |
|
not at google - send to devlin
2014/06/09 16:57:31
honestly all this code and its looping is a bit we
| |
| 102 | 102 |
| 103 bool audio_capture = false; | 103 bool audio_capture = false; |
| 104 bool video_capture = false; | 104 bool video_capture = false; |
| 105 bool media_galleries_read = false; | 105 bool media_galleries_read = false; |
| 106 bool media_galleries_copy_to = false; | 106 bool media_galleries_copy_to = false; |
| 107 bool media_galleries_delete = false; | 107 bool media_galleries_delete = false; |
| 108 bool tabs = false; | |
| 109 bool history = false; | |
| 108 for (PermissionMessages::const_iterator i = messages.begin(); | 110 for (PermissionMessages::const_iterator i = messages.begin(); |
| 109 i != messages.end(); ++i) { | 111 i != messages.end(); ++i) { |
| 110 switch (i->id()) { | 112 switch (i->id()) { |
| 111 case PermissionMessage::kAudioCapture: | 113 case PermissionMessage::kAudioCapture: |
| 112 audio_capture = true; | 114 audio_capture = true; |
| 113 break; | 115 break; |
| 114 case PermissionMessage::kVideoCapture: | 116 case PermissionMessage::kVideoCapture: |
| 115 video_capture = true; | 117 video_capture = true; |
| 116 break; | 118 break; |
| 117 case PermissionMessage::kMediaGalleriesAllGalleriesRead: | 119 case PermissionMessage::kMediaGalleriesAllGalleriesRead: |
| 118 media_galleries_read = true; | 120 media_galleries_read = true; |
| 119 break; | 121 break; |
| 120 case PermissionMessage::kMediaGalleriesAllGalleriesCopyTo: | 122 case PermissionMessage::kMediaGalleriesAllGalleriesCopyTo: |
| 121 media_galleries_copy_to = true; | 123 media_galleries_copy_to = true; |
| 122 break; | 124 break; |
| 123 case PermissionMessage::kMediaGalleriesAllGalleriesDelete: | 125 case PermissionMessage::kMediaGalleriesAllGalleriesDelete: |
| 124 media_galleries_delete = true; | 126 media_galleries_delete = true; |
| 125 break; | 127 break; |
| 128 case PermissionMessage::kTabs: | |
| 129 tabs = true; | |
| 130 break; | |
| 131 case PermissionMessage::kBrowsingHistory: | |
| 132 history = true; | |
| 133 break; | |
| 126 default: | 134 default: |
| 127 break; | 135 break; |
| 128 } | 136 } |
| 129 } | 137 } |
| 130 | 138 |
| 131 for (PermissionMessages::const_iterator i = messages.begin(); | 139 for (PermissionMessages::const_iterator i = messages.begin(); |
| 132 i != messages.end(); ++i) { | 140 i != messages.end(); ++i) { |
| 133 int id = i->id(); | 141 int id = i->id(); |
| 134 if (audio_capture && video_capture) { | 142 if (audio_capture && video_capture) { |
| 135 if (id == PermissionMessage::kAudioCapture) { | 143 if (id == PermissionMessage::kAudioCapture) { |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 148 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE : | 156 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_WRITE : |
| 149 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE; | 157 IDS_EXTENSION_PROMPT_WARNING_MEDIA_GALLERIES_READ_DELETE; |
| 150 message_strings.push_back(l10n_util::GetStringUTF16(m_id)); | 158 message_strings.push_back(l10n_util::GetStringUTF16(m_id)); |
| 151 continue; | 159 continue; |
| 152 } else if (id == PermissionMessage::kMediaGalleriesAllGalleriesCopyTo || | 160 } else if (id == PermissionMessage::kMediaGalleriesAllGalleriesCopyTo || |
| 153 id == PermissionMessage::kMediaGalleriesAllGalleriesDelete) { | 161 id == PermissionMessage::kMediaGalleriesAllGalleriesDelete) { |
| 154 // The combined message will be pushed above. | 162 // The combined message will be pushed above. |
| 155 continue; | 163 continue; |
| 156 } | 164 } |
| 157 } | 165 } |
| 166 if (tabs && permissions->HasAPIPermission(APIPermission::kSessions) && | |
| 167 id == PermissionMessage::kTabs) { | |
|
not at google - send to devlin
2014/06/09 16:57:31
am I missing something or is this check and the id
wjywbs
2014/06/09 20:06:28
You are right. A lot of lines are not necessary. T
| |
| 168 message_strings.push_back(l10n_util::GetStringUTF16( | |
| 169 IDS_EXTENSION_PROMPT_WARNING_TABS_AND_SESSIONS)); | |
| 170 continue; | |
| 171 } | |
| 172 if (history && permissions->HasAPIPermission(APIPermission::kSessions) && | |
| 173 id == PermissionMessage::kBrowsingHistory) { | |
| 174 message_strings.push_back(l10n_util::GetStringUTF16( | |
| 175 IDS_EXTENSION_PROMPT_WARNING_BROWSING_HISTORY_AND_SESSIONS)); | |
| 176 continue; | |
| 177 } | |
| 158 | 178 |
| 159 message_strings.push_back(i->message()); | 179 message_strings.push_back(i->message()); |
| 160 } | 180 } |
| 161 | 181 |
| 162 return message_strings; | 182 return message_strings; |
| 163 } | 183 } |
| 164 | 184 |
| 165 std::vector<base::string16> | 185 std::vector<base::string16> |
| 166 ChromePermissionMessageProvider::GetWarningMessagesDetails( | 186 ChromePermissionMessageProvider::GetWarningMessagesDetails( |
| 167 const PermissionSet* permissions, | 187 const PermissionSet* permissions, |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 349 std::set<std::string> old_hosts_set( | 369 std::set<std::string> old_hosts_set( |
| 350 permission_message_util::GetDistinctHosts(old_list, false, false)); | 370 permission_message_util::GetDistinctHosts(old_list, false, false)); |
| 351 std::set<std::string> new_hosts_only = | 371 std::set<std::string> new_hosts_only = |
| 352 base::STLSetDifference<std::set<std::string> >(new_hosts_set, | 372 base::STLSetDifference<std::set<std::string> >(new_hosts_set, |
| 353 old_hosts_set); | 373 old_hosts_set); |
| 354 | 374 |
| 355 return !new_hosts_only.empty(); | 375 return !new_hosts_only.empty(); |
| 356 } | 376 } |
| 357 | 377 |
| 358 } // namespace extensions | 378 } // namespace extensions |
| OLD | NEW |