Index: extensions/common/features/feature.h |
diff --git a/extensions/common/features/feature.h b/extensions/common/features/feature.h |
index 0300ed03e5bf5216ef65e6612f9bae308c597a44..6d3c8c5f3fc566f3ee16adca66a9d116ee0f4e3e 100644 |
--- a/extensions/common/features/feature.h |
+++ b/extensions/common/features/feature.h |
@@ -73,6 +73,7 @@ class Feature { |
NOT_PRESENT, |
UNSUPPORTED_CHANNEL, |
FOUND_IN_BLACKLIST, |
+ MISSING_COMMAND_LINE_SWITCH, |
}; |
// Container for AvailabiltyResult that also exposes a user-visible error |
@@ -149,6 +150,17 @@ class Feature { |
const GURL& url, |
Context context) const = 0; |
+ // Returns true if the feature is available to the current environment, |
+ // without needing to know information about an Extension or any other |
+ // contextual information. Typically used when the Feature is purely |
+ // configured by command line flags and/or Chrome channel. |
+ // |
+ // Generally try not to use this function. Even if you don't think a Feature |
+ // relies on an Extension now - maybe it will, one day, so if there's an |
+ // Extension available (or a runtime context, etc) then use the more targeted |
+ // method instead. |
+ Availability IsAvailableToEnvironment() const; |
+ |
virtual bool IsIdInBlacklist(const std::string& extension_id) const = 0; |
virtual bool IsIdInWhitelist(const std::string& extension_id) const = 0; |