-
skyostil authored
This patch implements a runtime headless mode (i.e., a --headless command line switch) that makes it possible to use a regular Chrome binary as a headless. When the binary is launched with this switch, the main entrypoint calls into the Headless Shell entrypoint, effectively starting that shell instead of Chrome. To make this possible we must remove the dependency from Headless to Ozone, because Ozone is a build-time feature which is generally not enabled for regular Chrome builds. In practice this means implementing a new headless-specific WindowTreeHost and modifying various graphics and input entrypoints to do something appropriate in headless mode. Since many of the modifications are in platform-specific code, this initial patch only adds headless support in Linux. Other platforms will be added later. Design doc: https://docs.google.com/document/d/1aIJUzQr3eougZQp90bp4mqGr5gY6hdUice8UPa-Ys90/edit# BUG=612904 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/1991953002 Cr-Commit-Position: refs/heads/master@{#438152}
eb0f3b02