Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 EXTENSIONS_COMMON_FEATURES_SIMPLE_FEATURE_H_ | 5 #ifndef EXTENSIONS_COMMON_FEATURES_SIMPLE_FEATURE_H_ |
| 6 #define EXTENSIONS_COMMON_FEATURES_SIMPLE_FEATURE_H_ | 6 #define EXTENSIONS_COMMON_FEATURES_SIMPLE_FEATURE_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 41 std::string* previous_id_; | 41 std::string* previous_id_; |
| 42 | 42 |
| 43 DISALLOW_COPY_AND_ASSIGN(ScopedWhitelistForTest); | 43 DISALLOW_COPY_AND_ASSIGN(ScopedWhitelistForTest); |
| 44 }; | 44 }; |
| 45 | 45 |
| 46 SimpleFeature(); | 46 SimpleFeature(); |
| 47 ~SimpleFeature() override; | 47 ~SimpleFeature() override; |
| 48 | 48 |
| 49 // Parses the JSON representation of a feature into the fields of this object. | 49 // Parses the JSON representation of a feature into the fields of this object. |
| 50 // Unspecified values in the JSON are not modified in the object. This allows | 50 // Unspecified values in the JSON are not modified in the object. This allows |
| 51 // us to implement inheritance by parsing one value after another. Returns | 51 // us to implement inheritance by parsing one value after another. Returns |
|
lazyboy
2016/07/15 22:53:40
This comment needs to be updated.
Also add a comm
Devlin
2016/07/18 17:51:58
Done.
| |
| 52 // the error found, or an empty string on success. | 52 // the error found, or an empty string on success. |
| 53 virtual std::string Parse(const base::DictionaryValue* dictionary); | 53 void Parse(const base::DictionaryValue* dictionary); |
| 54 | |
| 55 virtual bool Validate(std::string* error); | |
| 54 | 56 |
| 55 Availability IsAvailableToContext(const Extension* extension, | 57 Availability IsAvailableToContext(const Extension* extension, |
| 56 Context context) const { | 58 Context context) const { |
| 57 return IsAvailableToContext(extension, context, GURL()); | 59 return IsAvailableToContext(extension, context, GURL()); |
| 58 } | 60 } |
| 59 Availability IsAvailableToContext(const Extension* extension, | 61 Availability IsAvailableToContext(const Extension* extension, |
| 60 Context context, | 62 Context context, |
| 61 Platform platform) const { | 63 Platform platform) const { |
| 62 return IsAvailableToContext(extension, context, GURL(), platform); | 64 return IsAvailableToContext(extension, context, GURL(), platform); |
| 63 } | 65 } |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 146 version_info::Channel channel) const; | 148 version_info::Channel channel) const; |
| 147 | 149 |
| 148 private: | 150 private: |
| 149 friend class SimpleFeatureTest; | 151 friend class SimpleFeatureTest; |
| 150 FRIEND_TEST_ALL_PREFIXES(BaseFeatureProviderTest, ManifestFeatureTypes); | 152 FRIEND_TEST_ALL_PREFIXES(BaseFeatureProviderTest, ManifestFeatureTypes); |
| 151 FRIEND_TEST_ALL_PREFIXES(BaseFeatureProviderTest, PermissionFeatureTypes); | 153 FRIEND_TEST_ALL_PREFIXES(BaseFeatureProviderTest, PermissionFeatureTypes); |
| 152 FRIEND_TEST_ALL_PREFIXES(ExtensionAPITest, DefaultConfigurationFeatures); | 154 FRIEND_TEST_ALL_PREFIXES(ExtensionAPITest, DefaultConfigurationFeatures); |
| 153 FRIEND_TEST_ALL_PREFIXES(ManifestUnitTest, Extension); | 155 FRIEND_TEST_ALL_PREFIXES(ManifestUnitTest, Extension); |
| 154 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Blacklist); | 156 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Blacklist); |
| 155 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, CommandLineSwitch); | 157 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, CommandLineSwitch); |
| 158 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ComplexFeatureAvailability); | |
| 156 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Context); | 159 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Context); |
| 160 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, FeatureValidation); | |
| 157 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, HashedIdBlacklist); | 161 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, HashedIdBlacklist); |
| 158 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, HashedIdWhitelist); | 162 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, HashedIdWhitelist); |
| 159 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Inheritance); | 163 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Inheritance); |
| 160 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Location); | 164 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Location); |
| 161 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ManifestVersion); | 165 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ManifestVersion); |
| 162 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, PackageType); | 166 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, PackageType); |
| 163 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseContexts); | 167 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseContexts); |
| 164 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseLocation); | 168 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseLocation); |
| 165 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseManifestVersion); | 169 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseManifestVersion); |
| 166 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseNull); | 170 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseNull); |
| 167 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParsePackageTypes); | 171 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParsePackageTypes); |
| 168 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParsePlatforms); | 172 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParsePlatforms); |
| 169 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseWhitelist); | 173 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ParseWhitelist); |
| 170 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Platform); | 174 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Platform); |
| 175 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, SimpleFeatureAvailability); | |
| 171 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Whitelist); | 176 FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Whitelist); |
| 172 | 177 |
| 173 // Holds String to Enum value mappings. | 178 // Holds String to Enum value mappings. |
| 174 struct Mappings; | 179 struct Mappings; |
| 175 | 180 |
| 176 static bool IsIdInList(const std::string& extension_id, | 181 static bool IsIdInList(const std::string& extension_id, |
| 177 const std::vector<std::string>& list); | 182 const std::vector<std::string>& list); |
| 178 | 183 |
| 179 bool MatchesManifestLocation(Manifest::Location manifest_location) const; | 184 bool MatchesManifestLocation(Manifest::Location manifest_location) const; |
| 180 | 185 |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 193 std::vector<Manifest::Type> extension_types_; | 198 std::vector<Manifest::Type> extension_types_; |
| 194 std::vector<Context> contexts_; | 199 std::vector<Context> contexts_; |
| 195 std::vector<Platform> platforms_; | 200 std::vector<Platform> platforms_; |
| 196 URLPatternSet matches_; | 201 URLPatternSet matches_; |
| 197 Location location_; | 202 Location location_; |
| 198 int min_manifest_version_; | 203 int min_manifest_version_; |
| 199 int max_manifest_version_; | 204 int max_manifest_version_; |
| 200 bool component_extensions_auto_granted_; | 205 bool component_extensions_auto_granted_; |
| 201 std::string command_line_switch_; | 206 std::string command_line_switch_; |
| 202 std::unique_ptr<version_info::Channel> channel_; | 207 std::unique_ptr<version_info::Channel> channel_; |
| 208 bool internal_; | |
| 203 | 209 |
| 204 DISALLOW_COPY_AND_ASSIGN(SimpleFeature); | 210 DISALLOW_COPY_AND_ASSIGN(SimpleFeature); |
| 205 }; | 211 }; |
| 206 | 212 |
| 207 } // namespace extensions | 213 } // namespace extensions |
| 208 | 214 |
| 209 #endif // EXTENSIONS_COMMON_FEATURES_SIMPLE_FEATURE_H_ | 215 #endif // EXTENSIONS_COMMON_FEATURES_SIMPLE_FEATURE_H_ |
| OLD | NEW |