| 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..14ed317d8c412c7f33c85993d9e540f4f9e86b07 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,7 @@ 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_;
|
| std::vector<Context> contexts_;
|
| std::vector<Platform> platforms_;
|
| URLPatternSet matches_;
|
|
|