New issue
Advanced search Search tips

Issue 612904 link

Starred by 87 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocking:
issue 604324



Sign in to add a comment

Provide a runtime --headless mode for Chrome

Project Member Reported by skyos...@chromium.org, May 18 2016

Issue description

This bug is about adding a --headless runtime switch which would turn a regular Chrome into a headless browser.
 
Labels: -Type-Bug Type-Feature
Tentative plan:

1. Remove headless/ dependency on ozone.
2. Have chrome_main dispatch into headless if --headless is present.
3. Fix remaining problematic code paths to do the right thing for headless.

Super hacky prototype: https://codereview.chromium.org/1991953002
Blocking: 604324

Comment 4 by van...@gmail.com, Oct 27 2016

Any update on this?
Status: Started (was: Untriaged)
Sorry for the radio silence here. I've now cleaned up the patch (https://codereview.chromium.org/1991953002) and am looking into what it would take to land it.
Quick update: the patch is now looking a lot more respectable but it adds about 400k to the Linux release binary size. I'll see if we can reduce this overhead a bit.
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/64eaf8939cd0f6e7524923d82e384c29803533cd

commit 64eaf8939cd0f6e7524923d82e384c29803533cd
Author: skyostil <skyostil@chromium.org>
Date: Tue Nov 01 16:33:48 2016

headless: Only report protocol parsing errors when DCHECK is enabled

Only report verbose protocol parsing errors when DCHECK is enabled. This
reduces the release binary size on Linux by about 77k.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2466923002
Cr-Commit-Position: refs/heads/master@{#429017}

[modify] https://crrev.com/64eaf8939cd0f6e7524923d82e384c29803533cd/headless/public/util/error_reporter.cc
[modify] https://crrev.com/64eaf8939cd0f6e7524923d82e384c29803533cd/headless/public/util/error_reporter.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6696ef81450d0b54095b12c43dcd23cca89983a

commit b6696ef81450d0b54095b12c43dcd23cca89983a
Author: skyostil <skyostil@chromium.org>
Date: Thu Nov 03 13:17:23 2016

headless: Fix ErrorReporter unit tests

Update the ErrorReporter unit tests to account for the fact that error
reporting only happens when DCHECK is enabled.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2474433007
Cr-Commit-Position: refs/heads/master@{#429553}

[modify] https://crrev.com/b6696ef81450d0b54095b12c43dcd23cca89983a/headless/public/domains/types_unittest.cc
[modify] https://crrev.com/b6696ef81450d0b54095b12c43dcd23cca89983a/headless/public/util/error_reporter_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a270240bc1d0d59ad000acb65b83639e466c12c3

commit a270240bc1d0d59ad000acb65b83639e466c12c3
Author: skyostil <skyostil@chromium.org>
Date: Thu Nov 03 14:13:30 2016

headless: Librarify Headless Shell

Turn the Headless Shell application into a library so it can be embedded
by other targets (e.g., Chrome). This moves the shell into headless
namespace and adds exports new function for the main shell entrypoint,
which is intented to be called from main() when the Headless Shell
should be started.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2470233003
Cr-Commit-Position: refs/heads/master@{#429572}

[modify] https://crrev.com/a270240bc1d0d59ad000acb65b83639e466c12c3/headless/BUILD.gn
[modify] https://crrev.com/a270240bc1d0d59ad000acb65b83639e466c12c3/headless/app/headless_shell.cc
[add] https://crrev.com/a270240bc1d0d59ad000acb65b83639e466c12c3/headless/app/headless_shell_main.cc
[add] https://crrev.com/a270240bc1d0d59ad000acb65b83639e466c12c3/headless/public/headless_shell.h

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e5ba5ad472920050c6abae57cc43225bdb5ce1b

commit 1e5ba5ad472920050c6abae57cc43225bdb5ce1b
Author: skyostil <skyostil@chromium.org>
Date: Fri Nov 04 11:21:54 2016

headless: Register event handlers on demand

Change the DevTools C++ bindings to only register event handlers when
the user adds an observer for the events. This allows dead code
elimination to cut about 176 KiB from the Headless Shell application.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2476723002
Cr-Commit-Position: refs/heads/master@{#429857}

[modify] https://crrev.com/1e5ba5ad472920050c6abae57cc43225bdb5ce1b/headless/lib/browser/domain_cc.template
[modify] https://crrev.com/1e5ba5ad472920050c6abae57cc43225bdb5ce1b/headless/lib/browser/domain_h.template

Project Member

Comment 11 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb0f3b0218478f30858dfa2078cb350ea259701f

commit eb0f3b0218478f30858dfa2078cb350ea259701f
Author: skyostil <skyostil@chromium.org>
Date: Tue Dec 13 13:25:44 2016

Implement 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

Review-Url: https://codereview.chromium.org/1991953002
Cr-Commit-Position: refs/heads/master@{#438152}

[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/chrome/BUILD.gn
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/chrome/app/DEPS
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/chrome/app/chrome_main.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/content/browser/browser_main_loop.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/content/browser/zygote_host/zygote_communication_linux.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/content/gpu/gpu_main.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/BUILD.gn
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/DEPS
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/README.md
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/browser/headless_browser_impl.cc
[add] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/browser/headless_platform_event_source.cc
[add] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/browser/headless_platform_event_source.h
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/browser/headless_web_contents_impl.cc
[add] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/browser/headless_window_tree_host.cc
[add] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/browser/headless_window_tree_host.h
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/headless/lib/headless_content_main_delegate.h
[delete] https://crrev.com/587419001a0075528f670f430ca2b9569bde71db/headless/lib/renderer/headless_content_renderer_client.cc
[delete] https://crrev.com/587419001a0075528f670f430ca2b9569bde71db/headless/lib/renderer/headless_content_renderer_client.h
[delete] https://crrev.com/587419001a0075528f670f430ca2b9569bde71db/headless/lib/utility/headless_content_utility_client.cc
[delete] https://crrev.com/587419001a0075528f670f430ca2b9569bde71db/headless/lib/utility/headless_content_utility_client.h
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/ui/base/ime/input_method_factory.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/ui/gfx/icc_profile_x11.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/ui/gfx/switches.cc
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/ui/gfx/switches.h
[modify] https://crrev.com/eb0f3b0218478f30858dfa2078cb350ea259701f/ui/gl/init/gl_initializer_x11.cc

Comment 12 by van...@gmail.com, Dec 13 2016

Congratulations!
Project Member

Comment 13 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/afc6f8a4091a7469c47145cba537daa3cfb456e0

commit afc6f8a4091a7469c47145cba537daa3cfb456e0
Author: skyostil <skyostil@chromium.org>
Date: Tue Dec 13 15:49:11 2016

Revert of Implement a runtime headless mode for Linux (patchset #20 id:380001 of https://codereview.chromium.org/1991953002/ )

Reason for revert:
Unexpectedly added a couple of new static initializers: https://uberchromegw.corp.google.com/i/chromium/builders/Linux%20x64/builds/29946

Original issue's description:
> Implement 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/eb0f3b0218478f30858dfa2078cb350ea259701f
> Cr-Commit-Position: refs/heads/master@{#438152}

TBR=jochen@chromium.org,eseckler@chromium.org,sky@chromium.org,zmo@chromium.org,vmiura@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 612904 

Review-Url: https://codereview.chromium.org/2570873002
Cr-Commit-Position: refs/heads/master@{#438177}

[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/chrome/BUILD.gn
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/chrome/app/DEPS
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/chrome/app/chrome_main.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/content/browser/browser_main_loop.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/content/browser/zygote_host/zygote_communication_linux.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/content/gpu/gpu_main.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/BUILD.gn
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/DEPS
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/README.md
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/browser/headless_browser_impl.cc
[delete] https://crrev.com/047b36f906a4d3b957a2d7869eb41cdd74027fcb/headless/lib/browser/headless_platform_event_source.cc
[delete] https://crrev.com/047b36f906a4d3b957a2d7869eb41cdd74027fcb/headless/lib/browser/headless_platform_event_source.h
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/browser/headless_web_contents_impl.cc
[delete] https://crrev.com/047b36f906a4d3b957a2d7869eb41cdd74027fcb/headless/lib/browser/headless_window_tree_host.cc
[delete] https://crrev.com/047b36f906a4d3b957a2d7869eb41cdd74027fcb/headless/lib/browser/headless_window_tree_host.h
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/headless_content_main_delegate.h
[add] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/renderer/headless_content_renderer_client.cc
[add] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/renderer/headless_content_renderer_client.h
[add] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/utility/headless_content_utility_client.cc
[add] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/headless/lib/utility/headless_content_utility_client.h
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/ui/base/ime/input_method_factory.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/ui/gfx/icc_profile_x11.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/ui/gfx/switches.cc
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/ui/gfx/switches.h
[modify] https://crrev.com/afc6f8a4091a7469c47145cba537daa3cfb456e0/ui/gl/init/gl_initializer_x11.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3ac4fc0327b6b3001b82fd0c01e3f504997e251

commit c3ac4fc0327b6b3001b82fd0c01e3f504997e251
Author: Sami Kyostila <skyostil@chromium.org>
Date: Tue Dec 13 18:25:20 2016

headless: Remove iostream usage

This patch removes usage of the iostream headers in Headless Shell to avoid
introducing static initializers to Chrome.

BUG= 612904 
R=altimin@chromium.org

Review-Url: https://codereview.chromium.org/2577483002 .
Cr-Commit-Position: refs/heads/master@{#438230}

[modify] https://crrev.com/c3ac4fc0327b6b3001b82fd0c01e3f504997e251/headless/app/headless_shell.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b354f8865623b8ca8da43f7ef37332bdb586dd82

commit b354f8865623b8ca8da43f7ef37332bdb586dd82
Author: skyostil <skyostil@chromium.org>
Date: Tue Dec 13 18:42:45 2016

Implement 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

Review-Url: https://codereview.chromium.org/1991953002
Cr-Commit-Position: refs/heads/master@{#438239}

[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/chrome/BUILD.gn
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/chrome/app/DEPS
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/chrome/app/chrome_main.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/content/browser/browser_main_loop.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/content/browser/compositor/gpu_process_transport_factory.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/content/browser/zygote_host/zygote_communication_linux.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/content/gpu/gpu_main.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/BUILD.gn
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/DEPS
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/README.md
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/browser/headless_browser_impl.cc
[add] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/browser/headless_platform_event_source.cc
[add] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/browser/headless_platform_event_source.h
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/browser/headless_web_contents_impl.cc
[add] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/browser/headless_window_tree_host.cc
[add] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/browser/headless_window_tree_host.h
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/headless/lib/headless_content_main_delegate.h
[delete] https://crrev.com/e3f59ed9bdc15fc1cccc737e425d40a077c36a32/headless/lib/renderer/headless_content_renderer_client.cc
[delete] https://crrev.com/e3f59ed9bdc15fc1cccc737e425d40a077c36a32/headless/lib/renderer/headless_content_renderer_client.h
[delete] https://crrev.com/e3f59ed9bdc15fc1cccc737e425d40a077c36a32/headless/lib/utility/headless_content_utility_client.cc
[delete] https://crrev.com/e3f59ed9bdc15fc1cccc737e425d40a077c36a32/headless/lib/utility/headless_content_utility_client.h
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/ui/base/ime/input_method_factory.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/ui/gfx/icc_profile_x11.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/ui/gfx/switches.cc
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/ui/gfx/switches.h
[modify] https://crrev.com/b354f8865623b8ca8da43f7ef37332bdb586dd82/ui/gl/init/gl_initializer_x11.cc

Comment 16 by clopez@igalia.com, Dec 15 2016

I think this commit may have caused a weird regression on Linux X11 with non-composited window managers. I reported it here: https://bugs.chromium.org/p/chromium/issues/detail?id=674350

Project Member

Comment 17 by bugdroid1@chromium.org, Dec 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c05be0bcf4d2e0c75e64e0fa244bf40907aa2095

commit c05be0bcf4d2e0c75e64e0fa244bf40907aa2095
Author: skyostil <skyostil@chromium.org>
Date: Fri Dec 16 15:36:10 2016

chrome: Include headless resources

To support the --headless flag, include resources needed by the headless
library in Chrome's resources.pak. The size of these resources is about
1.7 KiB.

This patch also makes the headless
library fall back to loading resources.pak if headless_lib.pak isn't
found. The reason is that the former is shipped with Chrome while the
latter is used in purely headless builds.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2576413002
Cr-Commit-Position: refs/heads/master@{#439112}

[modify] https://crrev.com/c05be0bcf4d2e0c75e64e0fa244bf40907aa2095/chrome/chrome_paks.gni
[modify] https://crrev.com/c05be0bcf4d2e0c75e64e0fa244bf40907aa2095/headless/BUILD.gn
[modify] https://crrev.com/c05be0bcf4d2e0c75e64e0fa244bf40907aa2095/headless/lib/headless_content_main_delegate.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/018fd0e86e365b98ffefe6253bf3b98e3b664232

commit 018fd0e86e365b98ffefe6253bf3b98e3b664232
Author: skyostil <skyostil@chromium.org>
Date: Tue Dec 20 20:54:09 2016

headless: Load resources based on locale

ui::ResourceBundle::InitSharedInstanceWithPakPath is only meant for test
use.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2591833002
Cr-Commit-Position: refs/heads/master@{#439882}

[modify] https://crrev.com/018fd0e86e365b98ffefe6253bf3b98e3b664232/headless/lib/headless_content_main_delegate.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Dec 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f8c758cb3e6b2b27a9f2087ed6be553e67edf9d

commit 2f8c758cb3e6b2b27a9f2087ed6be553e67edf9d
Author: skyostil <skyostil@chromium.org>
Date: Wed Dec 21 19:33:53 2016

testing: Run headless tests on Linux

Run headless tests on regular (non-headless) builds of Linux now that
headless mode can be enabled at run time.

BUG= 612904 

Review-Url: https://codereview.chromium.org/2591693003
Cr-Commit-Position: refs/heads/master@{#440178}

[modify] https://crrev.com/2f8c758cb3e6b2b27a9f2087ed6be553e67edf9d/headless/BUILD.gn
[modify] https://crrev.com/2f8c758cb3e6b2b27a9f2087ed6be553e67edf9d/testing/buildbot/chromium.linux.json

Components: Internals>Headless
Status: Fixed (was: Started)
Runtime headless mode is not implemented on Linux, Windows and Mac.
Ahem, is *now* implemented on Linux, Windows and Mac :D

Sign in to add a comment