Index: extensions/common/features/simple_feature.h |
diff --git a/extensions/common/features/simple_feature.h b/extensions/common/features/simple_feature.h |
index 59db2be5cf856062e0e9aafe45421e8489aad45b..94b39fb9fd0c5b5f4bf5dce5a5f95bd7e1c17b7e 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 { |
@@ -106,6 +107,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 |
@@ -149,7 +151,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; |
@@ -161,6 +164,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; |
@@ -174,6 +179,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); |
@@ -213,6 +219,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_; |