DescriptionImplement a runtime headless mode for Linux
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
Committed: https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82
Cr-Commit-Position: refs/heads/master@{#438239}
Patch Set 1 #Patch Set 2 : Rebased #Patch Set 3 : Add --headless flag #Patch Set 4 : Runtime switching works #Patch Set 5 : More cleanup #Patch Set 6 : Rebased #Patch Set 7 : Rebased #
Total comments: 6
Patch Set 8 : Fixed screenshot test + review comments #Patch Set 9 : Unify switches #Patch Set 10 : Fix ozone deps #Patch Set 11 : Rebased #Patch Set 12 : Windows build fix #Patch Set 13 : GPU watchdog fix #Patch Set 14 : Mac build fix #
Total comments: 6
Patch Set 15 : Review nits #
Total comments: 2
Patch Set 16 : Add headless platform event source #
Total comments: 4
Patch Set 17 : Nits. #
Total comments: 4
Patch Set 18 : Review comments #
Total comments: 2
Patch Set 19 : Adjust DEPS #
Total comments: 2
Patch Set 20 : Rebased #Messages
Total messages: 100 (72 generated)
|