# Copyright 2014 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/ui.gni")
import("//extensions/buildflags/buildflags.gni")

assert(!is_android && !is_ios)
assert(enable_platform_apps,
       "Cannot depend on platform apps because enable_platform_apps=false.")

static_library("apps") {
  sources = []

  sources += [
    "app_lifetime_monitor.cc",
    "app_lifetime_monitor.h",
    "app_lifetime_monitor_factory.cc",
    "app_lifetime_monitor_factory.h",
    "app_restore_service.cc",
    "app_restore_service.h",
    "app_restore_service_factory.cc",
    "app_restore_service_factory.h",
    "browser_context_keyed_service_factories.cc",
    "browser_context_keyed_service_factories.h",
    "launcher.cc",
    "launcher.h",
    "saved_files_service.cc",
    "saved_files_service.h",
    "saved_files_service_factory.cc",
    "saved_files_service_factory.h",
    "switches.cc",
    "switches.h",
  ]

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

  deps = [
    "//base",
    "//components/keyed_service/content",
    "//content/public/browser",
    "//content/public/common",
    "//extensions/browser",
    "//extensions/common",
    "//extensions/common/api",
  ]

  if (is_chromeos) {
    deps += [
      "//components/app_restore",
      "//components/user_manager",
    ]
  }
}

static_library("test_support") {
  testonly = true
  sources = [
    "test/app_window_waiter.cc",
    "test/app_window_waiter.h",
  ]

  public_deps = [
    "//content/public/browser",
    "//extensions/browser",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [ "saved_files_service_unittest.cc" ]

  # NOTE: Some tests have //chrome dependencies, which are temporarily allowed
  # by DEPS.
  deps = [
    ":apps",
    "//base",
    "//base/test:test_support",
    "//chrome/test:test_support",
    "//extensions/browser",
    "//extensions/common",
    "//testing/gtest",
  ]
}

source_set("browser_tests") {
  testonly = true

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  sources = [ "app_restore_service_browsertest.cc" ]

  if (!is_chromeos) {
    sources += [ "load_and_launch_browsertest.cc" ]
  }

  # NOTE: Some tests have //chrome dependencies, which are temporarily allowed
  # by DEPS.
  deps = [
    ":apps",
    "//base",
    "//chrome/browser",
    "//chrome/browser/apps/platform_apps:browser_test_support",
    "//chrome/browser/profiles:profile",
    "//chrome/browser/ui",
    "//chrome/browser/ui:simple_message_box_internal",
    "//chrome/test:test_support",
    "//content/public/browser",
    "//content/test:test_support",
    "//extensions:test_support",
    "//extensions/browser",
    "//extensions/common",
  ]
}
