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

Side by Side Diff: chrome/common/extensions/extension.cc

Issue 5626004: Update valid URLPattern schemes in ExtensionPrefs::GetGrantedPermissions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove kValidWebExtentSchemes from GetGrantedPermissions Created 10 years 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
« no previous file with comments | « chrome/common/extensions/extension.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/extension.h" 5 #include "chrome/common/extensions/extension.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 }; 243 };
244 const size_t Extension::kNumHostedAppPermissions = 244 const size_t Extension::kNumHostedAppPermissions =
245 arraysize(Extension::kHostedAppPermissionNames); 245 arraysize(Extension::kHostedAppPermissionNames);
246 246
247 // We purposefully don't put this into kPermissionNames. 247 // We purposefully don't put this into kPermissionNames.
248 const char Extension::kOldUnlimitedStoragePermission[] = "unlimited_storage"; 248 const char Extension::kOldUnlimitedStoragePermission[] = "unlimited_storage";
249 249
250 const int Extension::kValidWebExtentSchemes = 250 const int Extension::kValidWebExtentSchemes =
251 URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS; 251 URLPattern::SCHEME_HTTP | URLPattern::SCHEME_HTTPS;
252 252
253 const int Extension::kValidHostPermissionSchemes =
254 (UserScript::kValidUserScriptSchemes |
255 URLPattern::SCHEME_CHROMEUI) & ~URLPattern::SCHEME_FILE;
256
253 // 257 //
254 // Extension 258 // Extension
255 // 259 //
256 260
257 // static 261 // static
258 scoped_refptr<Extension> Extension::Create(const FilePath& path, 262 scoped_refptr<Extension> Extension::Create(const FilePath& path,
259 Location location, 263 Location location,
260 const DictionaryValue& value, 264 const DictionaryValue& value,
261 bool require_key, 265 bool require_key,
262 std::string* error) { 266 std::string* error) {
(...skipping 1471 matching lines...) Expand 10 before | Expand all | Expand 10 after
1734 } else { 1738 } else {
1735 // Hosted apps only get access to a subset of the valid permissions. 1739 // Hosted apps only get access to a subset of the valid permissions.
1736 if (IsHostedAppPermission(permission_str)) { 1740 if (IsHostedAppPermission(permission_str)) {
1737 api_permissions_.insert(permission_str); 1741 api_permissions_.insert(permission_str);
1738 continue; 1742 continue;
1739 } 1743 }
1740 } 1744 }
1741 1745
1742 // Check if it's a host pattern permission. 1746 // Check if it's a host pattern permission.
1743 URLPattern pattern = URLPattern(CanExecuteScriptEverywhere() ? 1747 URLPattern pattern = URLPattern(CanExecuteScriptEverywhere() ?
1744 URLPattern::SCHEME_ALL : 1748 URLPattern::SCHEME_ALL : kValidHostPermissionSchemes);
1745 (UserScript::kValidUserScriptSchemes | 1749
1746 URLPattern::SCHEME_CHROMEUI) & ~URLPattern::SCHEME_FILE);
1747 1750
1748 if (URLPattern::PARSE_SUCCESS == pattern.Parse(permission_str)) { 1751 if (URLPattern::PARSE_SUCCESS == pattern.Parse(permission_str)) {
1749 if (!CanSpecifyHostPermission(pattern)) { 1752 if (!CanSpecifyHostPermission(pattern)) {
1750 *error = ExtensionErrorUtils::FormatErrorMessage( 1753 *error = ExtensionErrorUtils::FormatErrorMessage(
1751 errors::kInvalidPermissionScheme, base::IntToString(i)); 1754 errors::kInvalidPermissionScheme, base::IntToString(i));
1752 return false; 1755 return false;
1753 } 1756 }
1754 1757
1755 // The path component is not used for host permissions, so we force it 1758 // The path component is not used for host permissions, so we force it
1756 // to match all paths. 1759 // to match all paths.
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
2233 UninstalledExtensionInfo::UninstalledExtensionInfo( 2236 UninstalledExtensionInfo::UninstalledExtensionInfo(
2234 const Extension& extension) 2237 const Extension& extension)
2235 : extension_id(extension.id()), 2238 : extension_id(extension.id()),
2236 extension_api_permissions(extension.api_permissions()), 2239 extension_api_permissions(extension.api_permissions()),
2237 is_theme(extension.is_theme()), 2240 is_theme(extension.is_theme()),
2238 is_app(extension.is_app()), 2241 is_app(extension.is_app()),
2239 converted_from_user_script(extension.converted_from_user_script()), 2242 converted_from_user_script(extension.converted_from_user_script()),
2240 update_url(extension.update_url()) {} 2243 update_url(extension.update_url()) {}
2241 2244
2242 UninstalledExtensionInfo::~UninstalledExtensionInfo() {} 2245 UninstalledExtensionInfo::~UninstalledExtensionInfo() {}
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698