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

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

Issue 6766002: Replace bools in extension creation with flags. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 8 months 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 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_H_
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 std::string gender; 107 std::string gender;
108 }; 108 };
109 109
110 // A permission is defined by its |name| (what is used in the manifest), 110 // A permission is defined by its |name| (what is used in the manifest),
111 // and the |message_id| that's used by install/update UI. 111 // and the |message_id| that's used by install/update UI.
112 struct Permission { 112 struct Permission {
113 const char* const name; 113 const char* const name;
114 const int message_id; 114 const int message_id;
115 }; 115 };
116 116
117 // |strict_error_checks| enables extra error checking, such as 117 enum InitFromValueFlags {
118 // checks that URL patterns do not contain ports. This error 118 NO_FLAGS = 0,
119 // checking may find an error that a previous version of 119 // Usually, the id of an extension is generated by the "key" property of
Aaron Boodman 2011/03/28 23:26:40 Add a blank line between each item?
120 // chrome did not flag. To avoid errors in installed extensions 120 // its manifest, but if |REQUIRE_KEY| is not set, a temporary ID will be
121 // when chrome is upgraded, strict error checking is only enabled 121 // generated based on the path.
122 // when loading extensions as a developer would (such as loading 122 REQUIRE_KEY = 1 << 0,
123 // an unpacked extension), or when loading an extension that is 123 // |STRICT_ERROR_CHECKS| enables extra error checking, such as
124 // tied to a specific version of chrome (such as a component 124 // checks that URL patterns do not contain ports. This error
125 // extension). Most callers will set |strict_error_checks| to 125 // checking may find an error that a previous version of
126 // Extension::ShouldDoStrictErrorChecking(location). 126 // Chrome did not flag. To avoid errors in installed extensions
127 // when Chrome is upgraded, strict error checking is only enabled
128 // when loading extensions as a developer would (such as loading
129 // an unpacked extension), or when loading an extension that is
130 // tied to a specific version of Chrome (such as a component
131 // extension). Most callers will set the |STRICT_ERROR_CHECKS| bit when
132 // Extension::ShouldDoStrictErrorChecking(location) returns true.
133 STRICT_ERROR_CHECKS = 1 << 1,
134 };
135
127 static scoped_refptr<Extension> Create(const FilePath& path, 136 static scoped_refptr<Extension> Create(const FilePath& path,
128 Location location, 137 Location location,
129 const DictionaryValue& value, 138 const DictionaryValue& value,
130 bool require_key, 139 int flags,
Aaron Boodman 2011/03/28 23:26:40 I always forget: Can you define this as InitFromVa
131 bool strict_error_checks,
132 std::string* error); 140 std::string* error);
133 141
134 // Return the update url used by gallery/webstore extensions. 142 // Return the update url used by gallery/webstore extensions.
135 static GURL GalleryUpdateUrl(bool secure); 143 static GURL GalleryUpdateUrl(bool secure);
136 144
137 // The install message id for |permission|. Returns 0 if none exists. 145 // The install message id for |permission|. Returns 0 if none exists.
138 static int GetPermissionMessageId(const std::string& permission); 146 static int GetPermissionMessageId(const std::string& permission);
139 147
140 // Returns the full list of permission messages that this extension 148 // Returns the full list of permission messages that this extension
141 // should display at install time. 149 // should display at install time.
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 // If you need to compare two URLPatternLists for security equality, then set 540 // If you need to compare two URLPatternLists for security equality, then set
533 // |include_rcd| to false, which will return a result like "*.google.", 541 // |include_rcd| to false, which will return a result like "*.google.",
534 // regardless of the order of the patterns. 542 // regardless of the order of the patterns.
535 static std::vector<std::string> GetDistinctHosts( 543 static std::vector<std::string> GetDistinctHosts(
536 const URLPatternList& host_patterns, bool include_rcd); 544 const URLPatternList& host_patterns, bool include_rcd);
537 545
538 Extension(const FilePath& path, Location location); 546 Extension(const FilePath& path, Location location);
539 ~Extension(); 547 ~Extension();
540 548
541 // Initialize the extension from a parsed manifest. 549 // Initialize the extension from a parsed manifest.
542 // Usually, the id of an extension is generated by the "key" property of 550 bool InitFromValue(const DictionaryValue& value, int flags,
543 // its manifest, but if |require_key| is |false|, a temporary ID will be 551 std::string* error);
544 // generated based on the path.
545 bool InitFromValue(const DictionaryValue& value, bool require_key,
546 bool strict_error_checks, std::string* error);
547 552
548 // Helper function for implementing HasCachedImage/GetCachedImage. A return 553 // Helper function for implementing HasCachedImage/GetCachedImage. A return
549 // value of NULL means there is no matching image cached (we allow caching an 554 // value of NULL means there is no matching image cached (we allow caching an
550 // empty SkBitmap). 555 // empty SkBitmap).
551 SkBitmap* GetCachedImageImpl(const ExtensionResource& source, 556 SkBitmap* GetCachedImageImpl(const ExtensionResource& source,
552 const gfx::Size& max_size) const; 557 const gfx::Size& max_size) const;
553 558
554 // Helper method that loads a UserScript object from a 559 // Helper method that loads a UserScript object from a
555 // dictionary in the content_script list of the manifest. 560 // dictionary in the content_script list of the manifest.
556 bool LoadUserScriptHelper(const DictionaryValue* content_script, 561 bool LoadUserScriptHelper(const DictionaryValue* content_script,
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 // Was the extension already disabled? 830 // Was the extension already disabled?
826 bool already_disabled; 831 bool already_disabled;
827 832
828 // The extension being unloaded - this should always be non-NULL. 833 // The extension being unloaded - this should always be non-NULL.
829 const Extension* extension; 834 const Extension* extension;
830 835
831 UnloadedExtensionInfo(const Extension* extension, Reason reason); 836 UnloadedExtensionInfo(const Extension* extension, Reason reason);
832 }; 837 };
833 838
834 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_ 839 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_
OLDNEW
« no previous file with comments | « chrome/browser/themes/browser_theme_pack_unittest.cc ('k') | chrome/common/extensions/extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698