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. 4 5 #include "extensions/common/features/api_feature.h" 6 7 namespace extensions { 8 APIFeature()9APIFeature::APIFeature() 10 : internal_(false), blocked_in_service_worker_(false) {} 11 ~APIFeature()12APIFeature::~APIFeature() { 13 } 14 IsInternal() const15bool APIFeature::IsInternal() const { 16 return internal_; 17 } 18 IsBlockedInServiceWorker() const19bool APIFeature::IsBlockedInServiceWorker() const { 20 return blocked_in_service_worker_; 21 } 22 Parse(const base::DictionaryValue * value)23std::string APIFeature::Parse(const base::DictionaryValue* value) { 24 std::string error = SimpleFeature::Parse(value); 25 if (!error.empty()) 26 return error; 27 28 value->GetBoolean("internal", &internal_); 29 value->GetBoolean("blocked_in_service_worker", &blocked_in_service_worker_); 30 31 if (GetContexts()->empty()) 32 return name() + ": API features must specify at least one context."; 33 34 return std::string(); 35 } 36 37 } // namespace extensions 38