chromium/chrome/browser/apps/platform_apps/BUILD.gn

# 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("//build/config/chromeos/ui_mode.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_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/common/apps/platform_apps/api",
  ]

  deps = [
    "//build:chromeos_buildflags",
    "//chrome/app:command_ids",
    "//chrome/browser:browser_process",
    "//chrome/browser/apps/app_service",
    "//chrome/browser/extensions",
    "//chrome/browser/media/router/discovery",
    "//chrome/browser/profiles",
    "//chrome/browser/profiles:profile",
    "//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:cpp",
    "//ui/gfx",
  ]

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

  if (is_mac) {
    deps += [ "//chrome/browser/apps/app_shim" ]
  }

  if (is_chromeos_ash) {
    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",
    ]
  }
}