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

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

Issue 8659002: Adding the --load-component-extension flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Multiptle values supported. Created 9 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/base64.h" 9 #include "base/base64.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 2040 matching lines...) Expand 10 before | Expand all | Expand 10 after
2051 #if defined(USE_VIRTUAL_KEYBOARD) 2051 #if defined(USE_VIRTUAL_KEYBOARD)
2052 page != chrome::kChromeUIKeyboardHost && 2052 page != chrome::kChromeUIKeyboardHost &&
2053 #endif 2053 #endif
2054 #if defined(OS_CHROMEOS) 2054 #if defined(OS_CHROMEOS)
2055 page != chrome::kChromeUIActivationMessageHost && 2055 page != chrome::kChromeUIActivationMessageHost &&
2056 #endif 2056 #endif
2057 page != chrome::kChromeUIBookmarksHost && 2057 page != chrome::kChromeUIBookmarksHost &&
2058 page != chrome::kChromeUIHistoryHost 2058 page != chrome::kChromeUIHistoryHost
2059 #if defined(FILE_MANAGER_EXTENSION) 2059 #if defined(FILE_MANAGER_EXTENSION)
2060 && 2060 &&
2061 !(location() == COMPONENT && 2061 !(location() == COMPONENT &&
2062 page == chrome::kChromeUIFileManagerHost) 2062 page == chrome::kChromeUIFileManagerHost)
2063 #endif 2063 #endif
2064 ) || 2064 ) ||
2065 !overrides->GetStringWithoutPathExpansion(*iter, &val)) { 2065 !overrides->GetStringWithoutPathExpansion(*iter, &val)) {
2066 *error = errors::kInvalidChromeURLOverrides; 2066 *error = errors::kInvalidChromeURLOverrides;
2067 return false; 2067 return false;
2068 } 2068 }
2069 // Replace the entry with a fully qualified chrome-extension:// URL. 2069 // Replace the entry with a fully qualified chrome-extension:// URL.
2070 chrome_url_overrides_[page] = GetResourceURL(val); 2070 chrome_url_overrides_[page] = GetResourceURL(val);
2071 } 2071 }
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
2863 } 2863 }
2864 } 2864 }
2865 2865
2866 return true; 2866 return true;
2867 } 2867 }
2868 2868
2869 bool Extension::CanSpecifyComponentOnlyPermission() const { 2869 bool Extension::CanSpecifyComponentOnlyPermission() const {
2870 // Only COMPONENT extensions can use private APIs. 2870 // Only COMPONENT extensions can use private APIs.
2871 // TODO(asargent) - We want a more general purpose mechanism for this, 2871 // TODO(asargent) - We want a more general purpose mechanism for this,
2872 // and better error messages. (http://crbug.com/54013) 2872 // and better error messages. (http://crbug.com/54013)
2873 if (location_ == Extension::COMPONENT) 2873 return location_ == Extension::COMPONENT;
2874 return true;
2875
2876 #ifndef NDEBUG
2877 if (CommandLine::ForCurrentProcess()->HasSwitch(
2878 switches::kExposePrivateExtensionApi)) {
2879 return true;
2880 }
2881 #endif
2882
2883 return false;
2884 } 2874 }
2885 2875
2886 bool Extension::CanSpecifyExperimentalPermission() const { 2876 bool Extension::CanSpecifyExperimentalPermission() const {
2887 if (location_ == Extension::COMPONENT) 2877 if (location_ == Extension::COMPONENT)
2888 return true; 2878 return true;
2889 2879
2890 if (CommandLine::ForCurrentProcess()->HasSwitch( 2880 if (CommandLine::ForCurrentProcess()->HasSwitch(
2891 switches::kEnableExperimentalExtensionApis)) { 2881 switches::kEnableExperimentalExtensionApis)) {
2892 return true; 2882 return true;
2893 } 2883 }
(...skipping 12 matching lines...) Expand all
2906 if (location_ == Extension::COMPONENT) 2896 if (location_ == Extension::COMPONENT)
2907 return true; 2897 return true;
2908 2898
2909 if (permission->is_hosted_app()) 2899 if (permission->is_hosted_app())
2910 return true; 2900 return true;
2911 2901
2912 return false; 2902 return false;
2913 } 2903 }
2914 2904
2915 bool Extension::CanExecuteScriptEverywhere() const { 2905 bool Extension::CanExecuteScriptEverywhere() const {
2916 if (location() == Extension::COMPONENT 2906 if (location() == Extension::COMPONENT)
2917 #ifndef NDEBUG
2918 || CommandLine::ForCurrentProcess()->HasSwitch(
2919 switches::kExposePrivateExtensionApi)
2920 #endif
2921 )
2922 return true; 2907 return true;
2923 2908
2924 ScriptingWhitelist* whitelist = 2909 ScriptingWhitelist* whitelist =
2925 ExtensionConfig::GetInstance()->whitelist(); 2910 ExtensionConfig::GetInstance()->whitelist();
2926 2911
2927 for (ScriptingWhitelist::const_iterator it = whitelist->begin(); 2912 for (ScriptingWhitelist::const_iterator it = whitelist->begin();
2928 it != whitelist->end(); ++it) { 2913 it != whitelist->end(); ++it) {
2929 if (id() == *it) { 2914 if (id() == *it) {
2930 return true; 2915 return true;
2931 } 2916 }
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
3052 already_disabled(false), 3037 already_disabled(false),
3053 extension(extension) {} 3038 extension(extension) {}
3054 3039
3055 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( 3040 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo(
3056 const Extension* extension, 3041 const Extension* extension,
3057 const ExtensionPermissionSet* permissions, 3042 const ExtensionPermissionSet* permissions,
3058 Reason reason) 3043 Reason reason)
3059 : reason(reason), 3044 : reason(reason),
3060 extension(extension), 3045 extension(extension),
3061 permissions(permissions) {} 3046 permissions(permissions) {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698