Home | History | Annotate | Download | only in common

Lines Matching refs:Feature

21 #include "extensions/common/features/feature.h"
244 bool ExtensionAPI::IsAnyFeatureAvailableToContext(const Feature& api,
246 Feature::Context context,
255 const std::vector<Feature*> features = provider->second->GetChildren(api);
256 for (std::vector<Feature*>::const_iterator feature = features.begin();
257 feature != features.end();
258 ++feature) {
259 if (IsAvailable(**feature, extension, context, url).is_available())
265 Feature::Availability ExtensionAPI::IsAvailable(const std::string& full_name,
267 Feature::Context context,
269 Feature* feature = GetFeatureDependency(full_name);
270 if (!feature) {
271 return Feature::CreateAvailability(Feature::NOT_PRESENT,
272 std::string("Unknown feature: ") + full_name);
274 return IsAvailable(*feature, extension, context, url);
277 Feature::Availability ExtensionAPI::IsAvailable(const Feature& feature,
279 Feature::Context context,
281 Feature::Availability availability =
282 feature.IsAvailableToContext(extension, context, url);
286 for (std::set<std::string>::iterator iter = feature.dependencies().begin();
287 iter != feature.dependencies().end(); ++iter) {
288 Feature::Availability dependency_availability =
294 return Feature::CreateAvailability(Feature::IS_AVAILABLE, std::string());
298 Feature* feature = GetFeatureDependency(full_name);
299 CHECK(feature);
300 DCHECK(!feature->GetContexts()->empty());
302 return feature->GetContexts()->size() ==
303 feature->GetContexts()->count(Feature::BLESSED_EXTENSION_CONTEXT);
343 Feature* ExtensionAPI::GetFeatureDependency(const std::string& full_name) {
353 Feature* feature = provider->second->GetFeature(feature_name);
354 // Try getting the feature for the parent API, if this was a child.
355 if (!feature) {
357 feature = provider->second->GetFeature(
360 return feature;