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

import("//arkweb/build/features/features.gni")
import("//extensions/buildflags/buildflags.gni")

assert(enable_extensions)

source_set("platform_apps") {
  sources = [
    "app_load_service.cc",
    "app_load_service.h",
    "app_load_service_factory.cc",
    "app_load_service_factory.h",
    "app_termination_observer.cc",
    "app_termination_observer.h",
    "app_termination_observer_factory.cc",
    "app_termination_observer_factory.h",
    "app_window_registry_util.cc",
    "app_window_registry_util.h",
    "audio_focus_web_contents_observer.cc",
    "audio_focus_web_contents_observer.h",
    "browser_context_keyed_service_factories.cc",
    "browser_context_keyed_service_factories.h",
    "chrome_apps_browser_api_provider.cc",
    "chrome_apps_browser_api_provider.h",
    "install_chrome_app.cc",
    "install_chrome_app.h",
    "platform_app_launch.cc",
    "platform_app_launch.h",
    "platform_app_navigation_redirector.cc",
    "platform_app_navigation_redirector.h",
    "shortcut_manager.cc",
    "shortcut_manager.h",
    "shortcut_manager_factory.cc",
    "shortcut_manager_factory.h",
  ]

  if (is_mac) {
    sources += [
      "extension_app_shim_manager_delegate_mac.cc",
      "extension_app_shim_manager_delegate_mac.h",
    ]
  }

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

  public_deps = [
    "//apps",
    "//chrome/browser:browser_public_dependencies",
    "//chrome/browser/apps/platform_apps/api:api_registration",
    "//chrome/browser/profiles:profile_util",
    "//chrome/common/apps/platform_apps/api",
  ]

  if (defined(arkweb_arkweb_extensions) && arkweb_arkweb_extensions) {
    public_deps -= [ "//chrome/browser/apps/platform_apps/api:api_registration" ]
  }

  deps = [
    "//chrome/app:command_ids",
    "//chrome/browser:browser_process",
    "//chrome/browser:shell_integration",
    "//chrome/browser/apps/app_service",
    "//chrome/browser/extensions",
    "//chrome/browser/lifetime:termination_notification",
    "//chrome/browser/media/router/discovery",
    "//chrome/browser/profiles",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/ui:browser_list",
    "//chrome/browser/ui/extensions",
    "//chrome/browser/web_applications",
    "//chrome/browser/web_applications/extensions",
    "//chrome/common",
    "//components/crx_file",
    "//components/keyed_service/content",
    "//components/navigation_interception",
    "//components/no_state_prefetch/browser",
    "//components/pref_registry",
    "//components/services/app_service",
    "//components/sharing_message/proto",
    "//content/public/browser",
    "//content/public/common",
    "//extensions/browser",
    "//extensions/common",
    "//extensions/common/api",
    "//net",
    "//services/preferences/public/cpp",
    "//ui/gfx",
  ]

  allow_circular_includes_from = [ "//chrome/browser/extensions" ]

  if (is_mac) {
    deps += [
      "//chrome/browser/apps/app_shim",
      "//chrome/browser/profiles",
      "//chrome/browser/ui/extensions:extension_enable_flow_delegate",
    ]
  }

  if (is_chromeos) {
    deps += [
      "//chrome/browser/ash/login/demo_mode",
      "//chrome/browser/ash/remote_apps",
      "//chrome/browser/ui/ash/keyboard",
    ]

    allow_circular_includes_from += [
      "//chrome/browser/ash/login/demo_mode",
      "//chrome/browser/ui/ash/keyboard",
    ]
  }
}