New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 313 users

Comments by non-members will not trigger notification emails to users who starred this issue.

Issue metadata

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


Sign in to add a comment

Implement a headless mode for Chrome

Project Member Reported by skyos...@chromium.org, Oct 23 2015

Issue description

Master bug for tracking implementation work related to a headless mode for Chrome.
 
Showing comments 121 - 220 of 220 Older
Project Member

Comment 122 by bugdroid1@chromium.org, Oct 11 2016

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

commit 6db3da670e34cad4f4a70dc34b5699fa063f2fc0
Author: skyostil <skyostil@chromium.org>
Date: Tue Oct 11 02:52:19 2016

headless: Add links to documentation

BUG= 546953 
TBR=alexclarke@chromium.org

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

[modify] https://crrev.com/6db3da670e34cad4f4a70dc34b5699fa063f2fc0/headless/README.md

Project Member

Comment 123 by bugdroid1@chromium.org, Oct 13 2016

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

commit 86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Oct 13 16:55:21 2016

Make DOM.getChildNodes & DOM.getDocument optionally pierce iframe boundaries

This means you can easily capture all the DOM nodes on a page with iframes with a single command,
previously multiple calls to DOM.getChildNodes were required.

BUG= 546953 

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

[add] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames-expected.txt
[add] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames.html
[add] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes-expected.txt
[add] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html
[add] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/LayoutTests/inspector-protocol/dom/resources/iframe.html
[modify] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[modify] https://crrev.com/86b48bfeabfd2b8876efcd18f2f018c5d9a3e53a/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member

Comment 124 by bugdroid1@chromium.org, Oct 19 2016

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

commit 00fb6e725b5a430daf992402acba94be93aa0412
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Oct 19 14:55:46 2016

CSS.getLayoutTreeAndStyles will also return whitelisted computed styles.

This functionality is needed by headless chrome.

BUG= 546953 

Review-Url: https://chromiumcodereview.appspot.com/2413693002
Cr-Commit-Position: refs/heads/master@{#426187}

[add] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/LayoutTests/inspector-protocol/css/css-getLayoutTreeNodes-expected.txt
[rename] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/LayoutTests/inspector-protocol/css/css-getLayoutTreeNodes.html
[delete] https://crrev.com/d3e20708992845f6028098b2530dfd1bd3d4c7cc/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getLayoutTreeNodes-expected.txt
[modify] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
[modify] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.h
[modify] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[modify] https://crrev.com/00fb6e725b5a430daf992402acba94be93aa0412/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member

Comment 127 by bugdroid1@chromium.org, Oct 27 2016

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

commit 6d803545166f33cac42f4e2a74658cf834d09b5c
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Oct 27 22:52:46 2016

Fix index used to join results of DOM.getDocument and CSS.getLayoutTreeAndStyles

I had thought the backend node id matched the output of DOM.getDocument, but it
doesn't.

As an added bonus I've omitted empty css style properties from
the results.

BUG= 546953 

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

[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/headless/public/util/dom_tree_extractor.cc
[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/headless/public/util/dom_tree_extractor_browsertest.cc
[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/third_party/WebKit/LayoutTests/inspector-protocol/css/css-getLayoutTreeNodes-expected.txt
[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/third_party/WebKit/LayoutTests/inspector-protocol/css/css-getLayoutTreeNodes.html
[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.h
[modify] https://crrev.com/6d803545166f33cac42f4e2a74658cf834d09b5c/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member

Comment 128 by bugdroid1@chromium.org, Oct 27 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1964e861d7adb9107e8ca525464ae6e7d8f4dc5d

commit 1964e861d7adb9107e8ca525464ae6e7d8f4dc5d
Author: skyostil <skyostil@chromium.org>
Date: Wed Oct 05 14:10:18 2016

Add a --no-zygote command line flag

This patch adds a --no-zygote command line flag which can be used to
completely disable the use of the zygote process. This is needed for
running Headless Chrome in environments where maintaining a forking
server such as the zygote is unnecessary and/or impractical.

Note that on Linux the sandbox needs the zygote to work, so --no-sandbox
must be used in conjunction with this new flag.

BUG= 546953 

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

[modify] https://crrev.com/1964e861d7adb9107e8ca525464ae6e7d8f4dc5d/content/browser/browser_main_loop.cc
[modify] https://crrev.com/1964e861d7adb9107e8ca525464ae6e7d8f4dc5d/content/browser/child_process_launcher.cc
[modify] https://crrev.com/1964e861d7adb9107e8ca525464ae6e7d8f4dc5d/content/public/common/content_switches.cc
[modify] https://crrev.com/1964e861d7adb9107e8ca525464ae6e7d8f4dc5d/content/public/common/content_switches.h

Comment 132 by dimu@google.com, Nov 4 2016

Labels: -merge-merged-2840
[Automated comment] removing mislabelled merge-merged-2840
Project Member

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

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

commit eaffa8e0c53f3c61a9239b27295b390884bd5fd5
Author: altimin <altimin@chromium.org>
Date: Tue Nov 08 23:56:31 2016

[headless] Refactor headless devtools client API.

This patch splits types.{h,cc} and type_conversions.h into multiple
files on per-domain basis. This makes them more readable and reduces
compilation times.

Aliases are avalaible at the old locations for the transition period.

BUG= 546953 

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

[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/BUILD.gn
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/app/headless_shell.cc
[delete] https://crrev.com/9d17488d4ed2bfecab3d6e723881e1d9cedfb90a/headless/lib/browser/client_api_generator.py
[add] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/client_api_generator.py
[rename] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/client_api_generator_unittest.py
[add] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/deprecated_domain_h.template
[add] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/deprecated_type_conversions_h.template
[add] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/deprecated_types_h.template
[rename] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/domain_cc.template
[rename] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/domain_h.template
[rename] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/domain_type_conversions_h.template
[add] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/domain_types_cc.template
[add] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/domain_types_forward_declaration_h.template
[rename] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/devtools_api/domain_types_h.template
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/browser/headless_devtools_manager_delegate.cc
[delete] https://crrev.com/9d17488d4ed2bfecab3d6e723881e1d9cedfb90a/headless/lib/browser/types_cc.template
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/embedder_mojo_browsertest.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/public/domains/README.md
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/public/domains/types_unittest.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/public/internal/value_conversions.h
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/public/util/dom_tree_extractor.h
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/public/util/dom_tree_extractor_browsertest.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/test/headless_browser_test.cc
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/headless/test/headless_browser_test.h
[modify] https://crrev.com/eaffa8e0c53f3c61a9239b27295b390884bd5fd5/testing/scripts/headless_python_unittests.py

Project Member

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

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

commit f4509fa0548726806b4e56fe2e40d7962239c385
Author: eseckler <eseckler@chromium.org>
Date: Wed Nov 09 16:42:44 2016

[headless] Fix relative path in client_api_generator.

Build is broken since https://codereview.chromium.org/2473073003/.

BUG= 546953 

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

[modify] https://crrev.com/f4509fa0548726806b4e56fe2e40d7962239c385/headless/lib/browser/devtools_api/client_api_generator.py

Project Member

Comment 136 by bugdroid1@chromium.org, Nov 15 2016

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

commit 9ff09983783153837ac7337de33077c6ff2f1ba1
Author: eseckler <eseckler@chromium.org>
Date: Tue Nov 15 09:18:25 2016

[headless] Make browser service manifest overlay configurable.

Headless embedders need to specify mojo services that they
expose to the renderer. This patch lets them list the services
in HeadlessBrowser::Options and generates the corresponding
browser manifest overlay in HeadlessContentBrowserClient.

BUG= 546953 

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

[rename] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/lib/browser/headless_browser_manifest_overlay_template.json
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/lib/embedder_mojo_browsertest.cc
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/lib/resources/headless_lib_resources.grd
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/public/headless_browser.cc
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/public/headless_browser.h
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/test/headless_browser_test.cc
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/test/headless_browser_test.h
[modify] https://crrev.com/9ff09983783153837ac7337de33077c6ff2f1ba1/headless/test/headless_test_launcher.cc

Project Member

Comment 137 by bugdroid1@chromium.org, Nov 15 2016

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

commit 3254ebbf111f352925cd736c8f33cde529f75a90
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Nov 15 13:12:55 2016

Rename traverseFrames to pierce and traverse shadow dom too.

CSS.GetLayoutTreeNodes traverses shadow dom, we'd like DOM.getDocument to
be able to do so too.

BUG= 546953 

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

[modify] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/headless/public/util/dom_tree_extractor.cc
[modify] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames.html
[modify] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes-expected.txt
[modify] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes.html
[add] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/third_party/WebKit/LayoutTests/inspector-protocol/dom/resources/shadow-dom-iframe.html
[modify] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/3254ebbf111f352925cd736c8f33cde529f75a90/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member

Comment 139 by bugdroid1@chromium.org, Nov 18 2016

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

commit 5777c83ead271a3866bd4aea8a9d8cae51aef2b0
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 18 17:42:16 2016

HeadlessWebContents:Observer to observe render process exit status

This means it's now possible to detect if the renderer crashes for
some reason.

BUG= 546953 

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

[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/app/headless_shell.cc
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/public/headless_web_contents.h
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/test/headless_browser_test.cc
[modify] https://crrev.com/5777c83ead271a3866bd4aea8a9d8cae51aef2b0/headless/test/headless_browser_test.h

Project Member

Comment 140 by bugdroid1@chromium.org, Nov 22 2016

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

commit a0adb8b5bd579433f57903c18f9764d69c57de1c
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Nov 22 17:30:23 2016

Don't silently eat Inspector.TargetCrashed

For the browser test and headless_shell the devtools event is used
to detect renderer crashes.  We retain the C++ observer since it
returns the termination reason (not avaliable over devtools)

BUG= 546953 

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

[modify] https://crrev.com/a0adb8b5bd579433f57903c18f9764d69c57de1c/headless/app/headless_shell.cc
[modify] https://crrev.com/a0adb8b5bd579433f57903c18f9764d69c57de1c/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/a0adb8b5bd579433f57903c18f9764d69c57de1c/headless/lib/headless_devtools_client_browsertest.cc

Project Member

Comment 141 by bugdroid1@chromium.org, Nov 25 2016

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

commit 6f5c58a6767e018775b02060009a432ea81a74db
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Nov 25 11:48:46 2016

Add Page.stopLoading to devtools and --timeout switch to headless_shell

Some pages don't load in a reasonable timeframe so allow users to
cause the load to stop after a given timeout.  We implement this via a
new Page.stopLoading devtools command.

The new switch is --timeout=milliseconds (e.g. --timeout=5000)

BUG= 546953 
R=dgozman@chromium.org, skyostil@chromium.org

Review URL: https://codereview.chromium.org/2525903003 .

Cr-Commit-Position: refs/heads/master@{#434480}

[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/content/browser/devtools/protocol/page_handler.h
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/headless/app/headless_shell.cc
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/headless/app/headless_shell_switches.h
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h
[modify] https://crrev.com/6f5c58a6767e018775b02060009a432ea81a74db/third_party/WebKit/Source/core/inspector/browser_protocol.json

Cc: -tiago.vi...@intel.com
Project Member

Comment 144 by bugdroid1@chromium.org, Nov 29 2016

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

commit 64150c9670bec3824166810fbcb531798b0b9456
Author: tmarek <tmarek@google.com>
Date: Tue Nov 29 11:00:21 2016

Fix the serialization for values in std::unique_ptrs.

In the ToValueImpl specialization for std::unique_ptr<T>, call ToValue
with the dereferenced type. All specializations take const&, which would
previously result in a call to ToValue(const*&), resulting in a wrong
specialization to be selected.

BUG= 546953 

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

[modify] https://crrev.com/64150c9670bec3824166810fbcb531798b0b9456/headless/public/domains/types_unittest.cc
[modify] https://crrev.com/64150c9670bec3824166810fbcb531798b0b9456/headless/public/internal/value_conversions.h

Project Member

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

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

commit 87681be8783af0d677a5a29c310ff685a9c35134
Author: skyostil <skyostil@chromium.org>
Date: Mon Dec 19 12:46:35 2016

Add Headless Shell to the console logging blacklist

Headless Shell is a command line application so it has a good excuse to
print out console messages.

BUG= 546953 

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

[modify] https://crrev.com/87681be8783af0d677a5a29c310ff685a9c35134/PRESUBMIT.py

Hi, Could you please tell me if there is an evaluation version of  this headless chrome i can download and test and by when a stable build would be available for download.
#147: With the latest Chrome Canary on Linux you can enable headless mode with the --headless command line flag.
Chrome Canary for Linux is a thing? The page https://www.chromium.org/getting-involved/dev-channel only lists Chrome Canary for Windows, macOS and Android. Or are you referring to building from source?

Will this command line flag make it into the next Dev channel release for Linux?

One more question: Does the headless mode work without a running X server / Xvfb?
#149: Yes, the next Linux dev channel build should support --headless. If you want to try it before that, you can download a binary from https://download-chromium.appspot.com/

There's no need to run any kind of X server with --headless.
It seems that the binary from https://download-chromium.appspot.com/ does not contain libosmesa.so and generates an error with [1222/084554.443259:ERROR:gl_implementation.cc(223)].
#151: try --disable-gpu for the time being. See also the discussion on headless-dev: https://groups.google.com/a/chromium.org/forum/#!topic/headless-dev/ttU1fBYNGSQ
Project Member

Comment 153 by bugdroid1@chromium.org, Dec 23 2016

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

commit 4c9d164c03c2da9d7051d859a07e6febdfcd9354
Author: skyostil <skyostil@chromium.org>
Date: Fri Dec 23 11:15:52 2016

headless: Improve documentation

BUG= 546953 

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

[modify] https://crrev.com/4c9d164c03c2da9d7051d859a07e6febdfcd9354/headless/README.md

Project Member

Comment 154 by bugdroid1@chromium.org, Jan 13 2017

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

commit cc53e06971c8c55c85642a44fd350ebc092a5e8c
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Jan 13 07:23:55 2017

Fix crash in CSS.getLayoutTreeAndStyles

For pages where there was a FrameOwnerElement with a null
ContentDocument CSS.getLayoutTreeAndStyles would crash.  This patch
fixes that.

BUG= 680497 ,  546953 

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

[modify] https://crrev.com/cc53e06971c8c55c85642a44fd350ebc092a5e8c/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp

Project Member

Comment 156 by bugdroid1@chromium.org, Feb 2 2017

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

commit ea635266172221937f38f16417c0b622a5bdef97
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Feb 02 21:24:48 2017

Adds DOM.getFlatDocument which returns an array of nodes

We need this because some web pages have very deep dom trees which
causes the JSON parser to CHECK (there's currently a limit of 200
nodes).

BUG= 546953 

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

[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/headless/public/util/dom_tree_extractor_browsertest.cc
[add] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getFlattenedDocument-expected.txt
[add] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getFlattenedDocument.html
[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getNodeForLocation-expected.txt
[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-child-nodes-traverse-frames-expected.txt
[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-request-document-with-child-nodes-expected.txt
[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[modify] https://crrev.com/ea635266172221937f38f16417c0b622a5bdef97/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member

Comment 157 by bugdroid1@chromium.org, Feb 2 2017

Project Member

Comment 158 by bugdroid1@chromium.org, Feb 3 2017

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

commit 6015730691846661c7d49291638ca159c1199496
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Feb 03 03:39:20 2017

Adds a FlatDomTreeExtractor to headless

This is very similar to DomTreeExtractor (which we should remove
later) except it uses DOM.getFlattenedDocument.  This is useful for
very large documents which might otherwise blow up the JSON parse
which currently has a nesting depth limit of 200

BUG= 546953 

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

[modify] https://crrev.com/6015730691846661c7d49291638ca159c1199496/headless/BUILD.gn
[modify] https://crrev.com/6015730691846661c7d49291638ca159c1199496/headless/public/util/dom_tree_extractor.h
[add] https://crrev.com/6015730691846661c7d49291638ca159c1199496/headless/public/util/flat_dom_tree_extractor.cc
[add] https://crrev.com/6015730691846661c7d49291638ca159c1199496/headless/public/util/flat_dom_tree_extractor.h
[add] https://crrev.com/6015730691846661c7d49291638ca159c1199496/headless/public/util/flat_dom_tree_extractor_browsertest.cc

Project Member

Comment 160 by bugdroid1@chromium.org, Feb 7 2017

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

commit d5d3679ab3655f079e9b1d019be993ff1e7dacf6
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Feb 07 15:07:46 2017

FlatDomTreeExtractor to enable & disable DOM domain

A quality of life change intended to make FlatDomTreeExtractorBrowserTest
easier to use.

BUG= 546953 

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

[modify] https://crrev.com/d5d3679ab3655f079e9b1d019be993ff1e7dacf6/headless/public/util/flat_dom_tree_extractor.cc
[modify] https://crrev.com/d5d3679ab3655f079e9b1d019be993ff1e7dacf6/headless/public/util/flat_dom_tree_extractor_browsertest.cc

Comment 161 Deleted

Project Member

Comment 162 by bugdroid1@chromium.org, Feb 9 2017

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

commit 4cf935f5263a8ba2f4f69341085ef268b6c00617
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Feb 09 17:06:22 2017

Headless: make URLRequestDispatcher aware of navigations

DeterministicDispatcher needs to know about pending navigations in
order to ensure determinism.

headless_shell now uses this in --deterministic-fetch mode.

BUG= 546953 

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

[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/BUILD.gn
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/app/headless_shell.cc
[add] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/app/headless_shell.h
[add] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/app/shell_navigation_request.cc
[add] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/app/shell_navigation_request.h
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/deterministic_dispatcher.cc
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/deterministic_dispatcher.h
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/deterministic_dispatcher_test.cc
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/expedited_dispatcher.cc
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/expedited_dispatcher.h
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/expedited_dispatcher_test.cc
[add] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/navigation_request.h
[modify] https://crrev.com/4cf935f5263a8ba2f4f69341085ef268b6c00617/headless/public/util/url_request_dispatcher.h

Blockedon: 691507
Project Member

Comment 164 by bugdroid1@chromium.org, Feb 13 2017

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

commit 354db138caff746a371c025aee80b830d23ee7d0
Author: Sami Kyostila <skyostil@chromium.org>
Date: Mon Feb 13 18:36:42 2017

headless: Add a small C++ example application

Headless Shell has grown to be a little too complex to serve as an
introduction to the headless C++ API. This patch adds a simpler example
which is hopefully easier to follow. The application navigates
to a URL given on the command line, waits for it to load and prints the
DOM.

BUG= 546953 
R=altimin@chromium.org

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

[modify] https://crrev.com/354db138caff746a371c025aee80b830d23ee7d0/headless/BUILD.gn
[modify] https://crrev.com/354db138caff746a371c025aee80b830d23ee7d0/headless/README.md
[add] https://crrev.com/354db138caff746a371c025aee80b830d23ee7d0/headless/app/headless_example.cc
[modify] https://crrev.com/354db138caff746a371c025aee80b830d23ee7d0/headless/app/headless_shell.cc
[modify] https://crrev.com/354db138caff746a371c025aee80b830d23ee7d0/headless/app/headless_shell.h

Project Member

Comment 165 by bugdroid1@chromium.org, Feb 13 2017

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

commit a63c006c8c576e851eee49fb4cdce5e4bc91e370
Author: skyostil <skyostil@chromium.org>
Date: Mon Feb 13 19:16:31 2017

headless: Add Node.js example

BUG= 546953 

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

[modify] https://crrev.com/a63c006c8c576e851eee49fb4cdce5e4bc91e370/headless/README.md

Project Member

Comment 166 by bugdroid1@chromium.org, Feb 15 2017

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

commit e28992d90ab8894f66fa7bb8a12c09f9d9ec2843
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Feb 15 11:12:23 2017

Headless: Add a test for Network.AddBlockedURL

There doesn't appear to be any test coverage for this, and I wanted to make
sure it's working in headless.

BUG= 546953 

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

[modify] https://crrev.com/e28992d90ab8894f66fa7bb8a12c09f9d9ec2843/headless/lib/headless_devtools_client_browsertest.cc

Comment 167 Deleted

Comment 168 Deleted

Project Member

Comment 169 by bugdroid1@chromium.org, Feb 20 2017

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

commit e859ab1300be6e103b62bc5409214e5584287815
Author: skyostil <skyostil@chromium.org>
Date: Mon Feb 20 11:26:47 2017

headless: Add a dummy include for version.h

Add a dummy include for the generated version.h to make sure it will
always be available for users of the headless API.

BUG= 546953 
TBR=altimin@chromium.org

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

[modify] https://crrev.com/e859ab1300be6e103b62bc5409214e5584287815/headless/lib/browser/headless_browser_impl.h

Project Member

Comment 170 by bugdroid1@chromium.org, Feb 20 2017

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

commit e7b3dee936f49e075374368c815c92cb292e73e4
Author: skyostil <skyostil@chromium.org>
Date: Mon Feb 20 14:20:01 2017

Revert of headless: Add a dummy include for version.h (patchset #1 id:1 of https://codereview.chromium.org/2708643003/ )

Reason for revert:
Looks like this isn't needed after all.

Original issue's description:
> headless: Add a dummy include for version.h
>
> Add a dummy include for the generated version.h to make sure it will
> always be available for users of the headless API.
>
> BUG= 546953 
> TBR=altimin@chromium.org
>
> Review-Url: https://codereview.chromium.org/2708643003
> Cr-Commit-Position: refs/heads/master@{#451595}
> Committed: https://chromium.googlesource.com/chromium/src/+/e859ab1300be6e103b62bc5409214e5584287815

TBR=altimin@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 546953 

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

[modify] https://crrev.com/e7b3dee936f49e075374368c815c92cb292e73e4/headless/lib/browser/headless_browser_impl.h

Project Member

Comment 171 by bugdroid1@chromium.org, Feb 21 2017

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

commit 120e54296b216dcf86d37514270afa78c69379d1
Author: skyostil <skyostil@chromium.org>
Date: Tue Feb 21 13:21:55 2017

headless: Add a link to file a new bug

BUG= 546953 
TBR=alexclarke@chromium.org

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

[modify] https://crrev.com/120e54296b216dcf86d37514270afa78c69379d1/headless/README.md

Project Member

Comment 172 by bugdroid1@chromium.org, Feb 22 2017

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

commit c5851e79ac5602616d6b28267e217d169804a3f2
Author: skyostil <skyostil@chromium.org>
Date: Wed Feb 22 17:36:32 2017

devtools: Make it possible to override the navigation referrer

This patch adds an optional 'referrer' parameter to the Page.navigate
command, letting the client override the referrer for a navigation.

BUG= 546953 

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

[modify] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/content/browser/devtools/protocol/page_handler.h
[add] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/override-referrer-expected.txt
[add] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/override-referrer.html
[add] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/image.html
[add] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/resources/image.png
[modify] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp
[modify] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h
[modify] https://crrev.com/c5851e79ac5602616d6b28267e217d169804a3f2/third_party/WebKit/Source/core/inspector/browser_protocol.json

Blockedon: 696001
Project Member

Comment 174 by bugdroid1@chromium.org, Feb 28 2017

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

commit ffe5b07d7f62c5d0c55a6fac6bcd8e23229d2529
Author: skyostil <skyostil@chromium.org>
Date: Tue Feb 28 17:03:35 2017

headless: Add some documentation links

BUG= 546953 
TBR=eseckler@chromium.org

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

[modify] https://crrev.com/ffe5b07d7f62c5d0c55a6fac6bcd8e23229d2529/headless/README.md

Are there plans for extensions to work in headless mode?
This would be great for integration-testing extensions.
#175: No concrete plans, but we are looking into it in conjunction with Selenium support ( bug 604324 )
#176 Thanks for the reply. There are other use-cases for headless extensions apart from integration testing. For example, an ad-blocker/"no-large-image" extension could be used to slim-down pages being loaded headlessly.
Project Member

Comment 178 by bugdroid1@chromium.org, Mar 1 2017

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

commit 3aa690e2c0e98d3274c8e988b85f28cf304c0320
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Mar 01 16:13:59 2017

Add Network.setSendRequestIdHeader and use it in headless

This lets us correlate fetches seen by a UrlRequest handler with
DevTools network domain events.

BUG= 546953 

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

[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/chrome/browser/devtools/devtools_network_transaction.cc
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/chrome/browser/devtools/devtools_network_transaction.h
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/BUILD.gn
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/public/util/deterministic_http_protocol_handler.cc
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/public/util/generic_url_request_job.h
[add] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/public/util/protocol_handler_request_id_browsertest.cc
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/test/headless_browser_test.cc
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/headless/test/headless_browser_test.h
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/third_party/WebKit/Source/core/inspector/InspectorNetworkAgent.cpp
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/third_party/WebKit/Source/platform/loader/fetch/FetchUtils.cpp
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/third_party/WebKit/Source/platform/loader/fetch/RawResource.cpp
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/third_party/WebKit/Source/platform/loader/fetch/RawResourceTest.cpp
[modify] https://crrev.com/3aa690e2c0e98d3274c8e988b85f28cf304c0320/third_party/WebKit/Source/platform/network/HTTPNames.json5

Cc: addyo@chromium.org
Project Member

Comment 183 by bugdroid1@chromium.org, Mar 29 2017

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

commit d851aa1e5290a777a7a82afdbe6c27df2cf82bf2
Author: skyostil <skyostil@chromium.org>
Date: Wed Mar 29 17:38:35 2017

base: Support command line wrappers with quoted arguments

Command line wrappers (e.g., --renderer-cmd-prefix) were previously
split into individual arguments purely based on whitespace. This fails
if the prefix has arguments with embedded whitespace (e.g., gdb -ex "set
height 0").

This patch fixes the issue by tokenizing the prefix based on whitespace
while using ' and " as quote characters.

BUG= 546953 

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

[modify] https://crrev.com/d851aa1e5290a777a7a82afdbe6c27df2cf82bf2/base/command_line.cc
[modify] https://crrev.com/d851aa1e5290a777a7a82afdbe6c27df2cf82bf2/base/command_line_unittest.cc

Project Member

Comment 184 by bugdroid1@chromium.org, Apr 3 2017

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

commit bccb2a6db2d722ead168ce0244c4d9d2dc67adab
Author: eseckler <eseckler@chromium.org>
Date: Mon Apr 03 10:46:54 2017

[headless] Fix race in TargetDomainCreateTwoContexts test.

There's a race between completion of the load of the url provided to
Target.createTarget and the taking effect of Page.enable sent to the
created targets.

This patch resolves the race by separating target creation from page
loading to initiate the page load after Page.enable.

BUG= 546953 

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

[modify] https://crrev.com/bccb2a6db2d722ead168ce0244c4d9d2dc67adab/headless/lib/headless_devtools_client_browsertest.cc

Project Member

Comment 186 by bugdroid1@chromium.org, Apr 13 2017

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

commit 8196d431989e75a2fdbf19ddb42822b5d080da0e
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Apr 13 07:11:36 2017

Add HeadlessTabSocket

This lets a C++ embedder send messages to and from JS on a HeadlessWebContents.
Note for this to work the headless browser context must have been created with
AddTabSocketMojoBindings and the headless web contents must have been created
with CreateTabSocket(true).

This will not affect chrome.exe --headless because only a C++ embedder can set
the above options.

Note that C++ embedders can already do this and more with the current headless API.
At a later date we will remove the more general headless mojo interface in favor of
TabSockets, unless it turns out somebody is actually using them.

BUG= 546953 

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

[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/BUILD.gn
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/browser/headless_browser_context_impl.cc
[add] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/browser/headless_tab_socket_impl.cc
[add] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/browser/headless_tab_socket_impl.h
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/renderer/headless_content_renderer_client.cc
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/renderer/headless_content_renderer_client.h
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/resources/headless_lib_resources.grd
[add] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/lib/tab_socket.mojom
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/public/headless_browser_context.h
[add] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/public/headless_tab_socket.h
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/public/headless_web_contents.h
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/test/headless_browser_test.cc
[modify] https://crrev.com/8196d431989e75a2fdbf19ddb42822b5d080da0e/headless/test/headless_browser_test.h

Project Member

Comment 187 by bugdroid1@chromium.org, Apr 13 2017

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

commit a612e798921b4a374aafdb907ed9a38ed0a6c476
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Apr 13 12:18:13 2017

Headless: A better GenericURLRequestJob::Delegate API

The old Delegate API made it rather awkward to get at the full details of
the request.  This new API fixes that, whilst allowing more flexible
request modification.

BUG= 546953 

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

[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/BUILD.gn
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/deterministic_http_protocol_handler.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/generic_url_request_job.h
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/generic_url_request_job_test.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/http_url_fetcher.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/http_url_fetcher.h
[delete] https://crrev.com/30b894d4f8a1c58183749fb7e0982f53dba0ba40/headless/public/util/protocol_handler_request_id_browsertest.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/url_fetcher.cc
[modify] https://crrev.com/a612e798921b4a374aafdb907ed9a38ed0a6c476/headless/public/util/url_fetcher.h

Blockedon: 715541
Project Member

Comment 194 by bugdroid1@chromium.org, May 9 2017

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

commit 1b6728287ccd6d494774ac4f351dac9daa92d8a5
Author: alexclarke <alexclarke@chromium.org>
Date: Tue May 09 11:26:55 2017

Headless: Remove obsolete Mojo code and some other obsolete APIs

BUG= 546953 

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

[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/BUILD.gn
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/app/headless_shell.cc
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/lib/browser/headless_web_contents_impl.h
[delete] https://crrev.com/88ffa876760cfe39fc790bc1dbd901aff0e3cede/headless/lib/embedder_mojo_browsertest.cc
[delete] https://crrev.com/88ffa876760cfe39fc790bc1dbd901aff0e3cede/headless/lib/embedder_test.mojom
[delete] https://crrev.com/88ffa876760cfe39fc790bc1dbd901aff0e3cede/headless/lib/headless_browsertest_resources.grd
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/headless_browser_context.h
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/headless_web_contents.h
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/util/deterministic_http_protocol_handler.cc
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/util/deterministic_http_protocol_handler.h
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/util/generic_url_request_job.h
[modify] https://crrev.com/1b6728287ccd6d494774ac4f351dac9daa92d8a5/headless/public/util/generic_url_request_job_test.cc

Blockedon: 719921
Project Member

Comment 196 by bugdroid1@chromium.org, May 11 2017

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

commit fa3fdf20cea4dbedd74476a40649e708ab1827a0
Author: alexclarke <alexclarke@chromium.org>
Date: Thu May 11 08:05:32 2017

Add a DevTools command to create an isolated world for a given frame

DevTools already has the ability to run script in any execution context,
it' just can't by itself create an isolated world.  This patch adds that
ability.  We believe this will be useful for Headless chrome users who
whish to manipulate the dom.  They can already do this via devtools
protocol but running a script in an isolated world should be easier to
work with.

BUG= 546953 

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

[add] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/LayoutTests/inspector-protocol/page/createIsolatedWorld-expected.txt
[add] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/LayoutTests/inspector-protocol/page/createIsolatedWorld.html
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/bindings/core/v8/ScriptController.h
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/fa3fdf20cea4dbedd74476a40649e708ab1827a0/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h

Components: Internals>Headless
Project Member

Comment 198 by bugdroid1@chromium.org, May 15 2017

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

commit a80b77bd7af69a3e802579c157ba7879636a5c65
Author: Sami Kyostila <skyostil@chromium.org>
Date: Mon May 15 15:33:53 2017

headless: Update bug tracker link

BUG= 546953 

Change-Id: Ice7892d4cffe70280016e7a16e7c39b3e25ff53e
Reviewed-on: https://chromium-review.googlesource.com/505613
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#471771}
[modify] https://crrev.com/a80b77bd7af69a3e802579c157ba7879636a5c65/headless/README.md

Project Member

Comment 199 by bugdroid1@chromium.org, May 24 2017

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

commit 07ee7c399295b210c5338dfeb543f2d30f748340
Author: alexclarke <alexclarke@chromium.org>
Date: Wed May 24 10:07:07 2017

Allow headless TabSocket in isolated worlds & remove obsolete logic

This patch only affects C++ Embedders of headless_lib and should have
no effect on normal chrome even with the --headless flag.

Recently we decided to no longer allow arbitrary mojo bindings, instead
relying on the headless::TabSocket API for js<-->C++ communications.

The public headless API for registering a mojo module has already been
removed and this patch finishes the job by removing the code from
MojoBindingsController which injected js mojo bindings for
BINDINGS_POLICY_HEADLESS.

In this patch we are replacing BINDINGS_POLICY_HEADLESS with
BINDINGS_POLICY_HEADLESS_MAIN_WORLD and
BINDINGS_POLICY_HEADLESS_ISOLATED_WORLD which provide access to the
headless::TabSocket API to either the main world or for isolated worlds
created by the Page.CreateIsolatedWorld DevTools command.

For a security point of view this patch hopefully reduces the attack
surface for the main world because js now only has access to the
headless::TabSocket API rather than arbitrary mojo modules.  Providing
the headless::TabSocket API into isolated worlds is new but hopefully
non-controversial. I note that ContentScripts have access to similar
APIs for communication with the owning extension. I did investigate
reusing that code but it didn't seem feasible.

BUG= 546953 

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

[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/content/public/common/bindings_policy.h
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/content/renderer/mojo_bindings_controller.h
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/content/renderer/mojo_context_state.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/BUILD.gn
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/renderer/DEPS
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/renderer/headless_content_renderer_client.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/lib/renderer/headless_content_renderer_client.h
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/public/headless_web_contents.h
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/test/headless_browser_test.cc
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/headless/test/headless_browser_test.h
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/third_party/WebKit/Source/core/xml/DocumentXMLTreeViewer.cpp
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[add] https://crrev.com/07ee7c399295b210c5338dfeb543f2d30f748340/third_party/WebKit/public/platform/WebIsolatedWorldIds.h

Project Member

Comment 200 by bugdroid1@chromium.org, May 24 2017

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

commit b8618a1653256d3aae86b64e0c3c4d7c91d207c0
Author: vitaliii <vitaliii@chromium.org>
Date: Wed May 24 10:44:51 2017

Revert of Allow headless TabSocket in isolated worlds & remove obsolete logic (patchset #12 id:220001 of https://codereview.chromium.org/2873283002/ )

Reason for revert:
This CL breaks compile step. Message:
FAILED: obj/headless/headless_browsertests/headless_web_contents_browsertest.obj
ninja -t msvc -e environment.x86 -- C:\b\c\goma_client/gomacc.exe "C:\b\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/headless/headless_browsertests/headless_web_contents_browsertest.obj.rsp /c ../../headless/lib/headless_web_contents_browsertest.cc /Foobj/headless/headless_browsertests/headless_web_contents_browsertest.obj /Fd"obj/headless/headless_browsertests_cc.pdb"
c:\b\c\b\win_archive\src\headless\lib\headless_web_contents_browsertest.cc(385) : error C2220: warning treated as error - no 'object' file generated
c:\b\c\b\win_archive\src\headless\lib\headless_web_contents_browsertest.cc(533) : error C2220: warning treated as error - no 'object' file generated
c:\b\c\b\win_archive\src\headless\lib\headless_web_contents_browsertest.cc(533) : warning C4702: unreachable code
c:\b\c\b\win_archive\src\headless\lib\headless_web_contents_browsertest.cc(385) : warning C4702: unreachable code

Original issue's description:
> Allow headless TabSocket in isolated worlds & remove obsolete logic
>
> This patch only affects C++ Embedders of headless_lib and should have
> no effect on normal chrome even with the --headless flag.
>
> Recently we decided to no longer allow arbitrary mojo bindings, instead
> relying on the headless::TabSocket API for js<-->C++ communications.
>
> The public headless API for registering a mojo module has already been
> removed and this patch finishes the job by removing the code from
> MojoBindingsController which injected js mojo bindings for
> BINDINGS_POLICY_HEADLESS.
>
> In this patch we are replacing BINDINGS_POLICY_HEADLESS with
> BINDINGS_POLICY_HEADLESS_MAIN_WORLD and
> BINDINGS_POLICY_HEADLESS_ISOLATED_WORLD which provide access to the
> headless::TabSocket API to either the main world or for isolated worlds
> created by the Page.CreateIsolatedWorld DevTools command.
>
> For a security point of view this patch hopefully reduces the attack
> surface for the main world because js now only has access to the
> headless::TabSocket API rather than arbitrary mojo modules.  Providing
> the headless::TabSocket API into isolated worlds is new but hopefully
> non-controversial. I note that ContentScripts have access to similar
> APIs for communication with the owning extension. I did investigate
> reusing that code but it didn't seem feasible.
>
> BUG= 546953 
>
> Review-Url: https://codereview.chromium.org/2873283002
> Cr-Commit-Position: refs/heads/master@{#474238}
> Committed: https://chromium.googlesource.com/chromium/src/+/07ee7c399295b210c5338dfeb543f2d30f748340

TBR=mkwst@chromium.org,jochen@chromium.org,skyostil@chromium.org,alexclarke@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 546953 

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

[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/content/public/common/bindings_policy.h
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/content/renderer/mojo_bindings_controller.h
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/content/renderer/mojo_context_state.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/BUILD.gn
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/renderer/DEPS
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/renderer/headless_content_renderer_client.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/lib/renderer/headless_content_renderer_client.h
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/public/headless_web_contents.h
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/test/headless_browser_test.cc
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/headless/test/headless_browser_test.h
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/third_party/WebKit/Source/core/xml/DocumentXMLTreeViewer.cpp
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/b8618a1653256d3aae86b64e0c3c4d7c91d207c0/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[delete] https://crrev.com/77a0c5f701d4bf72cb998c69496a65725fbb719e/third_party/WebKit/public/platform/WebIsolatedWorldIds.h

Project Member

Comment 201 by bugdroid1@chromium.org, May 24 2017

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

commit 1a4a3bab489e96546385236195be3d9b449a10e0
Author: alexclarke <alexclarke@chromium.org>
Date: Wed May 24 16:07:42 2017

Allow headless TabSocket in isolated worlds & remove obsolete logic

This patch only affects C++ Embedders of headless_lib and should have
no effect on normal chrome even with the --headless flag.

Recently we decided to no longer allow arbitrary mojo bindings, instead
relying on the headless::TabSocket API for js<-->C++ communications.

The public headless API for registering a mojo module has already been
removed and this patch finishes the job by removing the code from
MojoBindingsController which injected js mojo bindings for
BINDINGS_POLICY_HEADLESS.

In this patch we are replacing BINDINGS_POLICY_HEADLESS with
BINDINGS_POLICY_HEADLESS_MAIN_WORLD and
BINDINGS_POLICY_HEADLESS_ISOLATED_WORLD which provide access to the
headless::TabSocket API to either the main world or for isolated worlds
created by the Page.CreateIsolatedWorld DevTools command.

For a security point of view this patch hopefully reduces the attack
surface for the main world because js now only has access to the
headless::TabSocket API rather than arbitrary mojo modules.  Providing
the headless::TabSocket API into isolated worlds is new but hopefully
non-controversial. I note that ContentScripts have access to similar
APIs for communication with the owning extension. I did investigate
reusing that code but it didn't seem feasible.

BUG= 546953 

Review-Url: https://codereview.chromium.org/2873283002
Cr-Original-Commit-Position: refs/heads/master@{#474238}
Committed: https://chromium.googlesource.com/chromium/src/+/07ee7c399295b210c5338dfeb543f2d30f748340
Review-Url: https://codereview.chromium.org/2873283002
Cr-Commit-Position: refs/heads/master@{#474311}

[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/content/public/common/bindings_policy.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/content/renderer/mojo_bindings_controller.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/content/renderer/mojo_context_state.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/renderer/DEPS
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/renderer/headless_content_renderer_client.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/lib/renderer/headless_content_renderer_client.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/public/headless_web_contents.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/test/headless_browser_test.cc
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/headless/test/headless_browser_test.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/third_party/WebKit/Source/core/xml/DocumentXMLTreeViewer.cpp
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.cpp
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/third_party/WebKit/Source/platform/bindings/DOMWrapperWorld.h
[modify] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/1a4a3bab489e96546385236195be3d9b449a10e0/third_party/WebKit/public/platform/WebIsolatedWorldIds.h

Project Member

Comment 203 by bugdroid1@chromium.org, Jun 2 2017

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

commit 6f5b3053ff11488b985c18e8d03472356e049fd5
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Jun 02 14:32:30 2017

DevTools protocol interception, blocking & modification of requests

Adds Network.enableFetchInterception which sends Network.interceptedRequest for fetch requests and Network.interceptedRedirect for any redirects.  The fetch or redirect
is paused until one of the following commands is sent: Network.allowRequest, Network.blockRequest, Network.mockResponse, Network.modifyRequest.

Design doc: https://docs.google.com/document/d/1nEN0SqC1jEpHgKuQPrppwSabC8JRAuJb7MSTGCe2Pzg/edit#

BUG= 702384 ,  546953 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/BUILD.gn
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/devtools_url_interceptor_request_job.cc
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/devtools_url_interceptor_request_job.h
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/devtools_url_request_interceptor.cc
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/devtools_url_request_interceptor.h
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/protocol/network_handler.cc
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/protocol/network_handler.h
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/devtools/protocol_config.json
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/content/browser/storage_partition_impl_map.cc
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/disable-interception-midway-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/disable-interception-midway.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/interception-test.js
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/navigation-interception-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/navigation-interception.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-blocked-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-blocked.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-mocked-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-mocked.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-modified-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception-modified.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/redirect-interception.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-mock302-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-mock302.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-mock404-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-mock404.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-modify-get-to-post-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception-modify-get-to-post.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/request-interception.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/alternative.js
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/final.js
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/post-echo.pl
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/redirect-iframe.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/redirect1.pl
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/redirect2.pl
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/redirect3.pl
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/resource-iframe.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/test.css
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/unauthorised.pl
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/xhr-iframe-auth-fail.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/resources/xhr-iframe.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/xhr-interception-auth-fail-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/xhr-interception-auth-fail.html
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/xhr-interception-expected.txt
[add] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/LayoutTests/http/tests/inspector-protocol/network/xhr-interception.html
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/Source/core/inspector/inspector_protocol_config.json
[modify] https://crrev.com/6f5b3053ff11488b985c18e8d03472356e049fd5/third_party/WebKit/Source/devtools/front_end/sdk/NetworkManager.js

Project Member

Comment 204 by bugdroid1@chromium.org, Jun 5 2017

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

commit fd7203e6007c737c246b7eff8ff3ed8473b596df
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Jun 05 12:15:50 2017

[headless] Export fontconfig utils for headless builds.

Bug:  546953 
Change-Id: I30040fd7401fc6ecd157a64c7eab4f4aeae4449f
Reviewed-on: https://chromium-review.googlesource.com/523962
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#476973}
[modify] https://crrev.com/fd7203e6007c737c246b7eff8ff3ed8473b596df/headless/BUILD.gn
[modify] https://crrev.com/fd7203e6007c737c246b7eff8ff3ed8473b596df/headless/public/util/fontconfig.h

Project Member

Comment 205 by bugdroid1@chromium.org, Jun 9 2017

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

commit 1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Jun 09 11:52:41 2017

Add some closureised JS bindings for DevTools.

Sadly these don't support minification because the json objects get
mangled.  We could fix that however if it becomes necessary.

BUG= 546953 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

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

[modify] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/BUILD.gn
[add] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/headless_browsertest_resources.grd
[modify] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/lib/browser/devtools_api/client_api_generator.py
[add] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/lib/browser/devtools_api/devtools_connection.js
[add] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/lib/browser/devtools_api/domain_js.template
[modify] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/lib/headless_browsertest_resource_ids
[add] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/lib/tab_socket_externs.js
[add] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/test/bindings_test.js
[add] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/headless/test/headless_js_bindings_browsertest.cc
[modify] https://crrev.com/1a69b3b221aed4b1ad88d7446aa22cf3d879bfcf/third_party/closure_compiler/compile_js.gni

Project Member

Comment 206 by bugdroid1@chromium.org, Jun 10 2017

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

commit 5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7
Author: eseckler <eseckler@chromium.org>
Date: Sat Jun 10 09:46:07 2017

[devtools] Add DOMSnapshot domain for dom+layout+style snapshots.

Introduces a new DOMSnapshot.getSnapshot command, which returns a
flattened dom tree together with layout objects and computed styles.

By combining all trees in one command's result, we avoid the potential
for inconsistencies between them.

The patch also removes the unused DomTreeExtractor wrapper in
headless/. In a subsequent patch, we'll further remove the now obsolete
FlatDomTreeExtractor and CSS.getLayoutTreeAndStyles.

BUG= 546953 

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

[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/content/browser/devtools/protocol/schema_handler.cc
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/headless/BUILD.gn
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/headless/public/headless_devtools_client.h
[delete] https://crrev.com/632b145c0e44fc890662f41a8638d7bcb4a203bf/headless/public/util/dom_tree_extractor.cc
[delete] https://crrev.com/632b145c0e44fc890662f41a8638d7bcb4a203bf/headless/public/util/dom_tree_extractor.h
[delete] https://crrev.com/632b145c0e44fc890662f41a8638d7bcb4a203bf/headless/public/util/dom_tree_extractor_browsertest.cc
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
[add] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-expected.txt
[add] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot.html
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/BUILD.gn
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[add] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/InspectorDOMSnapshotAgent.cpp
[add] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/InspectorDOMSnapshotAgent.h
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/core/inspector/inspector_protocol_config.json
[modify] https://crrev.com/5a101abbe0fd58cfa3fdadfeacde86c8dd108ec7/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp

Project Member

Comment 207 by bugdroid1@chromium.org, Jun 15 2017

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

commit 84f44b2a70b37f07c2a3e23c7c79208342aca142
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Jun 15 15:48:59 2017

[devtools/headless] Remove obsolete getLayoutTreeAndStyles command.

This (experimental) command is no longer used and was replaced by
DOMSnapshot.getSnapshot.

Bug:  546953 
Change-Id: I8a0d3a0bf612d45c1ca99d9b819c14d063cdbf6c
Reviewed-on: https://chromium-review.googlesource.com/535696
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479717}
[modify] https://crrev.com/84f44b2a70b37f07c2a3e23c7c79208342aca142/headless/BUILD.gn
[delete] https://crrev.com/81262df9d8ec534bb53421d890e97754cf5a6718/headless/public/util/flat_dom_tree_extractor.cc
[delete] https://crrev.com/81262df9d8ec534bb53421d890e97754cf5a6718/headless/public/util/flat_dom_tree_extractor.h
[delete] https://crrev.com/81262df9d8ec534bb53421d890e97754cf5a6718/headless/public/util/flat_dom_tree_extractor_browsertest.cc
[modify] https://crrev.com/84f44b2a70b37f07c2a3e23c7c79208342aca142/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/84f44b2a70b37f07c2a3e23c7c79208342aca142/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
[delete] https://crrev.com/81262df9d8ec534bb53421d890e97754cf5a6718/third_party/WebKit/LayoutTests/inspector-protocol/css/css-getLayoutTreeNodes-expected.txt
[delete] https://crrev.com/81262df9d8ec534bb53421d890e97754cf5a6718/third_party/WebKit/LayoutTests/inspector-protocol/css/css-getLayoutTreeNodes.html
[modify] https://crrev.com/84f44b2a70b37f07c2a3e23c7c79208342aca142/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.cpp
[modify] https://crrev.com/84f44b2a70b37f07c2a3e23c7c79208342aca142/third_party/WebKit/Source/core/inspector/InspectorCSSAgent.h
[modify] https://crrev.com/84f44b2a70b37f07c2a3e23c7c79208342aca142/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member

Comment 208 by bugdroid1@chromium.org, Jun 21 2017

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

commit 758a42dfcf844165989b8429d38c22b22c2dabc8
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Jun 21 13:21:11 2017

[headless] Use TaskScheduler APIs for posting former FILE thread tasks.

FILE thread is going away. Patch is part of TaskScheduler migration.

Bug:  546953 
Change-Id: I1a9d8d63e1a89e1496038e247dda707e15f93418
Reviewed-on: https://chromium-review.googlesource.com/541303
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#481189}
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/app/headless_shell.cc
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/app/headless_shell.h
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/lib/browser/headless_url_request_context_getter.h
[modify] https://crrev.com/758a42dfcf844165989b8429d38c22b22c2dabc8/headless/public/headless_browser.h

Project Member

Comment 209 by bugdroid1@chromium.org, Jun 28 2017

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

commit c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Jun 28 15:17:57 2017

Headless: Support multiple TabSockets

TabSockets are intended to either be installed into the main world or
a isolated world created by Page.createIsolatedWorld.  Previously we
only supported a single TabSocket per WebContents but that's unfortunate
with OOPIF.  This patch lets us support multiple TabSockets up to one
per world per frame.

The mojoms have changed a bit with
TabSocket::AwaitNextMessageFromEmbedder moving to 
HeadlessRenderFrameController::SendMessageToTabSocket which simplifies
recieveing a message from the embedder since a hanging IPC is no
longer needed.

Bug:  546953 
Change-Id: I835ffcdf3bf9acd5be687074977346fb19f69d12
Reviewed-on: https://chromium-review.googlesource.com/543160
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482990}
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/BUILD.gn
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/browser/headless_tab_socket_impl.cc
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/browser/headless_tab_socket_impl.h
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/headless_render_frame_controller.mojom
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/renderer/DEPS
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/renderer/headless_content_renderer_client.cc
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/renderer/headless_render_frame_controller_impl.cc
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/renderer/headless_render_frame_controller_impl.h
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/renderer/headless_tab_socket_bindings.cc
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/renderer/headless_tab_socket_bindings.h
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/lib/tab_socket.mojom
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/public/headless_tab_socket.h
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/public/headless_web_contents.h
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/data/iframe2.html
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/data/tabsocket.html
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/data/two_iframes.html
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/headless_browser_test.cc
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/headless_browser_test.h
[modify] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/headless_js_bindings_browsertest.cc
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/tab_socket_test.cc
[add] https://crrev.com/c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289/headless/test/tab_socket_test.h

Status: Fixed (was: Started)
Since we've now implemented headless mode on all the major platforms and this master bug is getting a little unwieldy, I'll close it. Note that this doesn't mean we're done with headless mode -- just that we'll use more precisely focused individual bug entries to track future work.

Please keep filing new bugs under the Internals>Headless component and star existing ones to help us prioritize!
Project Member

Comment 211 by bugdroid1@chromium.org, Jun 28 2017

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

commit ee491d1b645e3d93845843306924af34ad45cd6c
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Wed Jun 28 19:01:19 2017

Revert "Headless: Support multiple TabSockets"

This reverts commit c5b3efa9a0ea0b0d2e4aa28784e6d7029b7f1289.

Reason for revert: the newly added test HeadlessNoDevToolsTabSocketTest is flaky on Mac.
https://build.chromium.org/p/chromium.mac/builders/Mac10.9%20Tests%20%28dbg%29

Original change's description:
> Headless: Support multiple TabSockets
> 
> TabSockets are intended to either be installed into the main world or
> a isolated world created by Page.createIsolatedWorld.  Previously we
> only supported a single TabSocket per WebContents but that's unfortunate
> with OOPIF.  This patch lets us support multiple TabSockets up to one
> per world per frame.
> 
> The mojoms have changed a bit with
> TabSocket::AwaitNextMessageFromEmbedder moving to 
> HeadlessRenderFrameController::SendMessageToTabSocket which simplifies
> recieveing a message from the embedder since a hanging IPC is no
> longer needed.
> 
> Bug:  546953 
> Change-Id: I835ffcdf3bf9acd5be687074977346fb19f69d12
> Reviewed-on: https://chromium-review.googlesource.com/543160
> Commit-Queue: Alex Clarke <alexclarke@chromium.org>
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Mike West <mkwst@chromium.org>
> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
> Reviewed-by: Eric Seckler <eseckler@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#482990}

TBR=skyostil@chromium.org,alexclarke@chromium.org,eseckler@chromium.org,jochen@chromium.org,mkwst@chromium.org

Change-Id: If1c988e89b2594d88304a673c20f15888233630b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  546953 
Reviewed-on: https://chromium-review.googlesource.com/553237
Reviewed-by: Rouslan Solomakhin <rouslan@chromium.org>
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483089}
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/BUILD.gn
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/browser/headless_tab_socket_impl.cc
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/browser/headless_tab_socket_impl.h
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/headless_render_frame_controller.mojom
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/renderer/DEPS
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/renderer/headless_content_renderer_client.cc
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/lib/renderer/headless_render_frame_controller_impl.cc
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/lib/renderer/headless_render_frame_controller_impl.h
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/lib/renderer/headless_tab_socket_bindings.cc
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/lib/renderer/headless_tab_socket_bindings.h
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/lib/tab_socket.mojom
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/public/headless_tab_socket.h
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/public/headless_web_contents.h
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/test/data/iframe2.html
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/test/data/tabsocket.html
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/test/data/two_iframes.html
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/test/headless_browser_test.cc
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/test/headless_browser_test.h
[modify] https://crrev.com/ee491d1b645e3d93845843306924af34ad45cd6c/headless/test/headless_js_bindings_browsertest.cc
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/test/tab_socket_test.cc
[delete] https://crrev.com/1ef4160b5770c280def9169f04685e3224bc6a96/headless/test/tab_socket_test.h

 Issue 737702  has been merged into this issue.
Project Member

Comment 214 by bugdroid1@chromium.org, Jul 10 2017

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

commit d68d3b557be6335ee39db7b5a121d1f96e2ed94c
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Jul 10 12:28:40 2017

[devtools] Allow resolving node objects by backend id.

DOMSnapshot domain users (primarily automation users) don't receive
nodeIds, only backendNodeIds. Still, they'd like to interact with
node objects via JS.

Bug:  546953 
Change-Id: Idbce383d9b264038b737bc316620fd308e839510
Reviewed-on: https://chromium-review.googlesource.com/559390
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485242}
[add] https://crrev.com/d68d3b557be6335ee39db7b5a121d1f96e2ed94c/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-resolveNode-expected.txt
[add] https://crrev.com/d68d3b557be6335ee39db7b5a121d1f96e2ed94c/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-resolveNode.js
[modify] https://crrev.com/d68d3b557be6335ee39db7b5a121d1f96e2ed94c/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/d68d3b557be6335ee39db7b5a121d1f96e2ed94c/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[modify] https://crrev.com/d68d3b557be6335ee39db7b5a121d1f96e2ed94c/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/d68d3b557be6335ee39db7b5a121d1f96e2ed94c/third_party/WebKit/Source/devtools/front_end/sdk/DOMModel.js

Project Member

Comment 215 by bugdroid1@chromium.org, Jul 12 2017

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

commit 51a354aed5941fed25e06365e681c13200291065
Author: Alex Clarke <alexclarke@chromium.org>
Date: Wed Jul 12 11:04:44 2017

Headless: Support Multiple tabsockets (reland)

TabSockets are intended to either be installed into the main world or
a isolated world created by Page.createIsolatedWorld.  Previously we
only supported a single TabSocket per WebContents but that's unfortunate
with OOPIF.  This patch lets us support multiple TabSockets up to one
per world per frame.

The mojoms have changed a bit with
TabSocket::AwaitNextMessageFromEmbedder moving to 
HeadlessRenderFrameController::SendMessageToTabSocket which simplifies
recieveing a message from the embedder since a hanging IPC is no
longer needed.

Original patch: https://chromium-review.googlesource.com/c/543160/

Bug:  546953 
Change-Id: Iab134b78d3cbfcbdb00ada15a6ae6d3b253727a8
TBR: jochen@chromium.org, mkwst@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/565404
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485922}
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/BUILD.gn
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/browser/headless_tab_socket_impl.cc
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/browser/headless_tab_socket_impl.h
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/headless_render_frame_controller.mojom
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/renderer/DEPS
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/renderer/headless_content_renderer_client.cc
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/renderer/headless_render_frame_controller_impl.cc
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/renderer/headless_render_frame_controller_impl.h
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/renderer/headless_tab_socket_bindings.cc
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/renderer/headless_tab_socket_bindings.h
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/lib/tab_socket.mojom
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/public/headless_tab_socket.h
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/public/headless_web_contents.h
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/data/iframe2.html
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/data/tabsocket.html
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/data/two_iframes.html
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/headless_browser_test.cc
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/headless_browser_test.h
[modify] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/headless_js_bindings_browsertest.cc
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/tab_socket_test.cc
[add] https://crrev.com/51a354aed5941fed25e06365e681c13200291065/headless/test/tab_socket_test.h

Project Member

Comment 217 by bugdroid1@chromium.org, Aug 1 2017

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

commit f85ffa8e9d1834d5cc527521edf089211b08f04b
Author: Dmitry Gozman <dgozman@chromium.org>
Date: Tue Aug 01 08:12:20 2017

[DevTools] Merge navigations control into requests interception

Bug:  546953 ,  702384 
Change-Id: I73460b641d4083d615dfffb284aee8fd9cd1cdd7
Reviewed-on: https://chromium-review.googlesource.com/590348
Reviewed-by: Pavel Feldman <pfeldman@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Commit-Queue: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490912}
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/BUILD.gn
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/devtools_url_interceptor_request_job.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/devtools_url_interceptor_request_job.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/devtools_url_request_interceptor.cc
[delete] https://crrev.com/27e058389d2e581df6299b630b4ead0028cdc29a/content/browser/devtools/page_navigation_throttle.cc
[delete] https://crrev.com/27e058389d2e581df6299b630b4ead0028cdc29a/content/browser/devtools/page_navigation_throttle.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/protocol/network_handler.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/protocol/network_handler.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/protocol/page_handler.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/protocol_config.json
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/content/browser/devtools/render_frame_devtools_agent_host.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/headless/app/headless_shell.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/headless/app/headless_shell.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/headless/app/shell_navigation_request.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/headless/app/shell_navigation_request.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/headless/public/util/navigation_request.h
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/third_party/WebKit/Source/core/inspector/browser_protocol-1.2.json
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/third_party/WebKit/Source/devtools/front_end/sdk/NetworkManager.js
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/third_party/WebKit/Source/devtools/front_end/sdk/ResourceTreeModel.js
[modify] https://crrev.com/f85ffa8e9d1834d5cc527521edf089211b08f04b/third_party/WebKit/Source/devtools/front_end/sdk/ScreenCaptureModel.js

Project Member

Comment 218 by bugdroid1@chromium.org, Aug 1 2017

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

commit 8fd9cc03dc6623f5988e29bf49eb407bc2655249
Author: Matt Menke <mmenke@chromium.org>
Date: Tue Aug 01 17:16:40 2017

Add a pair of suppressions tests using the network service.

In particular, DevToolsProtocolTest.ControlNavigationsMainFrame and
IsolatedDevToolsProtocolTest.ControlNavigationsChildFrames are now
failing, likely as a result of
https://chromium-review.googlesource.com/c/590348

TBR=rdsmith@chromium.org
NOTRY=true

Bug:  546953 ,  702384 
Change-Id: I1b49e35e4519951111acd8c77853c78998da2846
Reviewed-on: https://chromium-review.googlesource.com/596248
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491030}
[modify] https://crrev.com/8fd9cc03dc6623f5988e29bf49eb407bc2655249/testing/buildbot/filters/mojo.fyi.network_content_browsertests.filter

Project Member

Comment 219 by bugdroid1@chromium.org, Oct 26 2017

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

commit b804eac8c150c933bff30b05e1408af208e27e05
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Oct 26 10:22:51 2017

headless: Expose child process command line to embedder

This allows embedders to adjust command line options when e.g. renderer
processes are forked.

Bug:  546953 
Change-Id: Iac78013a8a002ce0dad7684159ddbfbbeee76321
Reviewed-on: https://chromium-review.googlesource.com/737874
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511781}
[modify] https://crrev.com/b804eac8c150c933bff30b05e1408af208e27e05/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/b804eac8c150c933bff30b05e1408af208e27e05/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/b804eac8c150c933bff30b05e1408af208e27e05/headless/public/headless_browser.cc
[modify] https://crrev.com/b804eac8c150c933bff30b05e1408af208e27e05/headless/public/headless_browser.h

Cc: -altimin@chromium.org
Showing comments 121 - 220 of 220 Older

Sign in to add a comment