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

import("//extensions/buildflags/buildflags.gni")

assert(enable_extensions,
       "Cannot depend on extensions because enable_extensions=false.")

source_set("app_window") {
  sources = [
    "app_window_api.cc",
    "app_window_api.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  public_deps = [ "//extensions/browser:browser_sources" ]

  deps = [
    "//base",
    "//build:chromeos_buildflags",
    "//content/public/browser",
    "//content/public/common",
    "//extensions/common",
    "//extensions/common:mojom",
    "//extensions/common/api",
    "//skia",
    "//ui/base/mojom:ui_base_types",
    "//ui/gfx/geometry",
    "//url",
  ]
}
