Release the Settings API.
[chromium-blink-merge.git] / extensions / common / features / api_feature.cc
blob4a4ac1cbbda3a12ef1ded2a430d6d9519bae5b61
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "extensions/common/features/api_feature.h"
7 namespace extensions {
9 APIFeature::APIFeature()
10 : internal_(false), blocked_in_service_worker_(false) {}
12 APIFeature::~APIFeature() {
15 bool APIFeature::IsInternal() const {
16 return internal_;
19 bool APIFeature::IsBlockedInServiceWorker() const {
20 return blocked_in_service_worker_;
23 std::string APIFeature::Parse(const base::DictionaryValue* value) {
24 std::string error = SimpleFeature::Parse(value);
25 if (!error.empty())
26 return error;
28 value->GetBoolean("internal", &internal_);
29 value->GetBoolean("blocked_in_service_worker", &blocked_in_service_worker_);
31 if (GetContexts()->empty())
32 return name() + ": API features must specify at least one context.";
34 return std::string();
37 } // namespace extensions