1// Copyright 2013 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/feature.h"
6
7#include <map>
8
9#include "base/command_line.h"
10#include "base/lazy_instance.h"
11#include "base/strings/string_util.h"
12#include "base/strings/stringprintf.h"
13#include "extensions/common/extension.h"
14
15namespace extensions {
16
17// static
18Feature::Platform Feature::GetCurrentPlatform() {
19#if defined(OS_CHROMEOS)
20  return CHROMEOS_PLATFORM;
21#elif defined(OS_LINUX)
22  return LINUX_PLATFORM;
23#elif defined(OS_MACOSX)
24  return MACOSX_PLATFORM;
25#elif defined(OS_WIN)
26  return WIN_PLATFORM;
27#else
28  return UNSPECIFIED_PLATFORM;
29#endif
30}
31
32// static
33Feature::Availability Feature::CreateAvailability(AvailabilityResult result,
34                                                  const std::string& message) {
35  return Availability(result, message);
36}
37
38Feature::Availability Feature::IsAvailableToExtension(
39    const Extension* extension) {
40  return IsAvailableToManifest(extension->id(),
41                               extension->GetType(),
42                               extension->location(),
43                               extension->manifest_version());
44}
45
46Feature::Feature() : no_parent_(false) {}
47
48Feature::~Feature() {}
49
50}  // namespace extensions
51