# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/features.gni")
import("//build/json_schema_api.gni")
import("schemas.gni")

assert(enable_extensions)

# GYP version: extensions/common/api/api.gyp:extensions_api
json_schema_api("api") {
  schemas = true
  bundle = true
}

# GYP version: extensions/browser/api/api_registration.gyp:extensions_api_registration
json_schema_api("api_registration") {
  impl_dir = "//extensions/browser/api"
  bundle_registration = true

  deps = [
    ":api",
    "//device/serial",
    "//extensions/common/api/cast_channel:cast_channel_proto",
    "//skia",
  ]
}
