Chromium Code Reviews| Index: extensions/common/features/simple_feature.h |
| diff --git a/extensions/common/features/simple_feature.h b/extensions/common/features/simple_feature.h |
| index fb931562298d7780739ed0c411a69535105ae1cb..88d789ceab58a213e6d9c967e6475dd3a679af24 100644 |
| --- a/extensions/common/features/simple_feature.h |
| +++ b/extensions/common/features/simple_feature.h |
| @@ -21,6 +21,7 @@ |
| #include "components/version_info/version_info.h" |
| #include "extensions/common/extension.h" |
| #include "extensions/common/features/feature.h" |
| +#include "extensions/common/features/feature_session_type.h" |
| #include "extensions/common/manifest.h" |
| namespace extensions { |
| @@ -115,6 +116,7 @@ class SimpleFeature : public Feature { |
| void set_contexts(std::initializer_list<Context> contexts); |
| void set_dependencies(std::initializer_list<const char* const> dependencies); |
| void set_extension_types(std::initializer_list<Manifest::Type> types); |
| + void set_session_types(std::initializer_list<FeatureSessionType> types); |
| void set_internal(bool is_internal) { is_internal_ = is_internal; } |
| void set_location(Location location) { location_ = location; } |
| // set_matches() is an exception to pass-by-value since we construct an |
| @@ -158,7 +160,8 @@ class SimpleFeature : public Feature { |
| Manifest::Type type, |
| const GURL& url, |
| Context context, |
| - version_info::Channel channel) const; |
| + version_info::Channel channel, |
| + FeatureSessionType session_type) const; |
| // Handy utilities which construct the correct availability message. |
| Availability CreateAvailability(AvailabilityResult result) const; |
| @@ -170,6 +173,8 @@ class SimpleFeature : public Feature { |
| Context context) const; |
| Availability CreateAvailability(AvailabilityResult result, |
| version_info::Channel channel) const; |
| + Availability CreateAvailability(AvailabilityResult result, |
| + FeatureSessionType session_type) const; |
| private: |
| friend struct FeatureComparator; |
| @@ -183,6 +188,7 @@ class SimpleFeature : public Feature { |
| FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, CommandLineSwitch); |
| FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, ComplexFeatureAvailability); |
| FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, Context); |
| + FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, SessionType); |
| FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, FeatureValidation); |
| FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, HashedIdBlacklist); |
| FRIEND_TEST_ALL_PREFIXES(SimpleFeatureTest, HashedIdWhitelist); |
| @@ -222,6 +228,8 @@ class SimpleFeature : public Feature { |
| std::vector<std::string> whitelist_; |
| std::vector<std::string> dependencies_; |
| std::vector<Manifest::Type> extension_types_; |
| + std::vector<FeatureSessionType> session_types_; |
| + bool session_types_set_; |
|
Devlin
2016/08/23 20:49:06
I'd prefer we handle this differently, e.g. by not
tbarzic
2016/09/08 18:48:55
Done.
|
| std::vector<Context> contexts_; |
| std::vector<Platform> platforms_; |
| URLPatternSet matches_; |