forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBUILD.gn
356 lines (331 loc) · 12.4 KB
/
BUILD.gn
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
# 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")
config("headless_implementation") {
defines = [ "HEADLESS_IMPLEMENTATION" ]
}
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",
]
}
action("gen_devtools_client_api") {
script = "//headless/lib/browser/client_api_generator.py"
deps = [
"//third_party/WebKit/Source/core/inspector:protocol_version",
]
inputs = [
"$root_gen_dir/blink/core/inspector/protocol.json",
]
outputs = [
"$target_gen_dir/public/domains/accessibility.cc",
"$target_gen_dir/public/domains/accessibility.h",
"$target_gen_dir/public/domains/animation.cc",
"$target_gen_dir/public/domains/animation.h",
"$target_gen_dir/public/domains/application_cache.cc",
"$target_gen_dir/public/domains/application_cache.h",
"$target_gen_dir/public/domains/cache_storage.cc",
"$target_gen_dir/public/domains/cache_storage.h",
"$target_gen_dir/public/domains/console.cc",
"$target_gen_dir/public/domains/console.h",
"$target_gen_dir/public/domains/css.cc",
"$target_gen_dir/public/domains/css.h",
"$target_gen_dir/public/domains/database.cc",
"$target_gen_dir/public/domains/database.h",
"$target_gen_dir/public/domains/debugger.cc",
"$target_gen_dir/public/domains/debugger.h",
"$target_gen_dir/public/domains/device_orientation.cc",
"$target_gen_dir/public/domains/device_orientation.h",
"$target_gen_dir/public/domains/dom_debugger.cc",
"$target_gen_dir/public/domains/dom_debugger.h",
"$target_gen_dir/public/domains/dom.cc",
"$target_gen_dir/public/domains/dom.h",
"$target_gen_dir/public/domains/dom_storage.cc",
"$target_gen_dir/public/domains/dom_storage.h",
"$target_gen_dir/public/domains/emulation.cc",
"$target_gen_dir/public/domains/emulation.h",
"$target_gen_dir/public/domains/heap_profiler.cc",
"$target_gen_dir/public/domains/heap_profiler.h",
"$target_gen_dir/public/domains/indexeddb.cc",
"$target_gen_dir/public/domains/indexeddb.h",
"$target_gen_dir/public/domains/input.cc",
"$target_gen_dir/public/domains/input.h",
"$target_gen_dir/public/domains/inspector.cc",
"$target_gen_dir/public/domains/inspector.h",
"$target_gen_dir/public/domains/io.cc",
"$target_gen_dir/public/domains/io.h",
"$target_gen_dir/public/domains/layer_tree.cc",
"$target_gen_dir/public/domains/layer_tree.h",
"$target_gen_dir/public/domains/memory.cc",
"$target_gen_dir/public/domains/memory.h",
"$target_gen_dir/public/domains/network.cc",
"$target_gen_dir/public/domains/network.h",
"$target_gen_dir/public/domains/page.cc",
"$target_gen_dir/public/domains/page.h",
"$target_gen_dir/public/domains/profiler.cc",
"$target_gen_dir/public/domains/profiler.h",
"$target_gen_dir/public/domains/rendering.cc",
"$target_gen_dir/public/domains/rendering.h",
"$target_gen_dir/public/domains/runtime.cc",
"$target_gen_dir/public/domains/runtime.h",
"$target_gen_dir/public/domains/security.cc",
"$target_gen_dir/public/domains/security.h",
"$target_gen_dir/public/domains/service_worker.cc",
"$target_gen_dir/public/domains/service_worker.h",
"$target_gen_dir/public/domains/tracing.cc",
"$target_gen_dir/public/domains/tracing.h",
"$target_gen_dir/public/domains/type_conversions.h",
"$target_gen_dir/public/domains/types.cc",
"$target_gen_dir/public/domains/types.h",
"$target_gen_dir/public/domains/worker.cc",
"$target_gen_dir/public/domains/worker.h",
]
sources = [
"lib/browser/domain_cc.template",
"lib/browser/domain_h.template",
"lib/browser/type_conversions_h.template",
"lib/browser/types_cc.template",
"lib/browser/types_h.template",
]
args = [
"--protocol",
rebase_path(inputs[0], root_build_dir),
"--output_dir",
rebase_path(target_gen_dir) + "/public/domains",
]
}
static_library("headless_lib") {
sources = [
"$target_gen_dir/public/domains/accessibility.cc",
"$target_gen_dir/public/domains/accessibility.h",
"$target_gen_dir/public/domains/animation.cc",
"$target_gen_dir/public/domains/animation.h",
"$target_gen_dir/public/domains/application_cache.cc",
"$target_gen_dir/public/domains/application_cache.h",
"$target_gen_dir/public/domains/cache_storage.cc",
"$target_gen_dir/public/domains/cache_storage.h",
"$target_gen_dir/public/domains/console.cc",
"$target_gen_dir/public/domains/console.h",
"$target_gen_dir/public/domains/css.cc",
"$target_gen_dir/public/domains/css.h",
"$target_gen_dir/public/domains/database.cc",
"$target_gen_dir/public/domains/database.h",
"$target_gen_dir/public/domains/debugger.cc",
"$target_gen_dir/public/domains/debugger.h",
"$target_gen_dir/public/domains/device_orientation.cc",
"$target_gen_dir/public/domains/device_orientation.h",
"$target_gen_dir/public/domains/dom.cc",
"$target_gen_dir/public/domains/dom.h",
"$target_gen_dir/public/domains/dom_debugger.cc",
"$target_gen_dir/public/domains/dom_debugger.h",
"$target_gen_dir/public/domains/dom_storage.cc",
"$target_gen_dir/public/domains/dom_storage.h",
"$target_gen_dir/public/domains/emulation.cc",
"$target_gen_dir/public/domains/emulation.h",
"$target_gen_dir/public/domains/heap_profiler.cc",
"$target_gen_dir/public/domains/heap_profiler.h",
"$target_gen_dir/public/domains/indexeddb.cc",
"$target_gen_dir/public/domains/indexeddb.h",
"$target_gen_dir/public/domains/input.cc",
"$target_gen_dir/public/domains/input.h",
"$target_gen_dir/public/domains/inspector.cc",
"$target_gen_dir/public/domains/inspector.h",
"$target_gen_dir/public/domains/io.cc",
"$target_gen_dir/public/domains/io.h",
"$target_gen_dir/public/domains/layer_tree.cc",
"$target_gen_dir/public/domains/layer_tree.h",
"$target_gen_dir/public/domains/memory.cc",
"$target_gen_dir/public/domains/memory.h",
"$target_gen_dir/public/domains/network.cc",
"$target_gen_dir/public/domains/network.h",
"$target_gen_dir/public/domains/page.cc",
"$target_gen_dir/public/domains/page.h",
"$target_gen_dir/public/domains/profiler.cc",
"$target_gen_dir/public/domains/profiler.h",
"$target_gen_dir/public/domains/rendering.cc",
"$target_gen_dir/public/domains/rendering.h",
"$target_gen_dir/public/domains/runtime.cc",
"$target_gen_dir/public/domains/runtime.h",
"$target_gen_dir/public/domains/security.cc",
"$target_gen_dir/public/domains/security.h",
"$target_gen_dir/public/domains/service_worker.cc",
"$target_gen_dir/public/domains/service_worker.h",
"$target_gen_dir/public/domains/tracing.cc",
"$target_gen_dir/public/domains/tracing.h",
"$target_gen_dir/public/domains/type_conversions.h",
"$target_gen_dir/public/domains/types.cc",
"$target_gen_dir/public/domains/types.h",
"$target_gen_dir/public/domains/worker.cc",
"$target_gen_dir/public/domains/worker.h",
"lib/browser/headless_browser_context_impl.cc",
"lib/browser/headless_browser_context_impl.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_devtools_client_impl.cc",
"lib/browser/headless_devtools_client_impl.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/browser/headless_window_tree_client.cc",
"lib/browser/headless_window_tree_client.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_browser_context.h",
"public/headless_devtools_client.h",
"public/headless_devtools_host.h",
"public/headless_devtools_target.h",
"public/headless_export.h",
"public/headless_web_contents.h",
"public/internal/message_dispatcher.h",
"public/internal/value_conversions.h",
"public/util/error_reporter.cc",
"public/util/error_reporter.h",
]
deps = [
":gen_devtools_client_api",
":pak",
"//base",
"//components/devtools_http_handler",
"//content/public/app:both",
"//content/public/browser",
"//content/public/child",
"//content/public/common",
"//content/public/renderer",
"//content/public/utility",
"//net",
"//ui/aura",
"//ui/base",
"//ui/compositor",
"//ui/display",
"//ui/ozone",
"//url",
]
configs += [ ":headless_implementation" ]
}
group("headless_tests") {
testonly = true
deps = [
":client_api_generator_tests",
":headless_browsertests",
":headless_unittests",
]
}
test("headless_unittests") {
sources = [
"public/domains/types_unittest.cc",
"public/util/error_reporter_unittest.cc",
]
deps = [
":headless_lib",
"//base/test:run_all_unittests",
"//base/test:test_support",
"//testing/gtest",
]
}
action("client_api_generator_tests") {
_stamp = "$target_gen_dir/client_api_generator_unittests.stamp"
inputs = [
"lib/browser/client_api_generator.py",
"lib/browser/client_api_generator_unittest.py",
]
outputs = [
_stamp,
]
script = "lib/browser/client_api_generator_unittest.py"
args = [
"--stamp",
rebase_path(_stamp, root_build_dir),
]
}
test("headless_browsertests") {
sources = [
"lib/headless_browser_browsertest.cc",
"lib/headless_browser_context_browsertest.cc",
"lib/headless_devtools_client_browsertest.cc",
"lib/headless_web_contents_browsertest.cc",
"test/headless_browser_test.cc",
"test/headless_browser_test.h",
"test/headless_test_launcher.cc",
"test/test_protocol_handler.cc",
"test/test_protocol_handler.h",
"test/test_url_request_job.cc",
"test/test_url_request_job.h",
]
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") {
sources = [
"app/headless_shell.cc",
"app/headless_shell_switches.cc",
"app/headless_shell_switches.h",
]
deps = [
"//headless:headless_lib",
]
}