| 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_lib") { | 22 group("headless") { |
| 23 deps = [ | 23 deps = [ |
| 24 "//headless:headless", | 24 "//headless:headless_lib", |
| 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 component("headless") { | 205 static_library("headless_lib") { |
| 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", |
| 247 "public/headless_browser.cc", | 251 "public/headless_browser.cc", |
| 248 "public/headless_browser.h", | 252 "public/headless_browser.h", |
| 249 "public/headless_browser_context.h", | 253 "public/headless_browser_context.h", |
| 250 "public/headless_devtools_client.h", | 254 "public/headless_devtools_client.h", |
| 251 "public/headless_devtools_host.h", | 255 "public/headless_devtools_host.h", |
| 252 "public/headless_devtools_target.h", | 256 "public/headless_devtools_target.h", |
| 253 "public/headless_export.h", | 257 "public/headless_export.h", |
| 254 "public/headless_web_contents.h", | 258 "public/headless_web_contents.h", |
| 255 "public/internal/message_dispatcher.h", | 259 "public/internal/message_dispatcher.h", |
| 256 "public/internal/value_conversions.h", | 260 "public/internal/value_conversions.h", |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 "//net", | 321 "//net", |
| 318 ] | 322 ] |
| 319 | 323 |
| 320 deps = [ | 324 deps = [ |
| 321 ":gen_devtools_client_api", | 325 ":gen_devtools_client_api", |
| 322 ":tab_socket", | 326 ":tab_socket", |
| 323 ":version_header", | 327 ":version_header", |
| 324 "//components/crash/content/browser", | 328 "//components/crash/content/browser", |
| 325 "//components/security_state/content", | 329 "//components/security_state/content", |
| 326 "//components/security_state/core", | 330 "//components/security_state/core", |
| 331 "//content/public/app:both", |
| 332 "//content/public/browser", |
| 333 "//content/public/child:child", |
| 327 "//content/public/common", | 334 "//content/public/common", |
| 328 "//content/public/common:service_names", | 335 "//content/public/common:service_names", |
| 329 "//services/service_manager/public/cpp", | 336 "//services/service_manager/public/cpp", |
| 330 "//third_party/mesa:osmesa", | 337 "//third_party/mesa:osmesa", |
| 331 "//ui/base", | 338 "//ui/base", |
| 332 "//ui/compositor", | 339 "//ui/compositor", |
| 333 "//ui/display", | 340 "//ui/display", |
| 334 "//ui/events/devices", | 341 "//ui/events/devices", |
| 335 "//url", | 342 "//url", |
| 336 ] | 343 ] |
| 337 | 344 |
| 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 | |
| 354 if (!is_mac) { | 345 if (!is_mac) { |
| 355 deps += [ "//ui/aura" ] | 346 deps += [ "//ui/aura" ] |
| 356 } | 347 } |
| 357 | 348 |
| 349 if (enable_basic_printing) { |
| 350 deps += [ |
| 351 "//components/printing/browser", |
| 352 "//components/printing/renderer", |
| 353 ] |
| 354 } |
| 355 |
| 358 if (headless_use_embedded_resources) { | 356 if (headless_use_embedded_resources) { |
| 359 deps += [ ":embed_resources" ] | 357 deps += [ ":embed_resources" ] |
| 360 sources += [ | 358 sources += [ |
| 361 "$root_gen_dir/headless/embedded_resource_pak.cc", | 359 "$root_gen_dir/headless/embedded_resource_pak.cc", |
| 362 "$root_gen_dir/headless/embedded_resource_pak.h", | 360 "$root_gen_dir/headless/embedded_resource_pak.h", |
| 363 ] | 361 ] |
| 364 } else { | 362 } else { |
| 365 deps += [ ":pak" ] | 363 deps += [ ":pak" ] |
| 366 } | 364 } |
| 367 | 365 |
| 368 if (use_ozone) { | 366 if (use_ozone) { |
| 369 deps += [ "//ui/ozone" ] | 367 deps += [ "//ui/ozone" ] |
| 370 } | 368 } |
| 369 |
| 371 configs += [ ":headless_implementation" ] | 370 configs += [ ":headless_implementation" ] |
| 372 } | 371 } |
| 373 | 372 |
| 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 | |
| 399 group("headless_tests") { | 373 group("headless_tests") { |
| 400 testonly = true | 374 testonly = true |
| 401 | 375 |
| 402 deps = [ | 376 deps = [ |
| 403 ":headless_browsertests", | 377 ":headless_browsertests", |
| 404 ":headless_example", | 378 ":headless_example", |
| 405 ":headless_unittests", | 379 ":headless_unittests", |
| 406 ] | 380 ] |
| 407 } | 381 } |
| 408 | 382 |
| 409 test("headless_unittests") { | 383 test("headless_unittests") { |
| 410 sources = [ | 384 sources = [ |
| 411 "public/domains/types_unittest.cc", | 385 "public/domains/types_unittest.cc", |
| 412 "public/util/deterministic_dispatcher_test.cc", | 386 "public/util/deterministic_dispatcher_test.cc", |
| 413 "public/util/error_reporter_unittest.cc", | 387 "public/util/error_reporter_unittest.cc", |
| 414 "public/util/expedited_dispatcher_test.cc", | 388 "public/util/expedited_dispatcher_test.cc", |
| 415 "public/util/generic_url_request_job_test.cc", | 389 "public/util/generic_url_request_job_test.cc", |
| 416 "public/util/testing/fake_managed_dispatch_url_request_job.cc", | 390 "public/util/testing/fake_managed_dispatch_url_request_job.cc", |
| 417 "public/util/testing/fake_managed_dispatch_url_request_job.h", | 391 "public/util/testing/fake_managed_dispatch_url_request_job.h", |
| 418 ] | 392 ] |
| 419 | 393 |
| 420 deps = [ | 394 deps = [ |
| 421 ":headless", | 395 ":headless_lib", |
| 422 "//base/test:run_all_unittests", | 396 "//base/test:run_all_unittests", |
| 423 "//base/test:test_support", | 397 "//base/test:test_support", |
| 424 "//testing/gmock", | 398 "//testing/gmock", |
| 425 "//testing/gtest", | 399 "//testing/gtest", |
| 426 ] | 400 ] |
| 427 } | 401 } |
| 428 | 402 |
| 429 mojom("embedder_mojo_for_testing") { | 403 mojom("embedder_mojo_for_testing") { |
| 430 sources = [ | 404 sources = [ |
| 431 "lib/embedder_test.mojom", | 405 "lib/embedder_test.mojom", |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 "//third_party/skia/", | 459 "//third_party/skia/", |
| 486 "//third_party/tlslite/", | 460 "//third_party/tlslite/", |
| 487 "test/data/", | 461 "test/data/", |
| 488 ] | 462 ] |
| 489 | 463 |
| 490 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] | 464 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| 491 | 465 |
| 492 deps = [ | 466 deps = [ |
| 493 ":embedder_mojo_for_testing", | 467 ":embedder_mojo_for_testing", |
| 494 ":headless_browser_tests_pak", | 468 ":headless_browser_tests_pak", |
| 495 ":headless_renderer", | |
| 496 "//base", | 469 "//base", |
| 497 "//content/test:test_support", | 470 "//content/test:test_support", |
| 471 "//headless:headless_lib", |
| 498 "//testing/gmock", | 472 "//testing/gmock", |
| 499 "//testing/gtest", | 473 "//testing/gtest", |
| 500 ] | 474 ] |
| 501 } | 475 } |
| 502 | 476 |
| 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. | |
| 568 static_library("headless_shell_lib") { | 477 static_library("headless_shell_lib") { |
| 569 sources = [ | 478 sources = [ |
| 570 "app/headless_shell.cc", | 479 "app/headless_shell.cc", |
| 571 "app/headless_shell.h", | 480 "app/headless_shell.h", |
| 572 "app/headless_shell_switches.cc", | 481 "app/headless_shell_switches.cc", |
| 573 "app/headless_shell_switches.h", | 482 "app/headless_shell_switches.h", |
| 574 "app/shell_navigation_request.cc", | 483 "app/shell_navigation_request.cc", |
| 575 "app/shell_navigation_request.h", | 484 "app/shell_navigation_request.h", |
| 576 "public/headless_shell.h", | 485 "public/headless_shell.h", |
| 577 ] | 486 ] |
| 578 | 487 |
| 579 deps = [ | 488 deps = [ |
| 580 ":headless_renderer", | 489 "//headless:headless_lib", |
| 581 "//content/public/app:both", | |
| 582 "//content/public/browser", | |
| 583 "//content/public/child:child", | |
| 584 "//content/public/common", | |
| 585 ] | 490 ] |
| 586 | 491 |
| 587 if (is_win) { | 492 configs += [ ":headless_implementation" ] |
| 588 deps += [ | |
| 589 "//content:sandbox_helper_win", | |
| 590 "//sandbox", | |
| 591 ] | |
| 592 } | |
| 593 } | 493 } |
| 594 | 494 |
| 595 executable("headless_shell") { | 495 executable("headless_shell") { |
| 596 sources = [ | 496 sources = [ |
| 597 "app/headless_shell_main.cc", | 497 "app/headless_shell_main.cc", |
| 598 ] | 498 ] |
| 599 | 499 |
| 600 deps = [ | 500 deps = [ |
| 601 ":headless_shell_lib", | 501 "//headless:headless_shell_lib", |
| 602 ] | 502 ] |
| 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" ] |
| 603 } | 513 } |
| 604 | 514 |
| 605 process_version("version_header") { | 515 process_version("version_header") { |
| 606 template_file = "public/version.h.in" | 516 template_file = "public/version.h.in" |
| 607 sources = [ | 517 sources = [ |
| 608 "//build/util/LASTCHANGE", | 518 "//build/util/LASTCHANGE", |
| 609 "//chrome/VERSION", | 519 "//chrome/VERSION", |
| 610 ] | 520 ] |
| 611 output = "$target_gen_dir/public/version.h" | 521 output = "$target_gen_dir/public/version.h" |
| 612 } | 522 } |
| 613 | 523 |
| 614 executable("headless_example") { | 524 executable("headless_example") { |
| 615 sources = [ | 525 sources = [ |
| 616 "app/headless_example.cc", | 526 "app/headless_example.cc", |
| 617 ] | 527 ] |
| 618 | 528 |
| 619 deps = [ | 529 deps = [ |
| 620 ":headless_shell_lib", | 530 "//headless:headless_shell_lib", |
| 621 ] | 531 ] |
| 622 } | 532 } |
| OLD | NEW |