• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()9 APIFeature::APIFeature()
10     : internal_(false), blocked_in_service_worker_(false) {}
11 
~APIFeature()12 APIFeature::~APIFeature() {
13 }
14 
IsInternal() const15 bool APIFeature::IsInternal() const {
16   return internal_;
17 }
18 
IsBlockedInServiceWorker() const19 bool APIFeature::IsBlockedInServiceWorker() const {
20   return blocked_in_service_worker_;
21 }
22 
Parse(const base::DictionaryValue * value)23 std::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