summaryrefslogtreecommitdiffstats
path: root/headless/BUILD.gn
blob: c05783856776b73dc46f654999611295c6f3542b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# Copyright 2015 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("//testing/test.gni")
import("//tools/grit/grit_rule.gni")
import("//tools/grit/repack.gni")

group("headless") {
  deps = [
    "//headless:headless_lib",
  ]
}

repack("pak") {
  sources = [
    "$root_gen_dir/blink/devtools_resources.pak",
    "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak",
    "$root_gen_dir/blink/public/resources/blink_resources.pak",
    "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
    "$root_gen_dir/content/app/strings/content_strings_en-US.pak",
    "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
    "$root_gen_dir/content/content_resources.pak",
    "$root_gen_dir/headless/headless_lib_resources.pak",
    "$root_gen_dir/net/net_resources.pak",
    "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
    "$root_gen_dir/ui/resources/webui_resources.pak",
    "$root_gen_dir/ui/strings/app_locale_settings_en-US.pak",
    "$root_gen_dir/ui/strings/ui_strings_en-US.pak",
  ]

  deps = [
    ":headless_lib_resources_grit",
    "//content:resources",
    "//content/app/resources",
    "//content/app/strings",
    "//content/browser/devtools:resources",
    "//content/browser/tracing:resources",
    "//net:net_resources",
    "//third_party/WebKit/public:image_resources",
    "//third_party/WebKit/public:resources",
    "//ui/resources",
    "//ui/strings",
  ]

  output = "$root_out_dir/headless_lib.pak"
}

grit("headless_lib_resources_grit") {
  source = "lib/resources/headless_lib_resources.grd"
  outputs = [
    "grit/headless_lib_resources.h",
    "$root_gen_dir/headless/headless_lib_resources.pak",
  ]
}

static_library("headless_lib") {
  sources = [
    "lib/browser/headless_browser_context.cc",
    "lib/browser/headless_browser_context.h",
    "lib/browser/headless_browser_impl.cc",
    "lib/browser/headless_browser_impl.h",
    "lib/browser/headless_browser_main_parts.cc",
    "lib/browser/headless_browser_main_parts.h",
    "lib/browser/headless_content_browser_client.cc",
    "lib/browser/headless_content_browser_client.h",
    "lib/browser/headless_devtools.cc",
    "lib/browser/headless_devtools.h",
    "lib/browser/headless_screen.cc",
    "lib/browser/headless_screen.h",
    "lib/browser/headless_url_request_context_getter.cc",
    "lib/browser/headless_url_request_context_getter.h",
    "lib/browser/headless_web_contents_impl.cc",
    "lib/browser/headless_web_contents_impl.h",
    "lib/headless_content_client.cc",
    "lib/headless_content_client.h",
    "lib/headless_content_main_delegate.cc",
    "lib/headless_content_main_delegate.h",
    "lib/renderer/headless_content_renderer_client.cc",
    "lib/renderer/headless_content_renderer_client.h",
    "lib/utility/headless_content_utility_client.cc",
    "lib/utility/headless_content_utility_client.h",
    "public/headless_browser.cc",
    "public/headless_browser.h",
    "public/headless_export.h",
    "public/headless_web_contents.h",
  ]

  deps = [
    ":pak",
    "//base",
    "//components/devtools_http_handler",
    "//content/public/browser",
    "//content/public/common",
    "//content/public/renderer",
    "//content/public/utility",
    "//net",
    "//ui/aura",
    "//ui/base",
    "//ui/compositor",
    "//ui/ozone",
    "//url",
  ]
}

group("headless_tests") {
  testonly = true

  deps = [
    ":headless_browsertests",
  ]
}

test("headless_browsertests") {
  sources = [
    "lib/headless_browser_browsertest.cc",
    "lib/headless_web_contents_browsertest.cc",
    "test/headless_browser_test.cc",
    "test/headless_browser_test.h",
    "test/headless_test_launcher.cc",
  ]

  defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]

  deps = [
    "//base",
    "//content/test:browsertest_base",
    "//content/test:test_support",
    "//headless:headless_lib",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

executable("headless_shell") {
  testonly = true

  sources = [
    "app/headless_shell.cc",
    "app/headless_shell_switches.cc",
    "app/headless_shell_switches.h",
  ]

  deps = [
    "//headless:headless_lib",
  ]
}