OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/chrome_build.gni") | 5 import("//build/config/chrome_build.gni") |
6 import("//headless/headless.gni") | 6 import("//headless/headless.gni") |
7 import("//build/util/process_version.gni") | 7 import("//build/util/process_version.gni") |
8 import("//mojo/public/tools/bindings/mojom.gni") | 8 import("//mojo/public/tools/bindings/mojom.gni") |
9 import("//printing/features/features.gni") | 9 import("//printing/features/features.gni") |
10 import("//testing/test.gni") | 10 import("//testing/test.gni") |
11 import("//tools/grit/grit_rule.gni") | 11 import("//tools/grit/grit_rule.gni") |
12 import("//tools/grit/repack.gni") | 12 import("//tools/grit/repack.gni") |
13 | 13 |
14 config("headless_implementation") { | 14 config("headless_implementation") { |
15 defines = [ "HEADLESS_IMPLEMENTATION" ] | 15 defines = [ "HEADLESS_IMPLEMENTATION" ] |
16 | 16 |
17 if (headless_use_embedded_resources) { | 17 if (headless_use_embedded_resources) { |
18 defines += [ "HEADLESS_USE_EMBEDDED_RESOURCES" ] | 18 defines += [ "HEADLESS_USE_EMBEDDED_RESOURCES" ] |
19 } | 19 } |
20 } | 20 } |
21 | 21 |
22 group("headless") { | 22 group("headless_lib") { |
23 deps = [ | 23 deps = [ |
24 "//headless:headless_lib", | 24 "//headless:headless", |
25 ] | 25 ] |
26 } | 26 } |
27 | 27 |
28 repack("pak") { | 28 repack("pak") { |
29 sources = [ | 29 sources = [ |
30 "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak"
, | 30 "$root_gen_dir/blink/public/resources/blink_image_resources_100_percent.pak"
, |
31 "$root_gen_dir/blink/public/resources/blink_resources.pak", | 31 "$root_gen_dir/blink/public/resources/blink_resources.pak", |
32 "$root_gen_dir/components/strings/components_strings_en-US.pak", | 32 "$root_gen_dir/components/strings/components_strings_en-US.pak", |
33 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", | 33 "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", |
34 "$root_gen_dir/content/app/strings/content_strings_en-US.pak", | 34 "$root_gen_dir/content/app/strings/content_strings_en-US.pak", |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 ] | 195 ] |
196 | 196 |
197 args = [ | 197 args = [ |
198 "--protocol", | 198 "--protocol", |
199 rebase_path(inputs[0], root_build_dir), | 199 rebase_path(inputs[0], root_build_dir), |
200 "--output_dir", | 200 "--output_dir", |
201 rebase_path(target_gen_dir) + "/public", | 201 rebase_path(target_gen_dir) + "/public", |
202 ] | 202 ] |
203 } | 203 } |
204 | 204 |
205 static_library("headless_lib") { | 205 component("headless") { |
206 sources = generated_devtools_api + [ | 206 sources = generated_devtools_api + [ |
207 "app/headless_shell_switches.cc", | 207 "app/headless_shell_switches.cc", |
208 "app/headless_shell_switches.h", | 208 "app/headless_shell_switches.h", |
209 "lib/browser/headless_browser_context_impl.cc", | 209 "lib/browser/headless_browser_context_impl.cc", |
210 "lib/browser/headless_browser_context_impl.h", | 210 "lib/browser/headless_browser_context_impl.h", |
211 "lib/browser/headless_browser_context_options.cc", | 211 "lib/browser/headless_browser_context_options.cc", |
212 "lib/browser/headless_browser_context_options.h", | 212 "lib/browser/headless_browser_context_options.h", |
213 "lib/browser/headless_browser_impl.cc", | 213 "lib/browser/headless_browser_impl.cc", |
214 "lib/browser/headless_browser_impl.h", | 214 "lib/browser/headless_browser_impl.h", |
215 "lib/browser/headless_browser_impl_mac.mm", | 215 "lib/browser/headless_browser_impl_mac.mm", |
(...skipping 21 matching lines...) Expand all Loading... |
237 "lib/browser/headless_tab_socket_impl.h", | 237 "lib/browser/headless_tab_socket_impl.h", |
238 "lib/browser/headless_url_request_context_getter.cc", | 238 "lib/browser/headless_url_request_context_getter.cc", |
239 "lib/browser/headless_url_request_context_getter.h", | 239 "lib/browser/headless_url_request_context_getter.h", |
240 "lib/browser/headless_web_contents_impl.cc", | 240 "lib/browser/headless_web_contents_impl.cc", |
241 "lib/browser/headless_web_contents_impl.h", | 241 "lib/browser/headless_web_contents_impl.h", |
242 "lib/browser/headless_window_tree_host.h", | 242 "lib/browser/headless_window_tree_host.h", |
243 "lib/headless_crash_reporter_client.cc", | 243 "lib/headless_crash_reporter_client.cc", |
244 "lib/headless_crash_reporter_client.h", | 244 "lib/headless_crash_reporter_client.h", |
245 "lib/headless_content_client.cc", | 245 "lib/headless_content_client.cc", |
246 "lib/headless_content_client.h", | 246 "lib/headless_content_client.h", |
247 "lib/headless_content_main_delegate.cc", | |
248 "lib/headless_content_main_delegate.h", | |
249 "lib/renderer/headless_content_renderer_client.cc", | |
250 "lib/renderer/headless_content_renderer_client.h", | |
251 "public/headless_browser.cc", | 247 "public/headless_browser.cc", |
252 "public/headless_browser.h", | 248 "public/headless_browser.h", |
253 "public/headless_browser_context.h", | 249 "public/headless_browser_context.h", |
254 "public/headless_devtools_client.h", | 250 "public/headless_devtools_client.h", |
255 "public/headless_devtools_host.h", | 251 "public/headless_devtools_host.h", |
256 "public/headless_devtools_target.h", | 252 "public/headless_devtools_target.h", |
257 "public/headless_export.h", | 253 "public/headless_export.h", |
258 "public/headless_web_contents.h", | 254 "public/headless_web_contents.h", |
259 "public/internal/message_dispatcher.h", | 255 "public/internal/message_dispatcher.h", |
260 "public/internal/value_conversions.h", | 256 "public/internal/value_conversions.h", |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
321 "//net", | 317 "//net", |
322 ] | 318 ] |
323 | 319 |
324 deps = [ | 320 deps = [ |
325 ":gen_devtools_client_api", | 321 ":gen_devtools_client_api", |
326 ":tab_socket", | 322 ":tab_socket", |
327 ":version_header", | 323 ":version_header", |
328 "//components/crash/content/browser", | 324 "//components/crash/content/browser", |
329 "//components/security_state/content", | 325 "//components/security_state/content", |
330 "//components/security_state/core", | 326 "//components/security_state/core", |
331 "//content/public/app:both", | |
332 "//content/public/browser", | |
333 "//content/public/child:child", | |
334 "//content/public/common", | 327 "//content/public/common", |
335 "//content/public/common:service_names", | 328 "//content/public/common:service_names", |
336 "//services/service_manager/public/cpp", | 329 "//services/service_manager/public/cpp", |
337 "//third_party/mesa:osmesa", | 330 "//third_party/mesa:osmesa", |
338 "//ui/base", | 331 "//ui/base", |
339 "//ui/compositor", | 332 "//ui/compositor", |
340 "//ui/display", | 333 "//ui/display", |
341 "//ui/events/devices", | 334 "//ui/events/devices", |
342 "//url", | 335 "//url", |
343 ] | 336 ] |
344 | 337 |
| 338 if (is_component_build) { |
| 339 sources += [ |
| 340 "lib/headless_content_main_delegate.cc", |
| 341 "lib/headless_content_main_delegate.h", |
| 342 "lib/renderer/headless_content_renderer_client.cc", |
| 343 "lib/renderer/headless_content_renderer_client.h", |
| 344 ] |
| 345 |
| 346 if (enable_basic_printing) { |
| 347 deps += [ |
| 348 "//components/printing/browser", |
| 349 "//components/printing/renderer", |
| 350 ] |
| 351 } |
| 352 } |
| 353 |
345 if (!is_mac) { | 354 if (!is_mac) { |
346 deps += [ "//ui/aura" ] | 355 deps += [ "//ui/aura" ] |
347 } | 356 } |
348 | 357 |
349 if (enable_basic_printing) { | |
350 deps += [ | |
351 "//components/printing/browser", | |
352 "//components/printing/renderer", | |
353 ] | |
354 } | |
355 | |
356 if (headless_use_embedded_resources) { | 358 if (headless_use_embedded_resources) { |
357 deps += [ ":embed_resources" ] | 359 deps += [ ":embed_resources" ] |
358 sources += [ | 360 sources += [ |
359 "$root_gen_dir/headless/embedded_resource_pak.cc", | 361 "$root_gen_dir/headless/embedded_resource_pak.cc", |
360 "$root_gen_dir/headless/embedded_resource_pak.h", | 362 "$root_gen_dir/headless/embedded_resource_pak.h", |
361 ] | 363 ] |
362 } else { | 364 } else { |
363 deps += [ ":pak" ] | 365 deps += [ ":pak" ] |
364 } | 366 } |
365 | 367 |
366 if (use_ozone) { | 368 if (use_ozone) { |
367 deps += [ "//ui/ozone" ] | 369 deps += [ "//ui/ozone" ] |
368 } | 370 } |
369 | |
370 configs += [ ":headless_implementation" ] | 371 configs += [ ":headless_implementation" ] |
371 } | 372 } |
372 | 373 |
| 374 # Headless renderer is a convenience source set that includes headless classes |
| 375 # that depend on the reenderer. These are not added in case of a component build |
| 376 # since in that case they are already included in the headless component. |
| 377 source_set("headless_renderer") { |
| 378 deps = [ |
| 379 ":headless", |
| 380 ] |
| 381 if (!is_component_build) { |
| 382 sources = [ |
| 383 "lib/headless_content_main_delegate.cc", |
| 384 "lib/headless_content_main_delegate.h", |
| 385 "lib/renderer/headless_content_renderer_client.cc", |
| 386 "lib/renderer/headless_content_renderer_client.h", |
| 387 ] |
| 388 deps += [ "//ui/base" ] |
| 389 if (enable_basic_printing) { |
| 390 deps += [ |
| 391 "//components/printing/browser", |
| 392 "//components/printing/renderer", |
| 393 ] |
| 394 } |
| 395 configs += [ ":headless_implementation" ] |
| 396 } |
| 397 } |
| 398 |
373 group("headless_tests") { | 399 group("headless_tests") { |
374 testonly = true | 400 testonly = true |
375 | 401 |
376 deps = [ | 402 deps = [ |
377 ":headless_browsertests", | 403 ":headless_browsertests", |
378 ":headless_example", | 404 ":headless_example", |
379 ":headless_unittests", | 405 ":headless_unittests", |
380 ] | 406 ] |
381 } | 407 } |
382 | 408 |
383 test("headless_unittests") { | 409 test("headless_unittests") { |
384 sources = [ | 410 sources = [ |
385 "public/domains/types_unittest.cc", | 411 "public/domains/types_unittest.cc", |
386 "public/util/deterministic_dispatcher_test.cc", | 412 "public/util/deterministic_dispatcher_test.cc", |
387 "public/util/error_reporter_unittest.cc", | 413 "public/util/error_reporter_unittest.cc", |
388 "public/util/expedited_dispatcher_test.cc", | 414 "public/util/expedited_dispatcher_test.cc", |
389 "public/util/generic_url_request_job_test.cc", | 415 "public/util/generic_url_request_job_test.cc", |
390 "public/util/testing/fake_managed_dispatch_url_request_job.cc", | 416 "public/util/testing/fake_managed_dispatch_url_request_job.cc", |
391 "public/util/testing/fake_managed_dispatch_url_request_job.h", | 417 "public/util/testing/fake_managed_dispatch_url_request_job.h", |
392 ] | 418 ] |
393 | 419 |
394 deps = [ | 420 deps = [ |
395 ":headless_lib", | 421 ":headless", |
396 "//base/test:run_all_unittests", | 422 "//base/test:run_all_unittests", |
397 "//base/test:test_support", | 423 "//base/test:test_support", |
398 "//testing/gmock", | 424 "//testing/gmock", |
399 "//testing/gtest", | 425 "//testing/gtest", |
400 ] | 426 ] |
401 } | 427 } |
402 | 428 |
403 mojom("embedder_mojo_for_testing") { | 429 mojom("embedder_mojo_for_testing") { |
404 sources = [ | 430 sources = [ |
405 "lib/embedder_test.mojom", | 431 "lib/embedder_test.mojom", |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 "//third_party/skia/", | 485 "//third_party/skia/", |
460 "//third_party/tlslite/", | 486 "//third_party/tlslite/", |
461 "test/data/", | 487 "test/data/", |
462 ] | 488 ] |
463 | 489 |
464 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] | 490 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
465 | 491 |
466 deps = [ | 492 deps = [ |
467 ":embedder_mojo_for_testing", | 493 ":embedder_mojo_for_testing", |
468 ":headless_browser_tests_pak", | 494 ":headless_browser_tests_pak", |
| 495 ":headless_renderer", |
469 "//base", | 496 "//base", |
470 "//content/test:test_support", | 497 "//content/test:test_support", |
471 "//headless:headless_lib", | |
472 "//testing/gmock", | 498 "//testing/gmock", |
473 "//testing/gtest", | 499 "//testing/gtest", |
474 ] | 500 ] |
475 } | 501 } |
476 | 502 |
| 503 # Headless library with only browser dependencies. This is used when no child |
| 504 # dependencies are needed in the target (e.g. chrome:main_dll). |
| 505 static_library("headless_shell_browser_lib") { |
| 506 if (is_multi_dll_chrome) { |
| 507 defines = [ "CHROME_MULTIPLE_DLL_BROWSER" ] |
| 508 } |
| 509 |
| 510 sources = [ |
| 511 "app/headless_shell.cc", |
| 512 "app/headless_shell.h", |
| 513 "app/headless_shell_switches.cc", |
| 514 "app/headless_shell_switches.h", |
| 515 "app/shell_navigation_request.cc", |
| 516 "app/shell_navigation_request.h", |
| 517 "lib/headless_content_main_delegate.cc", |
| 518 "lib/headless_content_main_delegate.h", |
| 519 "public/headless_shell.h", |
| 520 ] |
| 521 |
| 522 deps = [ |
| 523 ":headless", |
| 524 "//content/public/browser", |
| 525 "//content/public/common", |
| 526 ] |
| 527 |
| 528 if (is_win) { |
| 529 deps += [ |
| 530 "//content:sandbox_helper_win", |
| 531 "//sandbox", |
| 532 ] |
| 533 } |
| 534 |
| 535 configs += [ ":headless_implementation" ] |
| 536 } |
| 537 |
| 538 # Headless library with child specific dependencies (e.g., renderer). This |
| 539 # is used when no browser depencendies are needed (e.g. chrome:child_dll). |
| 540 static_library("headless_shell_child_lib") { |
| 541 if (is_multi_dll_chrome) { |
| 542 defines = [ "CHROME_MULTIPLE_DLL_CHILD" ] |
| 543 } |
| 544 |
| 545 sources = [ |
| 546 "app/headless_shell.cc", |
| 547 "app/headless_shell.h", |
| 548 "app/headless_shell_switches.cc", |
| 549 "app/headless_shell_switches.h", |
| 550 "app/shell_navigation_request.cc", |
| 551 "app/shell_navigation_request.h", |
| 552 "lib/headless_content_main_delegate.cc", |
| 553 "lib/headless_content_main_delegate.h", |
| 554 "public/headless_shell.h", |
| 555 ] |
| 556 |
| 557 deps = [ |
| 558 ":headless_renderer", |
| 559 "//content/public/child:child", |
| 560 "//ui/base", |
| 561 ] |
| 562 |
| 563 configs += [ ":headless_implementation" ] |
| 564 } |
| 565 |
| 566 # Headless library with all included dependencies. Use this library unless you |
| 567 # have browser/child dependencies restrictions. |
477 static_library("headless_shell_lib") { | 568 static_library("headless_shell_lib") { |
478 sources = [ | 569 sources = [ |
479 "app/headless_shell.cc", | 570 "app/headless_shell.cc", |
480 "app/headless_shell.h", | 571 "app/headless_shell.h", |
481 "app/headless_shell_switches.cc", | 572 "app/headless_shell_switches.cc", |
482 "app/headless_shell_switches.h", | 573 "app/headless_shell_switches.h", |
483 "app/shell_navigation_request.cc", | 574 "app/shell_navigation_request.cc", |
484 "app/shell_navigation_request.h", | 575 "app/shell_navigation_request.h", |
485 "public/headless_shell.h", | 576 "public/headless_shell.h", |
486 ] | 577 ] |
487 | 578 |
488 deps = [ | 579 deps = [ |
489 "//headless:headless_lib", | 580 ":headless_renderer", |
| 581 "//content/public/app:both", |
| 582 "//content/public/browser", |
| 583 "//content/public/child:child", |
| 584 "//content/public/common", |
490 ] | 585 ] |
491 | 586 |
492 configs += [ ":headless_implementation" ] | 587 if (is_win) { |
| 588 deps += [ |
| 589 "//content:sandbox_helper_win", |
| 590 "//sandbox", |
| 591 ] |
| 592 } |
493 } | 593 } |
494 | 594 |
495 executable("headless_shell") { | 595 executable("headless_shell") { |
496 sources = [ | 596 sources = [ |
497 "app/headless_shell_main.cc", | 597 "app/headless_shell_main.cc", |
498 ] | 598 ] |
499 | 599 |
500 deps = [ | 600 deps = [ |
501 "//headless:headless_shell_lib", | 601 ":headless_shell_lib", |
502 ] | 602 ] |
503 | |
504 if (is_win) { | |
505 deps += [ | |
506 "//build/win:default_exe_manifest", | |
507 "//content:sandbox_helper_win", | |
508 "//sandbox", | |
509 ] | |
510 } | |
511 | |
512 configs += [ ":headless_implementation" ] | |
513 } | 603 } |
514 | 604 |
515 process_version("version_header") { | 605 process_version("version_header") { |
516 template_file = "public/version.h.in" | 606 template_file = "public/version.h.in" |
517 sources = [ | 607 sources = [ |
518 "//build/util/LASTCHANGE", | 608 "//build/util/LASTCHANGE", |
519 "//chrome/VERSION", | 609 "//chrome/VERSION", |
520 ] | 610 ] |
521 output = "$target_gen_dir/public/version.h" | 611 output = "$target_gen_dir/public/version.h" |
522 } | 612 } |
523 | 613 |
524 executable("headless_example") { | 614 executable("headless_example") { |
525 sources = [ | 615 sources = [ |
526 "app/headless_example.cc", | 616 "app/headless_example.cc", |
527 ] | 617 ] |
528 | 618 |
529 deps = [ | 619 deps = [ |
530 "//headless:headless_shell_lib", | 620 ":headless_shell_lib", |
531 ] | 621 ] |
532 } | 622 } |
OLD | NEW |