1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "extensions/common/features/api_feature.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace extensions { 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 9e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen MurdochAPIFeature::APIFeature() 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) : internal_(false) {} 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)APIFeature::~APIFeature() { 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool APIFeature::IsInternal() const { 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return internal_; 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 197d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)std::string APIFeature::Parse(const base::DictionaryValue* value) { 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) std::string error = SimpleFeature::Parse(value); 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (!error.empty()) 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return error; 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) value->GetBoolean("internal", &internal_); 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch if (contexts()->empty()) 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return name() + ": API features must specify at least one context."; 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return std::string(); 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 32e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdoch} // namespace extensions 33