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 312 users

Comments by non-members will not trigger notification emails to users who starred this issue.
Status: Fixed
Owner:
Closed: Jun 28
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 Back to list
Master bug for tracking implementation work related to a headless mode for Chrome.
 
A more elaborate design doc is forthcoming, but to summarize for now: the aim of the Headless Chrome project is to produce a version of Chrome that can run in a headless/server environment. Expected use cases include loading web pages, extracting metadata (e.g., the DOM) and generating bitmaps from page contents -- using all the modern web platform features provided by Blink.

The main deliverables are:

1. A library which headless applications can link to to.

2. A sample application which demonstrates the use of headless APIs.
Cc: tiago.vi...@intel.com
Hi. What's the comparative of the headless and the already existent test platform? 
https://code.google.com/p/chromium/codesearch#chromium/src/ui/ozone/platform/test/
Moi Tiago. Rendering-wise, headless chrome and the ozone test platform will likely be identical (perhaps we can ultimately just use the same ozone backend?), but we're also looking to make it a little more convenient to integrate Chrome to a headless/server environment, provide more control over how Blink behaves and to make it possible to extract more information from the web contents.

This is all pretty experimental at this point so details will change.
Cc: spang@chromium.org
cc spang.

There was this kind of confusion before, so that's why I'm pointing out. I think you guys can pretty much use the test platform regardless. Maybe we should rename to headless that, cause it's more suggestive and this same mistake won't happen later. Kiitti, Sami!
Renaming Ozone's test platform to headless sounds good to me (maybe eglheadless too while we are at it). We might want to adjust the logic for dumping image frames but that can happen later.
Comment 6 by spang@chromium.org, Oct 29 2015
OK to rename "test". "egltest" should not be renamed to "eglheadless" since the main way this it used currently creates an X window.
That makes sense, thanks for confirming.

altimin@: would you also mind updating the documentation here: https://www.chromium.org/developers/design-documents/ozone
Project Member Comment 8 by bugdroid1@chromium.org, Nov 3 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f65eb2da91a4544d49ea6ddab73cac52b0e338b4

commit f65eb2da91a4544d49ea6ddab73cac52b0e338b4
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Nov 03 18:24:16 2015

Adds a flag to support "Virtual Time" to the blink scheduler

For use in Headless Chrome, this patch introduces support for virtual
time.  The idea is if the main thread (or a worker thread) runs out of
non-delayed work to do then we are able to fast forward time to the next
scheduled delayed task.

This is enabled via the new --enable-virtualized-time command line flag.

Currently this does not extend to RAF, and virtual time for workers is
not currently synchronized with anything.

BUG=546953

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

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

[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/BUILD.gn
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/components_tests.gyp
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/BUILD.gn
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/DEPS
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/lazy_now.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/lazy_now.h
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/base/nestable_single_thread_task_runner.h
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/base/nestable_task_runner_for_test.cc
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/base/nestable_task_runner_for_test.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager.h
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager_delegate.h
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager_delegate_for_test.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager_delegate_for_test.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager_perftest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/idle_helper_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_helper_unittest.cc
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/child/scheduler_task_runner_delegate_for_test.cc
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/child/scheduler_task_runner_delegate_for_test.h
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/child/scheduler_task_runner_delegate_impl.cc
[delete] http://crrev.com/51768023c35fc5449f93169c3079a73ecd7cfea0/components/scheduler/child/scheduler_task_runner_delegate_impl.h
[rename] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_tqm_delegate.h
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_tqm_delegate_for_test.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_tqm_delegate_for_test.h
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_tqm_delegate_impl.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_tqm_delegate_impl.h
[rename] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/scheduler_tqm_delegate_impl_unittest.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/virtual_time_tqm_delegate.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/virtual_time_tqm_delegate.h
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/virtual_time_tqm_delegate_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/webthread_impl_for_worker_scheduler.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/webthread_impl_for_worker_scheduler.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/worker_scheduler.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/worker_scheduler.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/worker_scheduler_impl.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/worker_scheduler_impl.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/child/worker_scheduler_impl_unittest.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/common/scheduler_switches.cc
[add] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/common/scheduler_switches.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/ppapi/webthread_impl_for_ppapi.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/ppapi/webthread_impl_for_ppapi.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/DEPS
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/idle_time_estimator.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/idle_time_estimator.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/idle_time_estimator_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/renderer_scheduler.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/task_cost_estimator.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/task_cost_estimator.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/task_cost_estimator_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/web_frame_host_scheduler_impl_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/scheduler.gyp
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/scheduler.gypi
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.h
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/content/browser/BUILD.gn
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/content/browser/renderer_host/render_process_host_impl.cc
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/content/content_browser.gypi
[modify] http://crrev.com/f65eb2da91a4544d49ea6ddab73cac52b0e338b4/media/blink/run_all_unittests.cc

Project Member Comment 9 by bugdroid1@chromium.org, Nov 6 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/822562449e875d806b16d94fa4ee0167e2a2c78e

commit 822562449e875d806b16d94fa4ee0167e2a2c78e
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 06 09:26:12 2015

Make blink platform time consistent with the timer virtual time

This patch doesn't change anything unless the --enable-virtualized-time
command line flag is specifed.  If it is specified it makes
monotonicallyIncreasingTime and currentTime use the virtual
time source which drives the timers.

Also rename BlinkPlatform's currentTIme to currentTimeSeconds and
monotonicallyIncreacingTime to monotonicallyIncreacingTimeSeconds.

BUG=546953

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

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

[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/html_viewer/blink_platform_impl.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/html_viewer/blink_platform_impl.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/base/task_queue_manager_delegate.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/base/task_queue_manager_delegate_for_test.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/base/task_queue_manager_delegate_for_test.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/scheduler_tqm_delegate_for_test.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/scheduler_tqm_delegate_for_test.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/scheduler_tqm_delegate_impl.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/scheduler_tqm_delegate_impl.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/virtual_time_tqm_delegate.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/child/virtual_time_tqm_delegate.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/renderer/renderer_scheduler.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/content/child/blink_platform_impl.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/content/child/blink_platform_impl.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/content/renderer/renderer_blink_platform_impl.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/content/renderer/renderer_blink_platform_impl.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/content/test/fake_renderer_scheduler.cc
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/content/test/fake_renderer_scheduler.h
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/core/fetch/CachingCorrectnessTest.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/platform/heap/HeapPage.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/platform/heap/ThreadState.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/web/WebKit.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/Source/web/tests/TextFinderTest.cpp
[modify] http://crrev.com/822562449e875d806b16d94fa4ee0167e2a2c78e/third_party/WebKit/public/platform/Platform.h

Project Member Comment 10 by bugdroid1@chromium.org, Nov 11 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a557457caccb3c0f60e5d35ccc8c55af5849d76a

commit a557457caccb3c0f60e5d35ccc8c55af5849d76a
Author: skyostil <skyostil@chromium.org>
Date: Wed Nov 11 16:24:25 2015

headless: Add gn setting headless mode

The is_headless setting configures the build in the same
way as the embedded flag in gyp.

Contributions by Alexander Timin <altimin@chromium.org> and
Alex Clarke <alexclarke@chromium.org>.

BUG=546953,318413

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

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

[modify] http://crrev.com/a557457caccb3c0f60e5d35ccc8c55af5849d76a/build/config/features.gni
[add] http://crrev.com/a557457caccb3c0f60e5d35ccc8c55af5849d76a/build/config/headless_build.gni
[modify] http://crrev.com/a557457caccb3c0f60e5d35ccc8c55af5849d76a/build/config/ui.gni
[modify] http://crrev.com/a557457caccb3c0f60e5d35ccc8c55af5849d76a/build/linux/BUILD.gn
[modify] http://crrev.com/a557457caccb3c0f60e5d35ccc8c55af5849d76a/media/media_options.gni
[modify] http://crrev.com/a557457caccb3c0f60e5d35ccc8c55af5849d76a/net/BUILD.gn

Project Member Comment 11 by bugdroid1@chromium.org, Nov 12 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5abfd72765d29f36b577cdbb91ed7cfabc7560a7

commit 5abfd72765d29f36b577cdbb91ed7cfabc7560a7
Author: altimin <altimin@chromium.org>
Date: Thu Nov 12 18:40:58 2015

Rename "test" ozone platform to "headless"

This platform normally has no graphical output or user input
support and has been used for running tests. Rename it to
"headless" to describe what it does rather than what we've
been using it for.

BUG=546953

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

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

[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/build/common.gypi
[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/chromecast/BUILD.gn
[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/chromecast/chromecast_tests.gypi
[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/media/ozone/media_ozone_platform.cc
[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/BUILD.gn
[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/ozone.gni
[modify] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/ozone.gyp
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/BUILD.gn
[rename] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/DEPS
[rename] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/client_native_pixmap_factory_headless.cc
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/client_native_pixmap_factory_headless.h
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless.gypi
[rename] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless_surface_factory.cc
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless_surface_factory.h
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless_window.cc
[rename] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless_window.h
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless_window_manager.cc
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/headless_window_manager.h
[rename] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/ozone_platform_headless.cc
[add] http://crrev.com/5abfd72765d29f36b577cdbb91ed7cfabc7560a7/ui/ozone/platform/headless/ozone_platform_headless.h
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/BUILD.gn
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/client_native_pixmap_factory_test.h
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/ozone_platform_test.h
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/test.gypi
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/test_surface_factory.h
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/test_window.cc
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/test_window_manager.cc
[delete] http://crrev.com/2af4be3722e3dea304e3c5e18581521f9606248b/ui/ozone/platform/test/test_window_manager.h

Project Member Comment 12 by bugdroid1@chromium.org, Nov 17 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/711497d0138297f221cd7283f313e6254b0409fe

commit 711497d0138297f221cd7283f313e6254b0409fe
Author: altimin <altimin@chromium.org>
Date: Tue Nov 17 17:05:36 2015

[headless] Create headless/ folder

Create top-level headless/ folder and OWNERS for it.

BUG=546953

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

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

[add] http://crrev.com/711497d0138297f221cd7283f313e6254b0409fe/headless/OWNERS

Project Member Comment 13 by bugdroid1@chromium.org, Nov 19 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc164806bdf051e28d9160f6854b1782fddc5776

commit fc164806bdf051e28d9160f6854b1782fddc5776
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Nov 19 19:29:14 2015

Adds TimeDomains to the TaskQueueManager

This refactor isolates the logic dealing with delayed tasks,
making it easier to support multiple independent virtual
time sources.

BUG=546953

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

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

[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/components_tests.gyp
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/BUILD.gn
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/lazy_now.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/lazy_now.h
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/real_time_domain.cc
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue.h
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_selector_unittest.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/task_queue_sets_unittest.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/test_time_source.cc
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/time_domain.cc
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/time_domain.h
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/time_domain_unittest.cc
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/virtual_time_domain.cc
[add] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/base/virtual_time_domain.h
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/child/idle_helper_unittest.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776/components/scheduler/scheduler.gypi

Project Member Comment 14 by bugdroid1@chromium.org, Nov 19 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/be37b6023dad3e699352e7a3e67d55d8cfe269ac

commit be37b6023dad3e699352e7a3e67d55d8cfe269ac
Author: tsergeant <tsergeant@chromium.org>
Date: Thu Nov 19 23:20:03 2015

Revert of Adds TimeDomains to the TaskQueueManager (patchset #18 id:330001 of https://codereview.chromium.org/1432263002/ )

Reason for revert:
This CL is suspected of causing test failures on Windows and Android:

https://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/43314
https://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/31394

WebThreadImplForWorkerSchedulerTest.TestIdleTask is failing with

FATAL:task_queue_impl.h(41)] Check failed: enqueue_order_set_.

Original issue's description:
> Adds TimeDomains to the TaskQueueManager
>
> This refactor isolates the logic dealing with delayed tasks,
> making it easier to support multiple independent virtual
> time sources.
>
> BUG=546953
>
> Committed: https://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776
> Cr-Commit-Position: refs/heads/master@{#360641}

TBR=skyostil@chromium.org,alexclarke@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=546953

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

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

[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/components_tests.gyp
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/BUILD.gn
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/lazy_now.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/lazy_now.h
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/real_time_domain.cc
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue.h
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_selector_unittest.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/task_queue_sets_unittest.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/base/test_time_source.cc
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/time_domain.cc
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/time_domain.h
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/time_domain_unittest.cc
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/virtual_time_domain.cc
[delete] http://crrev.com/d02ada1e397a520040defbcaf0068194ebcf94ec/components/scheduler/base/virtual_time_domain.h
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/child/idle_helper_unittest.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/be37b6023dad3e699352e7a3e67d55d8cfe269ac/components/scheduler/scheduler.gypi

Project Member Comment 15 by bugdroid1@chromium.org, Nov 20 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03d7888e494029c76e5a4151e24b29a8d4e3bb84

commit 03d7888e494029c76e5a4151e24b29a8d4e3bb84
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 20 11:40:32 2015

Adds TimeDomains to the TaskQueueManager

This refactor isolates the logic dealing with delayed tasks,
making it easier to support multiple independent virtual
time sources.

BUG=546953

Committed: https://crrev.com/fc164806bdf051e28d9160f6854b1782fddc5776
Cr-Commit-Position: refs/heads/master@{#360641}

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

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

[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/components_tests.gyp
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/BUILD.gn
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/lazy_now.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/lazy_now.h
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/real_time_domain.cc
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue.h
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_selector_unittest.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/task_queue_sets_unittest.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/test_time_source.cc
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/time_domain.cc
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/time_domain.h
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/time_domain_unittest.cc
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/virtual_time_domain.cc
[add] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/base/virtual_time_domain.h
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/child/idle_helper_unittest.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/03d7888e494029c76e5a4151e24b29a8d4e3bb84/components/scheduler/scheduler.gypi

Project Member Comment 16 by bugdroid1@chromium.org, Nov 23 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a0a01db6cee762f21b59648a6a4e0c2017b2f934

commit a0a01db6cee762f21b59648a6a4e0c2017b2f934
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Nov 23 11:10:27 2015

Reduce the number of delayed tasks on chromium run loop

Previously if there were N distinct delayed times for dealyed tasks
posted to the scheduler, there would be N delayed tasks posted on the
chromium run loop.  We only really need to post timers for the next
delayed task.  This patch implements that. Caveat: because it's not
possible to cancel tasks posted to the chromium runloop, we will still
have more than one task outstanding if delayed tasks get posted in
reverse order.

BUG=510398, 546953

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

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

[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/real_time_domain.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/time_domain.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/time_domain.h
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/time_domain_unittest.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/virtual_time_domain.cc
[modify] http://crrev.com/a0a01db6cee762f21b59648a6a4e0c2017b2f934/components/scheduler/base/virtual_time_domain.h

Project Member Comment 17 by bugdroid1@chromium.org, Nov 27 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec5adec0a9879a31866e98c65ddc7b506b9f49c3

commit ec5adec0a9879a31866e98c65ddc7b506b9f49c3
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 27 10:08:42 2015

Move throttling of background timers into the renderer scheduler

Not only does this simplify the code, it's more efficent since
previously setting the timer alignment resulted in mass cancellation
and reposting of timers.

BUG=510398, 546953, 560402

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

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

[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/components_tests.gyp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/BUILD.gn
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/real_time_domain.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_selector_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/task_queue_sets_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/time_domain.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/time_domain.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/time_domain_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/virtual_time_domain.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/base/virtual_time_domain.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/child/web_scheduler_impl.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/child/web_scheduler_impl.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/renderer_scheduler_impl.h
[add] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/throttling_helper.cc
[add] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/throttling_helper.h
[add] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/throttling_helper_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/scheduler.gypi
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/dom/Document.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/dom/Document.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/dom/ExecutionContext.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/frame/DOMTimer.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/frame/DOMTimer.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/frame/DOMTimerCoordinator.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/frame/DOMTimerCoordinator.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/frame/SuspendableTimer.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/page/Page.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/page/Page.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/testing/NullExecutionContext.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/core/workers/WorkerGlobalScope.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/platform/Timer.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/platform/Timer.h
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/third_party/WebKit/public/platform/WebScheduler.h

Project Member Comment 18 by bugdroid1@chromium.org, Nov 27 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1

commit 8f37a89f30c1ccafd36a86369ff2f3b63b251ea1
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 27 10:12:56 2015

Revert of Move throttling of background timers into the renderer scheduler (patchset #16 id:300001 of https://codereview.chromium.org/1441073006/ )

Reason for revert:
Oops I'd meant to upload one final patchset before committing.

Original issue's description:
> Move throttling of background timers into the renderer scheduler
>
> Not only does this simplify the code, it's more efficent since
> previously setting the timer alignment resulted in mass cancellation
> and reposting of timers.
>
> BUG=510398, 546953, 560402
>
> Committed: https://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3
> Cr-Commit-Position: refs/heads/master@{#361971}

TBR=jochen@chromium.org,skyostil@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=510398, 546953, 560402

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

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

[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/components_tests.gyp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/BUILD.gn
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/real_time_domain.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_selector_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/task_queue_sets_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/time_domain.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/time_domain.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/time_domain_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/virtual_time_domain.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/base/virtual_time_domain.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/child/web_scheduler_impl.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/child/web_scheduler_impl.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/renderer_scheduler_impl.h
[delete] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/throttling_helper.cc
[delete] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/throttling_helper.h
[delete] http://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3/components/scheduler/renderer/throttling_helper_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/components/scheduler/scheduler.gypi
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/dom/Document.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/dom/Document.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/dom/ExecutionContext.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/frame/DOMTimer.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/frame/DOMTimer.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/frame/DOMTimerCoordinator.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/frame/DOMTimerCoordinator.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/frame/SuspendableTimer.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/page/Page.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/page/Page.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/testing/NullExecutionContext.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/core/workers/WorkerGlobalScope.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/platform/Timer.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/platform/Timer.h
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] http://crrev.com/8f37a89f30c1ccafd36a86369ff2f3b63b251ea1/third_party/WebKit/public/platform/WebScheduler.h

Project Member Comment 19 by bugdroid1@chromium.org, Nov 27 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe

commit de233a29aa0ef1b89d35a9045a864c9ad6fa12fe
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 27 11:42:54 2015

Move throttling of background timers into the renderer scheduler

Not only does this simplify the code, it's more efficent since
previously setting the timer alignment resulted in mass cancellation
and reposting of timers.

BUG=510398, 546953, 560402

Committed: https://crrev.com/ec5adec0a9879a31866e98c65ddc7b506b9f49c3
Cr-Commit-Position: refs/heads/master@{#361971}

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

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

[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/components_tests.gyp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/BUILD.gn
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/real_time_domain.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/real_time_domain.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_selector_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/task_queue_sets_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/time_domain.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/time_domain.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/time_domain_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/virtual_time_domain.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/base/virtual_time_domain.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/child/idle_helper.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/child/web_scheduler_impl.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/child/web_scheduler_impl.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/renderer_scheduler_impl.h
[add] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/throttling_helper.cc
[add] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/throttling_helper.h
[add] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/throttling_helper_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/renderer/webthread_impl_for_renderer_scheduler_unittest.cc
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/components/scheduler/scheduler.gypi
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/dom/Document.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/dom/Document.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/dom/ExecutionContext.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/dom/ScriptRunnerTest.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/frame/DOMTimer.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/frame/DOMTimer.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/frame/DOMTimerCoordinator.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/frame/DOMTimerCoordinator.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/frame/SuspendableTimer.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/page/Page.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/page/Page.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/testing/NullExecutionContext.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/testing/NullExecutionContext.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/core/workers/WorkerGlobalScope.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/platform/Timer.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/platform/Timer.h
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] http://crrev.com/de233a29aa0ef1b89d35a9045a864c9ad6fa12fe/third_party/WebKit/public/platform/WebScheduler.h

Project Member Comment 20 by bugdroid1@chromium.org, Dec 2 2015
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076

commit 168fe2a9a59963bfd6a8d5b4762e316b3fbaf076
Author: altimin <altimin@chromium.org>
Date: Wed Dec 02 15:35:21 2015

[headless] Initial skeleton of headless/public/

Create outline of future Headless API.

BUG=546953

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

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

[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/BUILD.gn
[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/public/headless_browser.cc
[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/public/headless_browser.h
[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/public/headless_export.h
[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/public/network.h
[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/public/web_contents.h
[add] http://crrev.com/168fe2a9a59963bfd6a8d5b4762e316b3fbaf076/headless/public/web_frame.h

Comment 21 by van...@gmail.com, Dec 9 2015
Will ChromeDriver work in headless mode?
Details TBD, but WebDriver is one of the use cases we're looking at.
Project Member Comment 23 by bugdroid1@chromium.org, Jan 14 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e630408c584f29a6cb9773d62c8c1224c1d9e5e7

commit e630408c584f29a6cb9773d62c8c1224c1d9e5e7
Author: skyostil <skyostil@chromium.org>
Date: Thu Jan 14 17:04:23 2016

Add some more headless API feature placeholders

BUG=546953

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

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

[modify] http://crrev.com/e630408c584f29a6cb9773d62c8c1224c1d9e5e7/headless/public/headless_browser.h
[modify] http://crrev.com/e630408c584f29a6cb9773d62c8c1224c1d9e5e7/headless/public/web_contents.h
[modify] http://crrev.com/e630408c584f29a6cb9773d62c8c1224c1d9e5e7/headless/public/web_frame.h

Project Member Comment 24 by bugdroid1@chromium.org, Feb 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d4b2c47b8488ca4f943735c663bcb45c42765cdc

commit d4b2c47b8488ca4f943735c663bcb45c42765cdc
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Feb 02 20:55:05 2016

Prepare for per-webview virtual time

This patch removes the initial global virtual time implementation (including the flag)
and prepares for per-webview virtual time.  A follow on patch will wire this
up in blink: https://codereview.chromium.org/1646583002/

BUG=546953

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

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

[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/components_tests.gyp
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/BUILD.gn
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_impl.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_manager.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_manager.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_manager_delegate.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_manager_delegate_for_test.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_manager_delegate_for_test.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/base/task_queue_manager_unittest.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/child/scheduler_helper.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/child/scheduler_helper.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/child/scheduler_tqm_delegate_for_test.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/child/scheduler_tqm_delegate_for_test.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/child/scheduler_tqm_delegate_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/child/scheduler_tqm_delegate_impl.h
[delete] http://crrev.com/6ab38e4f06caa13bbcdfaa652109d114576c1cbe/components/scheduler/child/virtual_time_tqm_delegate.cc
[delete] http://crrev.com/6ab38e4f06caa13bbcdfaa652109d114576c1cbe/components/scheduler/child/virtual_time_tqm_delegate.h
[delete] http://crrev.com/6ab38e4f06caa13bbcdfaa652109d114576c1cbe/components/scheduler/child/virtual_time_tqm_delegate_unittest.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/common/scheduler_switches.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/common/scheduler_switches.h
[add] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/auto_advancing_virtual_time_domain.cc
[add] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/auto_advancing_virtual_time_domain.h
[add] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/auto_advancing_virtual_time_domain_unittest.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/renderer_scheduler.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/renderer_scheduler.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/scheduler.gypi
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.h
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/content/browser/renderer_host/render_process_host_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/content/renderer/renderer_blink_platform_impl.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/content/test/fake_renderer_scheduler.cc
[modify] http://crrev.com/d4b2c47b8488ca4f943735c663bcb45c42765cdc/content/test/fake_renderer_scheduler.h

Project Member Comment 25 by bugdroid1@chromium.org, Feb 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f61bf5d084ef1f027a17874c5425837530b4ada0

commit f61bf5d084ef1f027a17874c5425837530b4ada0
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Feb 08 20:43:48 2016

WebTaskRunnerImpl to take a TaskQueue

We later want to wire virtual time into blink via the WebTaskRunner so
we need WebTaskRunnerImpl to take a TaskQueue instead of a
base::SingleThreadTaskRunner.

Unfortunately I had to implement an ugly wrapping class in
CompositorWorkerScheduler, but I hope we can get rid of that soon.

BUG=546953

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

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

[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/child_scheduler.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/compositor_worker_scheduler.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/compositor_worker_scheduler.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/web_scheduler_impl.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/web_scheduler_impl.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/web_task_runner_impl.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/web_task_runner_impl.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/webthread_impl_for_worker_scheduler.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/worker_scheduler_impl.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/child/worker_scheduler_impl.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/renderer/renderer_scheduler.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/content/child/blink_platform_impl.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/content/child/web_url_loader_impl_unittest.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/content/renderer/renderer_blink_platform_impl.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/content/test/fake_renderer_scheduler.cc
[modify] http://crrev.com/f61bf5d084ef1f027a17874c5425837530b4ada0/content/test/fake_renderer_scheduler.h

Project Member Comment 26 by bugdroid1@chromium.org, Feb 12 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a

commit f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Feb 12 12:42:45 2016

Allow immediate tasks to run even when virtual time can't advance

The main point of preventing virtual time from advancing is to save
CPU by avoiding running timers when we don't need to.  We still
however need immediate tasks to run so that the page load can
progress.

BUG=546953

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

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

[modify] http://crrev.com/f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] http://crrev.com/f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] http://crrev.com/f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] http://crrev.com/f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] http://crrev.com/f4b5d32e3bb996b3e65e909f2b6bd9ff5a41127a/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc

Project Member Comment 27 by bugdroid1@chromium.org, Feb 19 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a94b8b2e63a4307b7be5eccc698b37c97fe9edc

commit 5a94b8b2e63a4307b7be5eccc698b37c97fe9edc
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Feb 19 16:20:45 2016

Refactor ScrollAnimatorMac to use CancellableTaskFactory

Refactor ScrollAnimatorMac to use CancellableTaskFactory because the
unittests trigger ScrollAnimatorMac::sendContentAreaScrolledSoon which
causes an assert (TestingPlatformMockWebTaskRunner::
monotonicallyIncreasingVirtualTimeSeconds is called) to fire after
https://codereview.chromium.org/1646583002 lands.

Changing over to CancellableTaskFactory means we can bypass the
assert.

BUG=546953

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

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

[modify] https://crrev.com/5a94b8b2e63a4307b7be5eccc698b37c97fe9edc/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.h
[modify] https://crrev.com/5a94b8b2e63a4307b7be5eccc698b37c97fe9edc/third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
[modify] https://crrev.com/5a94b8b2e63a4307b7be5eccc698b37c97fe9edc/third_party/WebKit/Source/platform/testing/TestingPlatformSupport.cpp

Cc: manisca...@chromium.org
Project Member Comment 29 by bugdroid1@chromium.org, Feb 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0d2d2840ad6d7f149569eb42332c8c8083401234

commit 0d2d2840ad6d7f149569eb42332c8c8083401234
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Feb 23 21:42:03 2016

Per WebViewScheduler virtual time.

This patch introduces a new per WebViewScheduler virtual time and
wires it up into the BlinkTImers. NOTE there will be follow on
patches where various other parts of blink will also use virtual time.

For determinism some parts of blink will need to use the VirtualTime
although new code should generally use the original non-virtual APIs.

For more details see:
https://docs.google.com/document/d/1y9KDT_ZEzT7pBeY6uzVt1dgKlwc1OB_vY4NZO1zBQmo/edit#

BUG=546953

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

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

[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/child/web_task_runner_impl.cc
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/child/web_task_runner_impl.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/content/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/content/test/fake_renderer_scheduler.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/core/frame/DOMTimer.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/core/frame/DOMTimer.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/platform/Timer.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/platform/Timer.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/platform/testing/TestingPlatformSupport.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/web/WebViewImpl.h
[add] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/Source/web/web.gypi
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/public/platform/WebTaskRunner.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234/third_party/WebKit/public/web/WebView.h

Project Member Comment 30 by bugdroid1@chromium.org, Feb 24 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa

commit dfbf0696b713398f9e30cb5db74aae5c1b6d25fa
Author: shrike <shrike@chromium.org>
Date: Wed Feb 24 01:40:36 2016

Revert of Per WebViewScheduler virtual time (patchset #32 id:660001 of https://codereview.chromium.org/1646583002/ )

Reason for revert:
Regression: Mac ASan 64 Tests (1)

Suspecting this cl for cause of Mac ASan regression, from list of Sheriff-o-matic suggested cls ( https://chromium.googlesource.com/chromium/src/+log/83534ab036f32a6aa7417e64fa3bc37a0b61be9d%5E..24820c067cb649a4eee2387eda8761e776a18d63?pretty=fuller ).

https://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Tests%20(1)

Build #12287 - https://build.chromium.org/p/chromium.memory/builders/Mac%20ASan%2064%20Tests%20%281%29/builds/12287

[ RUN      ] VirtualTimeTest.AllowVirtualTimeToAdvance
../../third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp:103: Failure
Value of: ExecuteJavaScript("run_order.join(', ')")
  Actual: "c, b"
Expected: ""
Which is: 0x11200a6e0
[  FAILED  ] VirtualTimeTest.AllowVirtualTimeToAdvance (60 ms)
[2777/2778] VirtualTimeTest.AllowVirtualTimeToAdvance (60 ms)
[ RUN      ] All/ParameterizedWebFrameTest.DeviceScaleFactorUsesDefaultWithoutViewportTag/0
[       OK ] All/ParameterizedWebFrameTest.DeviceScaleFactorUsesDefaultWithoutViewportTag/0 (65 ms)
[2778/2778] All/ParameterizedWebFrameTest.DeviceScaleFactorUsesDefaultWithoutViewportTag/0 (65 ms)
Retrying 1 test (retry #2)
[ RUN      ] VirtualTimeTest.AllowVirtualTimeToAdvance
../../third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp:103: Failure
Value of: ExecuteJavaScript("run_order.join(', ')")
  Actual: "c, b"
Expected: ""
Which is: 0x10d8e66e0
[  FAILED  ] VirtualTimeTest.AllowVirtualTimeToAdvance (62 ms)
[2779/2779] VirtualTimeTest.AllowVirtualTimeToAdvance (62 ms)
Retrying 1 test (retry #3)
[ RUN      ] VirtualTimeTest.AllowVirtualTimeToAdvance
../../third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp:103: Failure
Value of: ExecuteJavaScript("run_order.join(', ')")
  Actual: "c, b"
Expected: ""
Which is: 0x1159e26e0
[  FAILED  ] VirtualTimeTest.AllowVirtualTimeToAdvance (61 ms)

Original issue's description:
> Per WebViewScheduler virtual time.
>
> This patch introduces a new per WebViewScheduler virtual time and
> wires it up into the BlinkTImers. NOTE there will be follow on
> patches where various other parts of blink will also use virtual time.
>
> For determinism some parts of blink will need to use the VirtualTime
> although new code should generally use the original non-virtual APIs.
>
> For more details see:
> https://docs.google.com/document/d/1y9KDT_ZEzT7pBeY6uzVt1dgKlwc1OB_vY4NZO1zBQmo/edit#
>
> BUG=546953
>
> Committed: https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234
> Cr-Commit-Position: refs/heads/master@{#377094}

TBR=esprehn@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/1727103002

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

[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/child/web_task_runner_impl.cc
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/child/web_task_runner_impl.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/content/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/content/test/fake_renderer_scheduler.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/core/frame/DOMTimer.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/core/frame/DOMTimer.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/platform/Timer.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/platform/Timer.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/platform/testing/TestingPlatformSupport.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/web/WebViewImpl.h
[delete] https://crrev.com/396d38c7d55e1c039069017afd74488cac9060cd/third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/Source/web/web.gypi
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/public/platform/WebTaskRunner.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/dfbf0696b713398f9e30cb5db74aae5c1b6d25fa/third_party/WebKit/public/web/WebView.h

Project Member Comment 31 by bugdroid1@chromium.org, Feb 24 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c6f9c49b8221a2002ba771a3f108514a6c506ff0

commit c6f9c49b8221a2002ba771a3f108514a6c506ff0
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Feb 24 14:25:55 2016

Per WebViewScheduler virtual time.

This patch introduces a new per WebViewScheduler virtual time and
wires it up into the BlinkTImers. NOTE there will be follow on
patches where various other parts of blink will also use virtual time.

For determinism some parts of blink will need to use the VirtualTime
although new code should generally use the original non-virtual APIs.

For more details see:
https://docs.google.com/document/d/1y9KDT_ZEzT7pBeY6uzVt1dgKlwc1OB_vY4NZO1zBQmo/edit#

BUG=546953

Committed: https://crrev.com/0d2d2840ad6d7f149569eb42332c8c8083401234
Cr-Commit-Position: refs/heads/master@{#377094}

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

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

[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/child/web_task_runner_impl.cc
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/child/web_task_runner_impl.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/renderer/renderer_scheduler.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/content/test/fake_renderer_scheduler.cc
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/content/test/fake_renderer_scheduler.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/core/frame/DOMTimer.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/core/frame/DOMTimer.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/platform/Timer.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/platform/Timer.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/platform/TimerTest.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/platform/testing/TestingPlatformSupport.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/web/WebViewImpl.h
[add] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/Source/web/web.gypi
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/public/platform/WebTaskRunner.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/public/platform/WebViewScheduler.h
[modify] https://crrev.com/c6f9c49b8221a2002ba771a3f108514a6c506ff0/third_party/WebKit/public/web/WebView.h

Project Member Comment 32 by bugdroid1@chromium.org, Feb 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/abeb69ff4072a386ac2db06a7be218af4bf53711

commit abeb69ff4072a386ac2db06a7be218af4bf53711
Author: skyostil <skyostil@chromium.org>
Date: Thu Feb 25 10:52:36 2016

Remove some usages of BrowserThread::UnsafeGetMessageLoopForThread

No functional changes.

BUG=546953

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

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

[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/blimp/engine/common/blimp_browser_context.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/content/shell/browser/layout_test/layout_test_browser_context.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/content/shell/browser/layout_test/layout_test_url_request_context_getter.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/content/shell/browser/layout_test/layout_test_url_request_context_getter.h
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/content/shell/browser/shell_browser_context.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/content/shell/browser/shell_url_request_context_getter.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/content/shell/browser/shell_url_request_context_getter.h
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/extensions/shell/browser/shell_browser_context.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/extensions/shell/browser/shell_url_request_context_getter.cc
[modify] https://crrev.com/abeb69ff4072a386ac2db06a7be218af4bf53711/extensions/shell/browser/shell_url_request_context_getter.h

Project Member Comment 33 by bugdroid1@chromium.org, Feb 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/15ecd66e89a3a6be11e416788f3214d97ea0662a

commit 15ecd66e89a3a6be11e416788f3214d97ea0662a
Author: skyostil <skyostil@chromium.org>
Date: Fri Feb 26 16:18:32 2016

Add some missing std::move()s following a previous refactoring

This patch adds some std::move() calls as a follow-up to
https://codereview.chromium.org/1730533002/. No functional changes.

BUG=546953
TBR=rsleevi@chromium.org

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

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

[modify] https://crrev.com/15ecd66e89a3a6be11e416788f3214d97ea0662a/content/shell/browser/layout_test/layout_test_url_request_context_getter.cc
[modify] https://crrev.com/15ecd66e89a3a6be11e416788f3214d97ea0662a/content/shell/browser/shell_url_request_context_getter.cc
[modify] https://crrev.com/15ecd66e89a3a6be11e416788f3214d97ea0662a/extensions/shell/browser/shell_url_request_context_getter.cc

Project Member Comment 34 by bugdroid1@chromium.org, Feb 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe11616891b5f57ea977c24efdf7946ed2cbf5f7

commit fe11616891b5f57ea977c24efdf7946ed2cbf5f7
Author: skyostil <skyostil@chromium.org>
Date: Fri Feb 26 20:53:33 2016

headless: Initial headless embedder API implementation

This patch introduces the initial headless embedder API implementation.
It allows the embedder to initialize a headless browsing environment and
to navigate to a URL.

We also add a headless shell application to demonstrate the use of the
embedder API.

Adapted from a patch by Alexander Timin <altimin@chromium.org>

BUG=546953

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

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

[modify] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/BUILD.gn
[modify] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/BUILD.gn
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/DEPS
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/README.md
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/app/headless_shell.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/DEPS
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_browser_context.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_browser_context.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_browser_impl.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_browser_impl.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_browser_main_parts.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_browser_main_parts.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_content_browser_client.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_content_browser_client.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_devtools.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_devtools.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_screen.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_screen.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_url_request_context_getter.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_url_request_context_getter.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_web_contents_impl.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/browser/headless_web_contents_impl.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/headless_browser_browsertest.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/headless_content_client.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/headless_content_client.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/headless_content_main_delegate.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/headless_content_main_delegate.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/headless_web_contents_browsertest.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/renderer/headless_content_renderer_client.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/renderer/headless_content_renderer_client.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/utility/headless_content_utility_client.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/lib/utility/headless_content_utility_client.h
[modify] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/public/headless_browser.cc
[modify] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/public/headless_browser.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/public/headless_web_contents.h
[delete] https://crrev.com/88eedb7f8965e0134502f1f471f6d9f8fc82a940/headless/public/network.h
[delete] https://crrev.com/88eedb7f8965e0134502f1f471f6d9f8fc82a940/headless/public/web_contents.h
[delete] https://crrev.com/88eedb7f8965e0134502f1f471f6d9f8fc82a940/headless/public/web_frame.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/test/data/hello.html
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/test/headless_browser_test.cc
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/test/headless_browser_test.h
[add] https://crrev.com/fe11616891b5f57ea977c24efdf7946ed2cbf5f7/headless/test/headless_test_launcher.cc

Project Member Comment 35 by bugdroid1@chromium.org, Mar 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/85c6b560c583cf265e4af5d68c9f07afb1fe74ca

commit 85c6b560c583cf265e4af5d68c9f07afb1fe74ca
Author: skyostil <skyostil@chromium.org>
Date: Wed Mar 02 16:13:05 2016

headless: Add devtools discovery page

This page adds a generated discovery page which can be used to pick a
tab to inspect using devtools. This is based on the similar page
generated by Content Shell.

BUG=546953
TEST=headless_shell --remote-debugging-port=9222  # Navigate to localhost:9222 to see the google.com tab.

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

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

[modify] https://crrev.com/85c6b560c583cf265e4af5d68c9f07afb1fe74ca/headless/BUILD.gn
[modify] https://crrev.com/85c6b560c583cf265e4af5d68c9f07afb1fe74ca/headless/lib/browser/headless_devtools.cc
[add] https://crrev.com/85c6b560c583cf265e4af5d68c9f07afb1fe74ca/headless/lib/resources/devtools_discovery_page.html
[add] https://crrev.com/85c6b560c583cf265e4af5d68c9f07afb1fe74ca/headless/lib/resources/headless_lib_resources.grd
[modify] https://crrev.com/85c6b560c583cf265e4af5d68c9f07afb1fe74ca/tools/gritsettings/resource_ids

Project Member Comment 36 by bugdroid1@chromium.org, Mar 11 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c4ee1b31b39e60353d43e0c7564885e08b768577

commit c4ee1b31b39e60353d43e0c7564885e08b768577
Author: skyostil <skyostil@chromium.org>
Date: Fri Mar 11 12:20:47 2016

headless: Initialize the browser context

This patch adds a missing call to initialize the headless browser
context.

BUG=546953

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

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

[modify] https://crrev.com/c4ee1b31b39e60353d43e0c7564885e08b768577/headless/lib/browser/headless_browser_context.cc

Project Member Comment 37 by bugdroid1@chromium.org, Mar 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f52fa5b3d50f38c0491adc757b05510a2df5ab93

commit f52fa5b3d50f38c0491adc757b05510a2df5ab93
Author: skyostil <skyostil@chromium.org>
Date: Tue Mar 15 11:38:45 2016

headless: Make it possible to configure an HTTP proxy

Add a configuration option for setting a proxy to be used for all
HTTP/HTTPS connections.

BUG=546953

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

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

[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/BUILD.gn
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/README.md
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/app/headless_shell.cc
[add] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/app/headless_shell_switches.cc
[add] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/app/headless_shell_switches.h
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/browser/headless_browser_context.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/browser/headless_browser_context.h
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/public/headless_browser.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/public/headless_browser.h
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/public/headless_web_contents.h
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/test/headless_browser_test.cc
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/test/headless_browser_test.h
[modify] https://crrev.com/f52fa5b3d50f38c0491adc757b05510a2df5ab93/headless/test/headless_test_launcher.cc

Blockedon: 598644
Project Member Comment 39 by bugdroid1@chromium.org, Apr 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3

commit 2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3
Author: skyostil <skyostil@chromium.org>
Date: Fri Apr 01 11:33:43 2016

headless: Replace is_headless gn setting with an args template

Replace the is_headless setting with a GN args template file which
explicitly lists the settings needed to build the headless
configuration. To make this work, some of the existing settings need to
be moved into declare_args to make them overridable.

BUG=546953

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

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

[add] https://crrev.com/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3/build/args/headless.gn
[modify] https://crrev.com/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3/build/config/features.gni
[delete] https://crrev.com/65f484b3674d177e98ed04aa2ec30482e05a6c3a/build/config/headless_build.gni
[modify] https://crrev.com/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3/build/config/ui.gni
[modify] https://crrev.com/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3/headless/README.md
[modify] https://crrev.com/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3/media/media_options.gni
[modify] https://crrev.com/2df951b02d7d03cd35d64e7bfc725eb24e1fd4b3/net/BUILD.gn

Blockedon: 595353
Project Member Comment 41 by bugdroid1@chromium.org, Apr 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/185d8aaf6c43a8dc88ef34408802c24b6837e041

commit 185d8aaf6c43a8dc88ef34408802c24b6837e041
Author: skyostil <skyostil@chromium.org>
Date: Tue Apr 05 11:36:32 2016

headless: Fix dependencies for non-component build

BUG=546953

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

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

[modify] https://crrev.com/185d8aaf6c43a8dc88ef34408802c24b6837e041/headless/BUILD.gn

Project Member Comment 42 by bugdroid1@chromium.org, Apr 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ab258d6d6ddc01e681716ec2be8433bc77b682a3

commit ab258d6d6ddc01e681716ec2be8433bc77b682a3
Author: skyostil <skyostil@chromium.org>
Date: Wed Apr 06 16:32:57 2016

headless: Require the user to pass in an initial URL

Require the user to pass in an initial URL when creating a
HeadlessWebContents. This is to ensure that we have a navigation that
initializes the renderer, making it possible to inspect the tab.

BUG=595353,546953

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

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

[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/app/headless_shell.cc
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/public/headless_browser.h
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/public/headless_web_contents.h
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/test/headless_browser_test.cc
[modify] https://crrev.com/ab258d6d6ddc01e681716ec2be8433bc77b682a3/headless/test/headless_browser_test.h

Project Member Comment 43 by bugdroid1@chromium.org, Apr 13 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebb59f161b523e198d86296a69514175dade66da

commit ebb59f161b523e198d86296a69514175dade66da
Author: skyostil <skyostil@chromium.org>
Date: Wed Apr 13 16:32:37 2016

headless: Add architecture documentation link

BUG=546953

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

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

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

Blockedon: 603559
I apologize I haven't really kept this bug up to date with everything going on in headless-land. There's now a headless-dev@chromium.org mailing list everyone is welcome to join:

https://groups.google.com/a/chromium.org/forum/#!forum/headless-dev

We'll be sending design docs and more general updates to that list going forward.
Blockedon: 604324
Project Member Comment 47 by bugdroid1@chromium.org, Apr 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ca0345a9771f9b75d826e14cfde75f9822081f3

commit 1ca0345a9771f9b75d826e14cfde75f9822081f3
Author: skyostil <skyostil@chromium.org>
Date: Mon Apr 25 18:38:21 2016

headless: Switch to multiprocess mode by default

Switch the headless library to multiprocess mode by default so sandbox
isolation is used by default.

BUG=546953

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

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

[modify] https://crrev.com/1ca0345a9771f9b75d826e14cfde75f9822081f3/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/1ca0345a9771f9b75d826e14cfde75f9822081f3/headless/public/headless_browser.cc
[modify] https://crrev.com/1ca0345a9771f9b75d826e14cfde75f9822081f3/headless/public/headless_browser.h

Project Member Comment 48 by bugdroid1@chromium.org, Apr 25 2016
Labels: merge-merged-2716
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ca0345a9771f9b75d826e14cfde75f9822081f3

commit 1ca0345a9771f9b75d826e14cfde75f9822081f3
Author: skyostil <skyostil@chromium.org>
Date: Mon Apr 25 18:38:21 2016

headless: Switch to multiprocess mode by default

Switch the headless library to multiprocess mode by default so sandbox
isolation is used by default.

BUG=546953

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

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

[modify] https://crrev.com/1ca0345a9771f9b75d826e14cfde75f9822081f3/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/1ca0345a9771f9b75d826e14cfde75f9822081f3/headless/public/headless_browser.cc
[modify] https://crrev.com/1ca0345a9771f9b75d826e14cfde75f9822081f3/headless/public/headless_browser.h

Labels: -merge-merged-2716
Hmm, not sure what that merge message is about. M52 hasn't branched yet.
Project Member Comment 50 by bugdroid1@chromium.org, May 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34badeba15b5cd8861b143daeba32093ce9352c4

commit 34badeba15b5cd8861b143daeba32093ce9352c4
Author: altimin <altimin@chromium.org>
Date: Tue May 03 18:10:50 2016

[headless] Do not use libpci with headless.

Headless doesn't use GPU, therefore it doesn't need libpci.

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

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

[modify] https://crrev.com/34badeba15b5cd8861b143daeba32093ce9352c4/build/args/headless.gn

Labels: Proj-Headless
Blockedon: 610673
Project Member Comment 53 by bugdroid1@chromium.org, Jun 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a65d5e613d85dba0d97b45c651cad1e39ccc21bc

commit a65d5e613d85dba0d97b45c651cad1e39ccc21bc
Author: skyostil <skyostil@chromium.org>
Date: Wed Jun 01 18:04:21 2016

headless: Allow protocol handler customization

Allow headless clients to provide custom protocol handlers. This lets
the clients override how URL requests are fulfilled for different
schemes types.

Design doc: https://docs.google.com/document/d/1m4CCZGJWOJdHY5MVwQqY3sT-5kBoz7NqmGvIb6-l3fM/edit#bookmark=id.5bqp8w95liri

BUG=546953

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

[modify] https://crrev.com/a65d5e613d85dba0d97b45c651cad1e39ccc21bc/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/a65d5e613d85dba0d97b45c651cad1e39ccc21bc/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/a65d5e613d85dba0d97b45c651cad1e39ccc21bc/headless/public/headless_browser.cc
[modify] https://crrev.com/a65d5e613d85dba0d97b45c651cad1e39ccc21bc/headless/public/headless_browser.h
[modify] https://crrev.com/a65d5e613d85dba0d97b45c651cad1e39ccc21bc/headless/test/headless_browser_test.cc
[modify] https://crrev.com/a65d5e613d85dba0d97b45c651cad1e39ccc21bc/headless/test/headless_browser_test.h

Project Member Comment 54 by bugdroid1@chromium.org, Jun 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9ef54766bc24bdeff0fec0a8df5540feb691cfc9

commit 9ef54766bc24bdeff0fec0a8df5540feb691cfc9
Author: eseckler <eseckler@chromium.org>
Date: Fri Jun 03 17:28:38 2016

headless: Implement screenshot capturing

(based on patch from skyostil@, also sets default window size to 800x600 to enable basic snapshot support)

With the --screenshot option, headless shell will save a PNG screenshot
of the loaded page.

patch from issue 2000723002 at patchset 1 (http://crrev.com/2000723002#ps1)

BUG=546953

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

[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/app/headless_shell.cc
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/app/headless_shell_switches.h
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/public/headless_browser.h
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/test/headless_browser_test.cc
[modify] https://crrev.com/9ef54766bc24bdeff0fec0a8df5540feb691cfc9/headless/test/headless_browser_test.h

For the screenshot, is there any way to capture the whole page instead of just the view port?
#55: It's not possible at the moment but we'll be adding support for capturing the entire page.
#56: will this keep sticky elements in position, as it renders an infinite canvas, or will it scroll down the viewport, resulting in artifacts.
Cc: eseckler@chromium.org
I think we'll want to provide separate controls for the layout viewport and the visual viewport so you can get the behavior you want.
Is there a targeted build for the release of this?

#59: If you're looking to use headless through a C++ library, you can already try the embedder API described here: https://chromium.googlesource.com/chromium/src/+/master/headless/README.md

If you're instead wanting to use regular Chrome in a headless mode, keep an eye on bug 612904. We're not targeting any specific build with that one yet.
Cc: dk...@chromium.org
This will be a great addition!

Regarding screenshots it would be useful to:
1. control the layout/visual viewport dimensions
2. grab multiple screenshots (for a print-like multi-image representation of the web-page, page-1.png, page-2.png, etc)
3. take multiple screenshots in varying viewport dimensions (i.e. small-screen.png, large-screen/png, etc)
#62: Thanks for the feedback! We're working on controls for changing viewport / visual viewport sizes and to influence the advancement of virtual time between screenshots (e.g. to pause animations) - we'll keep your use cases in mind :)
Project Member Comment 64 by bugdroid1@chromium.org, Jun 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9ca57e1686dc307883b6d68aafdb105d3c44c95

commit f9ca57e1686dc307883b6d68aafdb105d3c44c95
Author: eseckler <eseckler@chromium.org>
Date: Thu Jun 09 10:44:51 2016

Use HeadlessAsyncDevTooledBrowserTest in HeadlessDevToolsClient tests.

BUG=546953

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

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

Project Member Comment 65 by bugdroid1@chromium.org, Jun 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25c2c0123425d8ab3c9c02998d02d7accd1c42e2

commit 25c2c0123425d8ab3c9c02998d02d7accd1c42e2
Author: skyostil <skyostil@chromium.org>
Date: Thu Jun 09 12:54:12 2016

headless: Introduce a browser context

A headless browser context can be used to isolate different WebContents
from one another. Each context has a separate cache, cookies, local
storage and other profile-related data.

This patch also adds a way to create a HeadlessWebContents using a
specific browser context instead of the default one. This can be used to
isolate tabs from one another.

Design doc: https://docs.google.com/document/d/1XAKvrxtSEoe65vNghSWC5S3kJ--z2Zpt2UWW1Fi8GiM/edit?pref=2&pli=1#heading=h.7r3ycehq63g2

BUG=546953,617931

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

[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/BUILD.gn
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/app/headless_shell.cc
[rename] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_context_impl.cc
[rename] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_context_impl.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_main_parts.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_main_parts.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_devtools.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_devtools.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_browser.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_browser.h
[add] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_browser_context.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_web_contents.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/test/headless_browser_test.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/test/headless_browser_test.h

Comment 66 by amo...@gmail.com, Jun 9 2016
Are there any known issues with the Mac build? I'm running into a few issues trying to build headless target on a mac. 
Yes, there is one - Mac build is not supported yet.
OS X and Windows support are something that we're planning to do, please follow the news about Headless Chrome project.
Comment 68 by yijin...@gmail.com, Jun 13 2016
Since the library is intended to be used by others, it should be complete. You might want to add "complete_static_lib = true" to headless/BUILD.gn
Project Member Comment 69 by bugdroid1@chromium.org, Jun 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f9ca57e1686dc307883b6d68aafdb105d3c44c95

commit f9ca57e1686dc307883b6d68aafdb105d3c44c95
Author: eseckler <eseckler@chromium.org>
Date: Thu Jun 09 10:44:51 2016

Use HeadlessAsyncDevTooledBrowserTest in HeadlessDevToolsClient tests.

BUG=546953

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

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

Project Member Comment 70 by bugdroid1@chromium.org, Jun 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25c2c0123425d8ab3c9c02998d02d7accd1c42e2

commit 25c2c0123425d8ab3c9c02998d02d7accd1c42e2
Author: skyostil <skyostil@chromium.org>
Date: Thu Jun 09 12:54:12 2016

headless: Introduce a browser context

A headless browser context can be used to isolate different WebContents
from one another. Each context has a separate cache, cookies, local
storage and other profile-related data.

This patch also adds a way to create a HeadlessWebContents using a
specific browser context instead of the default one. This can be used to
isolate tabs from one another.

Design doc: https://docs.google.com/document/d/1XAKvrxtSEoe65vNghSWC5S3kJ--z2Zpt2UWW1Fi8GiM/edit?pref=2&pli=1#heading=h.7r3ycehq63g2

BUG=546953,617931

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

[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/BUILD.gn
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/app/headless_shell.cc
[rename] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_context_impl.cc
[rename] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_context_impl.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_main_parts.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_browser_main_parts.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_devtools.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_devtools.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_browser.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_browser.h
[add] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_browser_context.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/public/headless_web_contents.h
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/test/headless_browser_test.cc
[modify] https://crrev.com/25c2c0123425d8ab3c9c02998d02d7accd1c42e2/headless/test/headless_browser_test.h

Project Member Comment 71 by bugdroid1@chromium.org, Jun 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d34af147d3ca3e62e86cfa566d4233589b1e6cd1

commit d34af147d3ca3e62e86cfa566d4233589b1e6cd1
Author: skyostil <skyostil@chromium.org>
Date: Thu Jun 23 17:19:45 2016

headless: Allow per-context protocol handlers

Make it possible to set protocol handlers per browser context instead of
having to replace handlers for the browser globally.

BUG=546953

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

[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/BUILD.gn
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/browser/headless_browser_context_impl.h
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/browser/headless_browser_main_parts.cc
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/browser/headless_url_request_context_getter.h
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/headless_browser_browsertest.cc
[add] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/lib/headless_browser_context_browsertest.cc
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/public/headless_browser.h
[modify] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/public/headless_browser_context.h
[add] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/test/test_protocol_handler.cc
[add] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/test/test_protocol_handler.h
[add] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/test/test_url_request_job.cc
[add] https://crrev.com/d34af147d3ca3e62e86cfa566d4233589b1e6cd1/headless/test/test_url_request_job.h

Blockedon: 623954
Blockedon: 625577
Project Member Comment 74 by bugdroid1@chromium.org, Jul 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9599120a7c4d3532a0aaeed18b81ed6e9892381c

commit 9599120a7c4d3532a0aaeed18b81ed6e9892381c
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Jul 06 19:46:36 2016

Adds enableVirtualTime and setVirtualTimePolicy To Emulation domain.

This allows virtual time to be controlled via DevTools protocol.

For more details about virtual time see here: https://docs.google.com/document/d/1y9KDT_ZEzT7pBeY6uzVt1dgKlwc1OB_vY4NZO1zBQmo/edit

BUG=546953

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

[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
[add] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/Source/platform/WebViewSchedulerTest.cpp
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/Source/web/InspectorEmulationAgent.h
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/public/platform/WebFrameScheduler.h
[modify] https://crrev.com/9599120a7c4d3532a0aaeed18b81ed6e9892381c/third_party/WebKit/public/platform/WebViewScheduler.h

Project Member Comment 75 by bugdroid1@chromium.org, Jul 7 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/72564fc55f6c9a186fca1055004c1c892d68026d

commit 72564fc55f6c9a186fca1055004c1c892d68026d
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Jul 07 08:07:57 2016

Add commands to manage tabs and contexts to Browser Domain

Browser.newPage and Browser.closePage are usable in both normal chrome
and in headless chrome.  Browser.newContext and Browser.closeContext
are implemented in headless chrome only.

Note Browser.newPage has a number of headless chrome only
parameters: width, height, contextId

BUG=546953

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

[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/components/devtools_discovery/devtools_discovery_manager.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/components/devtools_discovery/devtools_discovery_manager.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/content/browser/devtools/protocol/browser_handler.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/content/browser/devtools/protocol/browser_handler.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/content/shell/browser/shell_devtools_manager_delegate.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/BUILD.gn
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_content_browser_client.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_devtools_client_impl.h
[add] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_devtools_manager_delegate.cc
[add] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_devtools_manager_delegate.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/public/headless_browser.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/headless/public/headless_devtools_client.h
[modify] https://crrev.com/72564fc55f6c9a186fca1055004c1c892d68026d/third_party/WebKit/Source/core/inspector/browser_protocol.json

That may be silly question as headless means without displaying anything, but will it be possible to grab video stream of running headless browser? In normal Chrome there is a way to do that using chrome.desktopCapture
#76: Yes, I think we should be able to support that with the Page.startScreencast developer tools command: https://chromedevtools.github.io/debugger-protocol-viewer/tot/Page/#method-startScreencast
A related question; 
I want to write tests for a video playback solution (using media source extensions). Will headless chrome render video tags as normal chrome?
#78: Yes, video playback should work. I'm not completely sure which codecs we support at the moment, but at least VP9 was working when I tried it.
Project Member Comment 80 by bugdroid1@chromium.org, Jul 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f

commit f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Jul 15 21:49:17 2016

Aadding Navigation Throttles to devtools

Extends the devtools Page domain with commands to generate and
manage Navigation Throttles.  This functionality will be useful
for WebDriver style test frameworks and is needed for Headless
Chrome.

If enabled by Page.setControlNavigations a Page.navigationRequested
event will be fired if the main frame or a child frame attempts to
navigate, or it receives a server side redirect.  The navigation will
be deferred until a corresponding Page.processNavigation command is sent
in response.

BUG=546953
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

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

[add] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/page_navigation_throttle.cc
[add] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/page_navigation_throttle.h
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/protocol/page_handler.h
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/render_frame_devtools_agent_host.cc
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/devtools/render_frame_devtools_agent_host.h
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/frame_host/navigation_handle_impl.cc
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/browser/frame_host/navigation_handle_impl.h
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/content_browser.gypi
[add] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/test/data/devtools/control_navigations/iframe_navigation.html
[add] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/content/test/data/devtools/control_navigations/meta_tag.html
[modify] https://crrev.com/f33b4f2e7962249e7b9f31b5e8a74e66059ddd1f/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member Comment 81 by bugdroid1@chromium.org, Jul 26 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a57f8bf262dbf7a526c05ad4cccaae710f2983f

commit 5a57f8bf262dbf7a526c05ad4cccaae710f2983f
Author: altimin <altimin@chromium.org>
Date: Tue Jul 26 14:29:17 2016

[headless] Add option to disable sandbox from API

R=skyostil@chromium.org

BUG=546953

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

[modify] https://crrev.com/5a57f8bf262dbf7a526c05ad4cccaae710f2983f/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/5a57f8bf262dbf7a526c05ad4cccaae710f2983f/headless/public/headless_browser.cc
[modify] https://crrev.com/5a57f8bf262dbf7a526c05ad4cccaae710f2983f/headless/public/headless_browser.h

Project Member Comment 82 by bugdroid1@chromium.org, Jul 27 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87b0fab359eb7ae263285961a23f8782011488d7

commit 87b0fab359eb7ae263285961a23f8782011488d7
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Jul 27 10:52:14 2016

Support C++ bindings for the DevTools Log Domain in headless_lib

BUG=546953

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

[modify] https://crrev.com/87b0fab359eb7ae263285961a23f8782011488d7/headless/BUILD.gn
[modify] https://crrev.com/87b0fab359eb7ae263285961a23f8782011488d7/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/87b0fab359eb7ae263285961a23f8782011488d7/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/87b0fab359eb7ae263285961a23f8782011488d7/headless/public/headless_devtools_client.h

Project Member Comment 83 by bugdroid1@chromium.org, Jul 27 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fada7593e93c5a07ec3cbbb5cee01eaf78d421cf

commit fada7593e93c5a07ec3cbbb5cee01eaf78d421cf
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Jul 27 12:09:03 2016

Fix TimeDomain::MigrateQueue with incoming immediate tasks

There's a bug with TimeDomain::MigrateQueue, it should add the TaskQueue
to the destination_time_domain's updatable_queue_set_ if the queue was
updatable.  Not doing so runs the risk of incoming tasks never running,
unless a subsequent immediate task is posted to the queue.

Note to Perf sheriffs.  I'm not expecting any regressions with
this patch, but it's possible some tasks that were previously
not running are running now.  If that causes a regression it's
working as intended.

BUG=631941, 546953

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

[modify] https://crrev.com/fada7593e93c5a07ec3cbbb5cee01eaf78d421cf/components/scheduler/base/task_queue_manager_unittest.cc
[modify] https://crrev.com/fada7593e93c5a07ec3cbbb5cee01eaf78d421cf/components/scheduler/base/time_domain.cc
[modify] https://crrev.com/fada7593e93c5a07ec3cbbb5cee01eaf78d421cf/components/scheduler/base/time_domain.h

Project Member Comment 84 by bugdroid1@chromium.org, Jul 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a50533eeece4f0e34c4deb6c4539772a0269d63f

commit a50533eeece4f0e34c4deb6c4539772a0269d63f
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Jul 29 11:34:48 2016

Adds support for headless chrome embedder mojo services

You can now request a HeadlessWebContents be created with one or more embedder
provided mojo services and request js bindings.

We add a BINDINGS_POLICY_HEADLESS which instructs
MojoContextState to use the new headless-mojom:// protocol to
fetch the mojo bindings.

Design doc:
https://docs.google.com/document/d/1Fr6_DJH6OK9rG3-ibMvRPTNnHsAXPk0VzxxiuJDSK3M/edit

More context is available from our BlinkOn presentation
slides: https://docs.google.com/presentation/d/1gqK9F4lGAY3TZudAtdcxzMQNEE7PcuQrGu83No3l0lw/edit#slide=id.g14ebf0ab58_0_0
recording: https://youtu.be/zlNgsoPV3ho?t=6m55s

BUG=546953, 623954

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

[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/content/public/common/bindings_policy.h
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/content/renderer/mojo_bindings_controller.cc
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/content/renderer/mojo_bindings_controller.h
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/content/renderer/mojo_context_state.cc
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/content/renderer/mojo_context_state.h
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/BUILD.gn
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/DEPS
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/OWNERS
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/browser/headless_web_contents_impl.h
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/embedder_mojo_browsertest.cc
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/embedder_test.mojom
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/headless_browsertest_resource_ids
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/headless_browsertest_resources.grd
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/lib/renderer/headless_content_renderer_client.cc
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/headless_browser_context.h
[modify] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/headless_web_contents.h
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/util/black_hole_protocol_handler.cc
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/util/black_hole_protocol_handler.h
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/util/in_memory_protocol_handler.cc
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/util/in_memory_protocol_handler.h
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/util/in_memory_request_job.cc
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/public/util/in_memory_request_job.h
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/test/data/page_one.html
[add] https://crrev.com/a50533eeece4f0e34c4deb6c4539772a0269d63f/headless/test/data/page_two.html

Project Member Comment 85 by bugdroid1@chromium.org, Jul 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d65ae16d48a6639cae89b64f032b47e31c82c7e

commit 1d65ae16d48a6639cae89b64f032b47e31c82c7e
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Jul 29 17:10:46 2016

Let blink scheduler know when background parsing a document

This is necessary to make Virtual time behave deterministically.
Without knowing that a document is being parsed in the background
we might think loading is safe to run timers (which it isn't if
you want determinism).

BUG=546953

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

[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/third_party/WebKit/public/platform/WebFrameScheduler.h
[modify] https://crrev.com/1d65ae16d48a6639cae89b64f032b47e31c82c7e/third_party/WebKit/public/platform/WebViewScheduler.h

Project Member Comment 86 by bugdroid1@chromium.org, Aug 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c815652bc24a83da99ca473d489accdeeafa435

commit 1c815652bc24a83da99ca473d489accdeeafa435
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Aug 01 12:20:28 2016

Change VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING

Change VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING to initially
pause virtual time until at least one loading task has run.  This fixes
a problem where virtual time could advance arbitrarily far before the
first fetch occurred.

Also refactor the way virtual time is dealt with so that
RendererSchedulerImpl and ThrottlingHelper know about it and
Virtual Time is applied to all relevant queues.

Finally remove unused WebViewSchedulerTest.cpp

BUG=546953

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

[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/renderer_scheduler_impl.cc
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/renderer_scheduler_impl.h
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/renderer_scheduler_impl_unittest.cc
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/throttling_helper.cc
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/throttling_helper.h
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/throttling_helper_unittest.cc
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/web_frame_scheduler_impl.cc
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/web_frame_scheduler_impl.h
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/web_view_scheduler_impl.cc
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/web_view_scheduler_impl.h
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
[delete] https://crrev.com/33e8546b6e54b2a38d9baa327f45238cf6d64c28/third_party/WebKit/Source/platform/WebViewSchedulerTest.cpp
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/third_party/WebKit/Source/web/tests/VirtualTimeTest.cpp
[modify] https://crrev.com/1c815652bc24a83da99ca473d489accdeeafa435/third_party/WebKit/public/platform/WebViewScheduler.h

Project Member Comment 87 by bugdroid1@chromium.org, Aug 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f348930aacb2ef5432e6bc5671d3e50c0dd7dfb

commit 6f348930aacb2ef5432e6bc5671d3e50c0dd7dfb
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Aug 01 16:28:57 2016

HeadlessDevToolsClientImpl::DispatchEvent to post a task

DevTools expects events to be processed asynchronously and if handlers
respond synchronously things can break.  This patch works around that
by posting a task to run the event handler.

BUG=546953

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

[modify] https://crrev.com/6f348930aacb2ef5432e6bc5671d3e50c0dd7dfb/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/6f348930aacb2ef5432e6bc5671d3e50c0dd7dfb/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/6f348930aacb2ef5432e6bc5671d3e50c0dd7dfb/headless/lib/headless_devtools_client_browsertest.cc

Project Member Comment 88 by bugdroid1@chromium.org, Aug 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf703da2bab3ddb36ce1b342b1a844e6dc048387

commit bf703da2bab3ddb36ce1b342b1a844e6dc048387
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Aug 02 17:25:53 2016

Emulation.setVirtualTimePolicy to have an optional virtual time budge

If virtualTimeBudgetSeconds is set then after the specified virtual
seconds have elapsed, virtual time pauses and an
Emulation.virtualTimeBudgetExpired event is sent.

BUG=546953

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

[modify] https://crrev.com/bf703da2bab3ddb36ce1b342b1a844e6dc048387/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[modify] https://crrev.com/bf703da2bab3ddb36ce1b342b1a844e6dc048387/third_party/WebKit/Source/core/inspector/browser_protocol.json
[modify] https://crrev.com/bf703da2bab3ddb36ce1b342b1a844e6dc048387/third_party/WebKit/Source/web/InspectorEmulationAgent.cpp
[modify] https://crrev.com/bf703da2bab3ddb36ce1b342b1a844e6dc048387/third_party/WebKit/Source/web/InspectorEmulationAgent.h

Project Member Comment 89 by bugdroid1@chromium.org, Aug 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73c4ead9db3aad5e06d354c3091b6749a32e77a4

commit 73c4ead9db3aad5e06d354c3091b6749a32e77a4
Author: eseckler <eseckler@chromium.org>
Date: Tue Aug 02 19:05:29 2016

headless: make initial screen/window sizes configurable.

BUG=546953

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

[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/browser/headless_browser_main_parts.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/browser/headless_devtools_manager_delegate.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/browser/headless_screen.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/browser/headless_screen.h
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/public/headless_browser.cc
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/public/headless_browser.h
[modify] https://crrev.com/73c4ead9db3aad5e06d354c3091b6749a32e77a4/headless/public/headless_web_contents.h

Project Member Comment 90 by bugdroid1@chromium.org, Aug 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b6f78f23894ab0eb24eb6ad56d58b61319f8746

commit 7b6f78f23894ab0eb24eb6ad56d58b61319f8746
Author: skyostil <skyostil@chromium.org>
Date: Wed Aug 03 11:43:04 2016

headless: Add a test for sending cookies from a protocol handler

This patch adds a test for sending outgoing cookies from a protocol
handler. The cookies are read asynchronously from the cookie store
associated with the request.

BUG=546953

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

[modify] https://crrev.com/7b6f78f23894ab0eb24eb6ad56d58b61319f8746/headless/lib/headless_browser_browsertest.cc

Project Member Comment 91 by bugdroid1@chromium.org, Aug 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a9ba3d92b5647bd6c424838c1ad50616ab4c8d3

commit 6a9ba3d92b5647bd6c424838c1ad50616ab4c8d3
Author: altimin <altimin@chromium.org>
Date: Wed Aug 03 11:48:11 2016

[headless] Fix typo in mojo test

R=skyostil@chromium.org
CC=alexclarke@chromium.org

BUG=546953

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

[modify] https://crrev.com/6a9ba3d92b5647bd6c424838c1ad50616ab4c8d3/headless/test/data/page_two.html

Project Member Comment 92 by bugdroid1@chromium.org, Aug 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/93a0240a75dafc41691457d253e090ac4d66506e

commit 93a0240a75dafc41691457d253e090ac4d66506e
Author: altimin <altimin@chromium.org>
Date: Wed Aug 03 16:26:43 2016

[headless]

Public API changes:

- [incompatible] Removed default browser context from HeadlessBrowser and HeadlessBrowser::CreateWebContents methods. Now BrowserContext should be created explicitly.
- [incompatible] ProtocolHandlers cannot be set in HeadlessBrowser::Options due to being move-only and not reusable across different BrowserContexts.
- Added more configurable options to HeadlessBrowserContext.
- Now user data directory can be set.
- HeadlessBrowser::Shutdown now closes all WebContents.
- All WebContents associated with a HeadlessBrowserContext are now deleted when user deletes a BrowserContext.

Internal library changes:
- Added HeadlessBrowserContextOptions class, allowing for more customization for BrowserContext and for fallback to default browser-wide settings from HeadlessBrowser::Options.
- Removed SetOptionsForTesting. Now BrowserContext should be created for this purposes.

Misc:
- Made linter happy.

BUG=546953,624837

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

[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/BUILD.gn
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/app/headless_shell.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/app/headless_shell_switches.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_context_impl.h
[add] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_context_options.cc
[add] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_context_options.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_main_parts.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_browser_main_parts.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_devtools.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_devtools.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_devtools_manager_delegate.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_devtools_manager_delegate.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_url_request_context_getter.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/embedder_mojo_browsertest.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/headless_browser_context_browsertest.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/public/headless_browser.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/public/headless_browser.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/public/headless_browser_context.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/public/headless_web_contents.h
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/test/headless_browser_test.cc
[modify] https://crrev.com/93a0240a75dafc41691457d253e090ac4d66506e/headless/test/headless_browser_test.h

Project Member Comment 93 by bugdroid1@chromium.org, Aug 4 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf875c9ce90acb08c5be5f26b1df53085013e0e2

commit bf875c9ce90acb08c5be5f26b1df53085013e0e2
Author: altimin <altimin@chromium.org>
Date: Thu Aug 04 17:09:07 2016

[headless] Do not give ownership of HeadlessBrowserContext to user.

Public API changes:
- HeadlessBrowserContext::Builder::Build now returns raw pointer instead of unique_ptr. Lifetime of HeadlessBrowserContexts is managed by the browser now.
- Added HeadlessBrowserContext::Close method to give used the option to delete HeadlessBrowserContext.
- Added HeadlessBrowserContext::Id and HeadlessBrowser::GetBrowserContextForId methods for BrowserContext identification.

Internal changes:
- HeadlessWebContents are owned by HeadlessBrowserContext.
- HeadlessBrowserContexts are now owned by HeadlessBrowser.
- Instead of browser having a weak pointer to HeadlessDevToolsManagerDelegate opposite happens: HeadlessDevToolsManagerDelegate weakly references HeadlessBrowser.

BUG=546953

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

[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/app/headless_shell.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_browser_context_impl.h
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_devtools_manager_delegate.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_devtools_manager_delegate.h
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/embedder_mojo_browsertest.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/headless_browser_context_browsertest.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/public/headless_browser.h
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/public/headless_browser_context.h
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/test/headless_browser_test.cc
[modify] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/test/headless_browser_test.h
[add] https://crrev.com/bf875c9ce90acb08c5be5f26b1df53085013e0e2/headless/testserver.log

Project Member Comment 94 by bugdroid1@chromium.org, Aug 4 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ab63101b9693dab163b5343958d0e87d98dba10

commit 1ab63101b9693dab163b5343958d0e87d98dba10
Author: altimin <altimin@chromium.org>
Date: Thu Aug 04 18:43:45 2016

[headless] Incognito mode support.

Public API:
- Added incognito_mode flags to HeadlessBrowser::Options and
  HeadlessBrowserContext::Builder.

Headless Shell:
- Uses incognito browser context by default, switches to normal one
  when --user-data-dir flag is present.

BUG=546953

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

[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/app/headless_shell.cc
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/lib/browser/headless_browser_context_options.cc
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/lib/browser/headless_browser_context_options.h
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/lib/headless_browser_context_browsertest.cc
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/public/headless_browser.cc
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/public/headless_browser.h
[modify] https://crrev.com/1ab63101b9693dab163b5343958d0e87d98dba10/headless/public/headless_browser_context.h

Incognito mode has consequences... For example, desktop notifications (and so does the Web Push API) are automatically denied in incognito. Are you aware of that...?
Project Member Comment 96 by bugdroid1@chromium.org, Aug 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c57b829ff3345289ddfd92a305807d3a38908088

commit c57b829ff3345289ddfd92a305807d3a38908088
Author: skyostil <skyostil@chromium.org>
Date: Fri Aug 05 12:53:19 2016

headless: Make API generator more robust against weird enum literals

This patch makes the headless client API generator dael with enum
literals that don't directly translate to valid C++ identifiers (e.g.,
NaN, Infinity, -Infinity, -0).

BUG=546953

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

[modify] https://crrev.com/c57b829ff3345289ddfd92a305807d3a38908088/headless/lib/browser/client_api_generator.py
[modify] https://crrev.com/c57b829ff3345289ddfd92a305807d3a38908088/headless/lib/browser/client_api_generator_unittest.py
[modify] https://crrev.com/c57b829ff3345289ddfd92a305807d3a38908088/headless/lib/browser/type_conversions_h.template
[modify] https://crrev.com/c57b829ff3345289ddfd92a305807d3a38908088/headless/lib/browser/types_h.template

#95: Yeah, altimin@ and I were just chatting about that. Unfortunately the only control content/ gives currently is a boolean incognito flag, so we're just exposing that for now. Notifications etc. will need more work anyway (e.g., bug 631464) to be useful in headless mode.
Project Member Comment 98 by bugdroid1@chromium.org, Aug 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c13b37c42fdb8ac05b616e4ad4e0cf462949a0d

commit 2c13b37c42fdb8ac05b616e4ad4e0cf462949a0d
Author: eseckler <eseckler@chromium.org>
Date: Fri Aug 05 19:23:11 2016

Expose window size through a headless_shell switch.

BUG=546953

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

[modify] https://crrev.com/2c13b37c42fdb8ac05b616e4ad4e0cf462949a0d/headless/app/headless_shell.cc
[modify] https://crrev.com/2c13b37c42fdb8ac05b616e4ad4e0cf462949a0d/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/2c13b37c42fdb8ac05b616e4ad4e0cf462949a0d/headless/app/headless_shell_switches.h

Project Member Comment 99 by bugdroid1@chromium.org, Aug 5 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/24a36e38fda2fa1699013ce4d6fa9213deea1f86

commit 24a36e38fda2fa1699013ce4d6fa9213deea1f86
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Aug 05 21:47:10 2016

Make sure blink scheduler doesn't wait for the PingLoader

The PingLoader calls context().willStartLoadingResource but it
doesn't call context().dispatchDidFinishLoading which throws off
the scheduler's accounting.  This patch fixes that.

BUG=546953

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

[modify] https://crrev.com/24a36e38fda2fa1699013ce4d6fa9213deea1f86/third_party/WebKit/Source/core/loader/PingLoader.cpp

Project Member Comment 100 by bugdroid1@chromium.org, Aug 8 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d12a9b250656e0528e3459f82518852122daf9b9

commit d12a9b250656e0528e3459f82518852122daf9b9
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Aug 08 21:13:20 2016

Add a --virtual-time-budget option to headless_shell

This is an alternative to waiting for the DomContentLoaded event, where you specify a virtual time budget in milliseconds.

BUG=546953

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

[modify] https://crrev.com/d12a9b250656e0528e3459f82518852122daf9b9/headless/app/headless_shell.cc
[modify] https://crrev.com/d12a9b250656e0528e3459f82518852122daf9b9/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/d12a9b250656e0528e3459f82518852122daf9b9/headless/app/headless_shell_switches.h

Project Member Comment 101 by bugdroid1@chromium.org, Aug 9 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b27f6e0419b7896a23029ed96581e10f2bcf010

commit 7b27f6e0419b7896a23029ed96581e10f2bcf010
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Aug 09 12:03:12 2016

Add an accessor to HeadlessBrowser for the IO thread

BUG=546953

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

[modify] https://crrev.com/7b27f6e0419b7896a23029ed96581e10f2bcf010/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/7b27f6e0419b7896a23029ed96581e10f2bcf010/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/7b27f6e0419b7896a23029ed96581e10f2bcf010/headless/public/headless_browser.h

Blockedon: 636301
Project Member Comment 103 by bugdroid1@chromium.org, Aug 15 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90cc74879f8c930171dcc579e5fb65778991fa08

commit 90cc74879f8c930171dcc579e5fb65778991fa08
Author: eseckler <eseckler@chromium.org>
Date: Mon Aug 15 14:13:33 2016

Fixes naming issues in Browser protocol handler + adds tests.

BUG=546953

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

[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/chrome/browser/devtools/chrome_devtools_manager_delegate.cc
[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/components/devtools_discovery/devtools_discovery_manager.cc
[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/components/devtools_discovery/devtools_discovery_manager.h
[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/content/browser/devtools/protocol/browser_handler.cc
[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/content/shell/browser/shell_devtools_manager_delegate.cc
[modify] https://crrev.com/90cc74879f8c930171dcc579e5fb65778991fa08/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member Comment 104 by bugdroid1@chromium.org, Aug 16 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e14cbdf8483f93797dd1605772b3d4cb8e88395e

commit e14cbdf8483f93797dd1605772b3d4cb8e88395e
Author: skyostil <skyostil@chromium.org>
Date: Tue Aug 16 10:24:05 2016

headless: Also build the headless shell target on the bot

Also make sure the headless shell target builds properly on the headless FYI bot.

BUG=546953

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

[modify] https://crrev.com/e14cbdf8483f93797dd1605772b3d4cb8e88395e/testing/buildbot/chromium.fyi.json

Project Member Comment 105 by bugdroid1@chromium.org, Aug 16 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f7874188bc68911c9fe2ad5d1604169bf99e5ff1

commit f7874188bc68911c9fe2ad5d1604169bf99e5ff1
Author: altimin <altimin@chromium.org>
Date: Tue Aug 16 10:24:45 2016

[headless] Fix headless_shell compilation.

- DevTools removed wasThrown from results, use GetExceptionDetails
  instead.

R=skyostil@chromium.org

BUG=546953

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

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

Quick question, I've been tracking this closely but haven't seen this land yet: is there a planned mechanism for taking full page screenshots via the headless shell? I run a visual testing service and would love to prototype using this, but we need lossless captures of full pages (not just the viewport, which I believe is all the captureScreenshot API supports right now). Would love to hear any plans related to this, excited to see this land for other reasons too.
#106: Full page screenshots are coming as part of bug 625577. Feel free to star it to follow along.
#106: Yes, this is planned and being worked on, see bug 625577.
Project Member Comment 109 by bugdroid1@chromium.org, Aug 18 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da38573f708f7725faaab8fe3dec7fcf722f54c8

commit da38573f708f7725faaab8fe3dec7fcf722f54c8
Author: skyostil <skyostil@chromium.org>
Date: Thu Aug 18 17:11:09 2016

headless: Add a test for setting cookies via DevTools

This patch adds a headless test for setting cookies using the recently
added DevTools cookie editing commands.

BUG=546953

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

[modify] https://crrev.com/da38573f708f7725faaab8fe3dec7fcf722f54c8/headless/lib/headless_browser_browsertest.cc

Project Member Comment 110 by bugdroid1@chromium.org, Aug 19 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1660df547f70a27ca4b6360845febfd3adb1273f

commit 1660df547f70a27ca4b6360845febfd3adb1273f
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Aug 19 14:02:49 2016

Headless utility classes for making deterministic protocol handlers

In follow on patches I hope to wire up a URLFetcher backending on
URLRequestHttpJob and adding a --deterministic-network-fetch option
to headless_shell

BUG=546953

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

[modify] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/BUILD.gn
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/deterministic_dispatcher.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/deterministic_dispatcher.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/deterministic_dispatcher_test.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/expedited_dispatcher.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/expedited_dispatcher.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/expedited_dispatcher_test.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/generic_url_request_job.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/generic_url_request_job.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/generic_url_request_job_test.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/managed_dispatch_url_request_job.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/managed_dispatch_url_request_job.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/testing/fake_managed_dispatch_url_request_job.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/testing/fake_managed_dispatch_url_request_job.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/testing/generic_url_request_mocks.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/testing/generic_url_request_mocks.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/url_fetcher.cc
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/url_fetcher.h
[add] https://crrev.com/1660df547f70a27ca4b6360845febfd3adb1273f/headless/public/util/url_request_dispatcher.h

Project Member Comment 111 by bugdroid1@chromium.org, Aug 19 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff93b14cb47f92464988ea507d938ca5fe63d909

commit ff93b14cb47f92464988ea507d938ca5fe63d909
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Aug 19 17:24:18 2016

Fix recursion bug in blocking a fetch and add a test

BUG=546953

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

[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/generic_url_request_job.h
[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/generic_url_request_job_test.cc
[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/managed_dispatch_url_request_job.h
[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/ff93b14cb47f92464988ea507d938ca5fe63d909/headless/public/util/url_fetcher.h

Blockedon: 646774
Project Member Comment 113 by bugdroid1@chromium.org, Sep 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad54054fcdee1ede7d009413d3577cea0f0e08f6

commit ad54054fcdee1ede7d009413d3577cea0f0e08f6
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Sep 23 18:03:37 2016

Adds a --deterministic-fetch flag to headless_shell

Adds a -deterministic-fetch flag to headless_shell which causes network
reuests to complete in the same order they're created in.  This removes
a significant source of network related non-determinism at the cost of
slower page loads.

BUG=546953

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

[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/BUILD.gn
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/app/headless_shell.cc
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/app/headless_shell_switches.h
[add] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/deterministic_http_protocol_handler.cc
[add] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/deterministic_http_protocol_handler.h
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/generic_url_request_job.h
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/generic_url_request_job_test.cc
[add] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/http_url_fetcher.cc
[add] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/http_url_fetcher.h
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/testing/generic_url_request_mocks.cc
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/testing/generic_url_request_mocks.h
[modify] https://crrev.com/ad54054fcdee1ede7d009413d3577cea0f0e08f6/headless/public/util/url_fetcher.h

A small patch for some of the recent build errors.
out.patch
4.7 KB Download
Project Member Comment 115 by bugdroid1@chromium.org, Sep 30 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d71fc504213b7d60f98d8b1db9abb6bda280a042

commit d71fc504213b7d60f98d8b1db9abb6bda280a042
Author: eseckler <eseckler@chromium.org>
Date: Fri Sep 30 10:07:59 2016

Headless: expose WebPreferences to embedder, add --hide-scrollbars.

Lets the embedder override WebPreferences for individual HeadlessBrowserContexts. Used to add back the --hide-scrollbars flag to headless_shell.

BUG=546953

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

[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/app/headless_shell.cc
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/app/headless_shell_switches.cc
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/app/headless_shell_switches.h
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/browser/headless_browser_context_impl.cc
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/browser/headless_browser_context_impl.h
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/browser/headless_browser_context_options.cc
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/browser/headless_browser_context_options.h
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/browser/headless_content_browser_client.h
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/lib/headless_browser_context_browsertest.cc
[modify] https://crrev.com/d71fc504213b7d60f98d8b1db9abb6bda280a042/headless/public/headless_browser_context.h

>>> From headless/README.md

To attach a DevTools debugger to the shell:
out/Debug/headless_shell --remote-debugging-port=9222 https://youtube.com

I would like to build this capability into a small application that does not use DevTools debugger.    Same capabilities, different GUI toolkit.

I imagine that this application would look similar to the DevTools debugger page, with an edit box on top to enter the URL and the web page on the bottom, with additional buttons across the bottom to take screenshots and other similar things.

Also, I want to pass the web stream through a preprocessor before displaying it.
The Devtools debugger is very slow.     

Suggestions?

Project Member Comment 117 by bugdroid1@chromium.org, Oct 3 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f90d2b77e15d6d6ba7f0669783eaf1c43d757ad2

commit f90d2b77e15d6d6ba7f0669783eaf1c43d757ad2
Author: skyostil <skyostil@chromium.org>
Date: Mon Oct 03 16:37:31 2016

headless: Add a test for --renderer-cmd-prefix

BUG=546953

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

[modify] https://crrev.com/f90d2b77e15d6d6ba7f0669783eaf1c43d757ad2/headless/lib/headless_browser_browsertest.cc

#116: If you want to show the web page on the screen, you might be better off embedding Chrome's regular content API[1] instead of trying to use headless. We're really not trying to address the "interactive GUI application" use case with headless.

[1] https://www.chromium.org/developers/content-module/content-api
@reportbase:

This command launches server part of DevTools debugger. As mentioned in readme, you could navigate to http://localhost:9222 to start frontend part of DevTools debugger.

If you prefer, you can develop your alternative to DevTools debugger frontend.
You can get a list of open tabs at http://localhost:9222/json/list. Next step is to get websocket url (looks like ws://localhost:8888/devtools/page/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee) and you can connect to this url using websocket library of your choice and use DevTools json protocol [1], [2] to communicate with browser.

[1] https://cs.chromium.org/chromium/src/third_party/WebKit/Source/devtools/protocol.json
[2] https://developer.chrome.com/devtools/docs/debugger-protocol



Project Member Comment 120 by bugdroid1@chromium.org, Oct 5 2016
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

Project Member Comment 121 by bugdroid1@chromium.org, Oct 6 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a9aad4ec3fcf29e289898802b7f2fd43be83398

commit 8a9aad4ec3fcf29e289898802b7f2fd43be83398
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Oct 06 19:15:09 2016

Add a DOM.getLayoutTreeNodes devtools command

This command will help Headless API users understand the layout
of the page.

BUG=546953

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

[add] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getLayoutTreeNodes-expected.txt
[add] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getLayoutTreeNodes.html
[add] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/LayoutTests/inspector-protocol/dom/resources/simple-iframe.html
[modify] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[modify] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/Source/core/inspector/browser_protocol.json

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 125 by bugdroid1@chromium.org, Oct 20 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03139e4a4f3d029eb09c5fa831f0307e4fb1911b

commit 03139e4a4f3d029eb09c5fa831f0307e4fb1911b
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Oct 20 10:15:40 2016

Add a utility class for extracting details of the DOM, including
white-listed computed styles.

BUG=546953

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

[modify] https://crrev.com/03139e4a4f3d029eb09c5fa831f0307e4fb1911b/headless/BUILD.gn
[add] https://crrev.com/03139e4a4f3d029eb09c5fa831f0307e4fb1911b/headless/public/util/dom_tree_extractor.cc
[add] https://crrev.com/03139e4a4f3d029eb09c5fa831f0307e4fb1911b/headless/public/util/dom_tree_extractor.h
[add] https://crrev.com/03139e4a4f3d029eb09c5fa831f0307e4fb1911b/headless/public/util/dom_tree_extractor_browsertest.cc
[add] https://crrev.com/03139e4a4f3d029eb09c5fa831f0307e4fb1911b/headless/test/data/dom_tree_test.html
[add] https://crrev.com/03139e4a4f3d029eb09c5fa831f0307e4fb1911b/headless/test/data/iframe.html

Project Member Comment 126 by bugdroid1@chromium.org, Oct 27 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/587e4b889a55afab010d248e1fe34048d8d21d78

commit 587e4b889a55afab010d248e1fe34048d8d21d78
Author: skyostil <skyostil@chromium.org>
Date: Thu Oct 27 14:44:12 2016

headless: Remove usage of worker domain

The worker domain is no longer there in DevTools so let's not try to
export it in headless anymore.

BUG=546953

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

[modify] https://crrev.com/587e4b889a55afab010d248e1fe34048d8d21d78/headless/BUILD.gn
[modify] https://crrev.com/587e4b889a55afab010d248e1fe34048d8d21d78/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/587e4b889a55afab010d248e1fe34048d8d21d78/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/587e4b889a55afab010d248e1fe34048d8d21d78/headless/public/headless_devtools_client.h

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

Project Member Comment 129 by bugdroid1@chromium.org, Oct 27 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a9aad4ec3fcf29e289898802b7f2fd43be83398

commit 8a9aad4ec3fcf29e289898802b7f2fd43be83398
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Oct 06 19:15:09 2016

Add a DOM.getLayoutTreeNodes devtools command

This command will help Headless API users understand the layout
of the page.

BUG=546953

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

[add] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getLayoutTreeNodes-expected.txt
[add] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/LayoutTests/inspector-protocol/dom/dom-getLayoutTreeNodes.html
[add] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/LayoutTests/inspector-protocol/dom/resources/simple-iframe.html
[modify] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
[modify] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.h
[modify] https://crrev.com/8a9aad4ec3fcf29e289898802b7f2fd43be83398/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member Comment 130 by bugdroid1@chromium.org, Nov 1 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412

commit 10f7e12361ee5e1eeb6955f0bc27eb3c182dd412
Author: eseckler <eseckler@chromium.org>
Date: Tue Nov 01 12:16:57 2016

devtools: Adds Page.getLayoutMetrics.

This allows e.g. headless embedders to determine the position/dimension/scale of layout and visual viewport.

BUG=546953

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

[modify] https://crrev.com/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
[add] https://crrev.com/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412/third_party/WebKit/LayoutTests/inspector-protocol/page/get-layout-metrics-expected.txt
[add] https://crrev.com/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412/third_party/WebKit/LayoutTests/inspector-protocol/page/get-layout-metrics.html
[modify] https://crrev.com/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp
[modify] https://crrev.com/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h
[modify] https://crrev.com/10f7e12361ee5e1eeb6955f0bc27eb3c182dd412/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member Comment 131 by bugdroid1@chromium.org, Nov 2 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4723dd668c76115f026731b4af51aa38d1ce47dd

commit 4723dd668c76115f026731b4af51aa38d1ce47dd
Author: skyostil <skyostil@chromium.org>
Date: Wed Nov 02 12:24:21 2016

headless: Add a browser manifest overlay

Add a browser manifest overlay which permits exposing the necessary
services to the renderer.

BUG=546953

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

[add] https://crrev.com/4723dd668c76115f026731b4af51aa38d1ce47dd/headless/lib/browser/headless_browser_manifest_overlay.json
[modify] https://crrev.com/4723dd668c76115f026731b4af51aa38d1ce47dd/headless/lib/browser/headless_content_browser_client.cc
[modify] https://crrev.com/4723dd668c76115f026731b4af51aa38d1ce47dd/headless/lib/browser/headless_content_browser_client.h
[modify] https://crrev.com/4723dd668c76115f026731b4af51aa38d1ce47dd/headless/lib/resources/headless_lib_resources.grd

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 135 by bugdroid1@chromium.org, Nov 11 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a8aa2f9af202c27f8d8eab9783f42595fed6513

commit 6a8aa2f9af202c27f8d8eab9783f42595fed6513
Author: alexclarke <alexclarke@chromium.org>
Date: Fri Nov 11 12:47:44 2016

Fix bug where DeterministicDispatcher CHECKed for killed jobs

BUG=546953

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

[modify] https://crrev.com/6a8aa2f9af202c27f8d8eab9783f42595fed6513/headless/public/util/deterministic_dispatcher.cc
[modify] https://crrev.com/6a8aa2f9af202c27f8d8eab9783f42595fed6513/headless/public/util/deterministic_dispatcher.h
[modify] https://crrev.com/6a8aa2f9af202c27f8d8eab9783f42595fed6513/headless/public/util/deterministic_dispatcher_test.cc
[modify] https://crrev.com/6a8aa2f9af202c27f8d8eab9783f42595fed6513/headless/public/util/testing/fake_managed_dispatch_url_request_job.cc
[modify] https://crrev.com/6a8aa2f9af202c27f8d8eab9783f42595fed6513/headless/public/util/testing/fake_managed_dispatch_url_request_job.h

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 138 by bugdroid1@chromium.org, Nov 17 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec37e6478a8f312dda525c23037d360b05552711

commit ec37e6478a8f312dda525c23037d360b05552711
Author: alexclarke <alexclarke@chromium.org>
Date: Thu Nov 17 16:20:37 2016

Implement GenericURLRequestJob::GetLoadTimingInfo

This is needed to safely load any resources with a header based redirect.

BUG=546953

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

[modify] https://crrev.com/ec37e6478a8f312dda525c23037d360b05552711/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/ec37e6478a8f312dda525c23037d360b05552711/headless/public/util/generic_url_request_job.h
[modify] https://crrev.com/ec37e6478a8f312dda525c23037d360b05552711/headless/public/util/generic_url_request_job_test.cc

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 143 by bugdroid1@chromium.org, Nov 28 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e961c3ef970570158b3f5c2c2393d04b059355e8

commit e961c3ef970570158b3f5c2c2393d04b059355e8
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Nov 28 21:48:16 2016

Use the Ahem font to try and deflake DomTreeExtractorBrowserTest

BUG=546953

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

[modify] https://crrev.com/e961c3ef970570158b3f5c2c2393d04b059355e8/headless/public/util/dom_tree_extractor_browsertest.cc
[add] https://crrev.com/e961c3ef970570158b3f5c2c2393d04b059355e8/headless/test/data/Ahem.ttf
[add] https://crrev.com/e961c3ef970570158b3f5c2c2393d04b059355e8/headless/test/data/dom_tree_test.css
[modify] https://crrev.com/e961c3ef970570158b3f5c2c2393d04b059355e8/headless/test/data/dom_tree_test.html

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 145 by bugdroid1@chromium.org, Nov 29 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0eebabe203d03e50b696b8834c6eeddbde4114e8

commit 0eebabe203d03e50b696b8834c6eeddbde4114e8
Author: tmarek <tmarek@google.com>
Date: Tue Nov 29 11:03:00 2016

Expose the full API for attaching devtools clients:

 * propagate information about the success of an attach attempt
 * force-attach support
 * added the IsAttached() method

BUG=546953

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

[modify] https://crrev.com/0eebabe203d03e50b696b8834c6eeddbde4114e8/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/0eebabe203d03e50b696b8834c6eeddbde4114e8/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/0eebabe203d03e50b696b8834c6eeddbde4114e8/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/0eebabe203d03e50b696b8834c6eeddbde4114e8/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/0eebabe203d03e50b696b8834c6eeddbde4114e8/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/0eebabe203d03e50b696b8834c6eeddbde4114e8/headless/public/headless_devtools_target.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 155 by bugdroid1@chromium.org, Jan 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c3ead867afb360569076daac6ed5563405f395b4

commit c3ead867afb360569076daac6ed5563405f395b4
Author: eseckler <eseckler@chromium.org>
Date: Fri Jan 13 12:21:27 2017

[headless] Add default browser context to HeadlessBrowser.

This also modifies HeadlessDevToolsManagerDelegate to send error
responses if required parameters are missing.

BUG=679343,546953

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

[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/app/headless_shell.cc
[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/lib/browser/headless_devtools_manager_delegate.cc
[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/lib/browser/headless_devtools_manager_delegate.h
[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/public/headless_browser.h
[modify] https://crrev.com/c3ead867afb360569076daac6ed5563405f395b4/headless/test/headless_browser_test.cc

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
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c417908206d25662cc23a589d0c48a260a77b520

commit c417908206d25662cc23a589d0c48a260a77b520
Author: skyostil <skyostil@chromium.org>
Date: Thu Feb 02 23:46:53 2017

headless: Add command line flags for logging

Add support for --enable-logging and --logging-level for headless mode.

BUG=546953
TEST=cr run chrome --headless --enable-logging --v=2

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

[modify] https://crrev.com/c417908206d25662cc23a589d0c48a260a77b520/headless/app/headless_shell.cc
[modify] https://crrev.com/c417908206d25662cc23a589d0c48a260a77b520/headless/app/headless_shell_switches.h
[modify] https://crrev.com/c417908206d25662cc23a589d0c48a260a77b520/headless/lib/headless_content_main_delegate.cc
[modify] https://crrev.com/c417908206d25662cc23a589d0c48a260a77b520/headless/lib/headless_content_main_delegate.h

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 159 by bugdroid1@chromium.org, Feb 3 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fa62dfbe410a3cdbf86a11912953f91d10c68149

commit fa62dfbe410a3cdbf86a11912953f91d10c68149
Author: skyostil <skyostil@chromium.org>
Date: Fri Feb 03 04:25:05 2017

headless: Don't delete log files in child processes

BUG=546953

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

[modify] https://crrev.com/fa62dfbe410a3cdbf86a11912953f91d10c68149/headless/app/headless_shell_switches.h
[modify] https://crrev.com/fa62dfbe410a3cdbf86a11912953f91d10c68149/headless/lib/headless_content_main_delegate.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 180 by bugdroid1@chromium.org, Mar 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f49bc490fc420fb5ac0172080cc92c09da8bbf4

commit 2f49bc490fc420fb5ac0172080cc92c09da8bbf4
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Mar 13 11:30:38 2017

Remove obsolete methods from GenericURLRequestJob::Delegate

BUG=546953

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

[modify] https://crrev.com/2f49bc490fc420fb5ac0172080cc92c09da8bbf4/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/2f49bc490fc420fb5ac0172080cc92c09da8bbf4/headless/public/util/generic_url_request_job.h

Project Member Comment 181 by bugdroid1@chromium.org, Mar 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4

commit 283b4a2162c016bcd28b3766ea3c5e9c932ecfe4
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Mar 13 14:42:05 2017

Headless: Pass devtools request id to the URLFetcher

BUG=546953

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

[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/generic_url_request_job_test.cc
[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/http_url_fetcher.cc
[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/http_url_fetcher.h
[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/protocol_handler_request_id_browsertest.cc
[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/url_fetcher.cc
[modify] https://crrev.com/283b4a2162c016bcd28b3766ea3c5e9c932ecfe4/headless/public/util/url_fetcher.h

Project Member Comment 182 by bugdroid1@chromium.org, Mar 13 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/43f04a7037dac960a00cb0c4ea7257369610921c

commit 43f04a7037dac960a00cb0c4ea7257369610921c
Author: alexclarke <alexclarke@chromium.org>
Date: Mon Mar 13 21:20:10 2017

Headless: Strip X-DevTools-Emulate-Network-Conditions-Client-Id

This header is added when the DevTools Network domain is active.
It's supposed to be stripped before the fetch is sent down the wire.

BUG=546953, 698905

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

[modify] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/BUILD.gn
[add] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/lib/browser/headless_network_delegate.cc
[add] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/lib/browser/headless_network_delegate.h
[modify] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/lib/browser/headless_url_request_context_getter.cc
[modify] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/test/test_protocol_handler.cc
[modify] https://crrev.com/43f04a7037dac960a00cb0c4ea7257369610921c/headless/test/test_protocol_handler.h

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 185 by bugdroid1@chromium.org, Apr 5 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f4ab462d9bdaae2d2049d798694083b959a8703

commit 3f4ab462d9bdaae2d2049d798694083b959a8703
Author: skyostil <skyostil@chromium.org>
Date: Wed Apr 05 16:28:53 2017

headless: Require headless team review for mojo changes

The headless team should be aware of changes that affect either the C++
implementation or JS bindings of mojo services.

BUG=546953

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

[modify] https://crrev.com/3f4ab462d9bdaae2d2049d798694083b959a8703/headless/lib/OWNERS
[modify] https://crrev.com/3f4ab462d9bdaae2d2049d798694083b959a8703/headless/lib/embedder_mojo_browsertest.cc
[add] https://crrev.com/3f4ab462d9bdaae2d2049d798694083b959a8703/headless/test/data/OWNERS
[rename] https://crrev.com/3f4ab462d9bdaae2d2049d798694083b959a8703/headless/test/data/mojo_page_one.html
[rename] https://crrev.com/3f4ab462d9bdaae2d2049d798694083b959a8703/headless/test/data/mojo_page_two.html

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

Project Member Comment 188 by bugdroid1@chromium.org, Apr 18 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/74500bd4d32d826311be745333f5b338b68bf63b

commit 74500bd4d32d826311be745333f5b338b68bf63b
Author: alexclarke <alexclarke@chromium.org>
Date: Tue Apr 18 18:45:56 2017

Adds a helper to retrieve any PostData.  Also adds a unique request ID.
Finally fixes GetFrameTreeNodeId for browser initiated fetches.

BUG=546953

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

[modify] https://crrev.com/74500bd4d32d826311be745333f5b338b68bf63b/headless/public/util/generic_url_request_job.cc
[modify] https://crrev.com/74500bd4d32d826311be745333f5b338b68bf63b/headless/public/util/generic_url_request_job.h
[modify] https://crrev.com/74500bd4d32d826311be745333f5b338b68bf63b/headless/public/util/generic_url_request_job_test.cc
[modify] https://crrev.com/74500bd4d32d826311be745333f5b338b68bf63b/headless/public/util/testing/generic_url_request_mocks.cc

Project Member Comment 189 by bugdroid1@chromium.org, Apr 19 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a936ad274d8d2f8967fb39dd8150488e0383ab8f

commit a936ad274d8d2f8967fb39dd8150488e0383ab8f
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Apr 19 17:36:36 2017

Headless: Support sending and receiving of raw protocol messages

Also adds support for finding the render tree node id, if any, for a given devtools
agent host id.

BUG=546953

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

[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/lib/browser/headless_devtools_client_impl.cc
[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/lib/browser/headless_devtools_client_impl.h
[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/public/headless_devtools_client.h
[modify] https://crrev.com/a936ad274d8d2f8967fb39dd8150488e0383ab8f/headless/public/headless_web_contents.h

Project Member Comment 190 by bugdroid1@chromium.org, Apr 26 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec1e14279dd9294f4640ea7fd67ea40532a572b0

commit ec1e14279dd9294f4640ea7fd67ea40532a572b0
Author: alexclarke <alexclarke@chromium.org>
Date: Wed Apr 26 08:34:28 2017

HeadlessWebContents Observers for devtools clients attaching/detatching

BUG=546953

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

[modify] https://crrev.com/ec1e14279dd9294f4640ea7fd67ea40532a572b0/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/ec1e14279dd9294f4640ea7fd67ea40532a572b0/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/ec1e14279dd9294f4640ea7fd67ea40532a572b0/headless/lib/headless_devtools_client_browsertest.cc
[modify] https://crrev.com/ec1e14279dd9294f4640ea7fd67ea40532a572b0/headless/public/headless_web_contents.h

Blockedon: 715541
Project Member Comment 192 by bugdroid1@chromium.org, Apr 29 2017
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/32fdf2ad9ef36269d8c5369c4ce667a80c50d0d9

commit 32fdf2ad9ef36269d8c5369c4ce667a80c50d0d9
Author: eseckler <eseckler@chromium.org>
Date: Sat Apr 29 07:07:59 2017

[headless] Expose DevToolsTarget via HeadlessBrowser + add tracing test.

BUG=546953

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

[modify] https://crrev.com/32fdf2ad9ef36269d8c5369c4ce667a80c50d0d9/headless/lib/browser/headless_browser_impl.cc
[modify] https://crrev.com/32fdf2ad9ef36269d8c5369c4ce667a80c50d0d9/headless/lib/browser/headless_browser_impl.h
[modify] https://crrev.com/32fdf2ad9ef36269d8c5369c4ce667a80c50d0d9/headless/lib/headless_browser_browsertest.cc
[modify] https://crrev.com/32fdf2ad9ef36269d8c5369c4ce667a80c50d0d9/headless/public/headless_browser.h

Project Member Comment 193 by bugdroid1@chromium.org, May 8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7a29e9c1db694f2ae80f95baf758d00e25d28e3

commit e7a29e9c1db694f2ae80f95baf758d00e25d28e3
Author: alexclarke <alexclarke@chromium.org>
Date: Mon May 08 20:05:08 2017

Headless: Move GetUntrustedDevToolsFrameIdForFrameTreeNodeId to public

BUG=546953

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

[modify] https://crrev.com/e7a29e9c1db694f2ae80f95baf758d00e25d28e3/headless/lib/browser/headless_web_contents_impl.h
[modify] https://crrev.com/e7a29e9c1db694f2ae80f95baf758d00e25d28e3/headless/lib/frame_id_browsertest.cc
[modify] https://crrev.com/e7a29e9c1db694f2ae80f95baf758d00e25d28e3/headless/public/headless_web_contents.h

Project Member Comment 194 by bugdroid1@chromium.org, May 9
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
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
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
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
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
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 202 by bugdroid1@chromium.org, May 25
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fb9a235342811e5c63be2ae03956c126b745fc0a

commit fb9a235342811e5c63be2ae03956c126b745fc0a
Author: alexclarke <alexclarke@chromium.org>
Date: Thu May 25 14:19:19 2017

Fix TabSocket.onmessage whoch should be able to retrieve all messages

The previous patch https://codereview.chromium.org/2873283002/ broke that.

BUG=546953

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

[modify] https://crrev.com/fb9a235342811e5c63be2ae03956c126b745fc0a/headless/lib/headless_web_contents_browsertest.cc
[modify] https://crrev.com/fb9a235342811e5c63be2ae03956c126b745fc0a/headless/lib/renderer/headless_content_renderer_client.cc

Project Member Comment 203 by bugdroid1@chromium.org, Jun 2
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
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
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
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
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
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
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
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
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 213 by bugdroid1@chromium.org, Jun 30
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0fef1938ce3e82b2ccfbe2551c48b61474fc19da

commit 0fef1938ce3e82b2ccfbe2551c48b61474fc19da
Author: Alex Clarke <alexclarke@chromium.org>
Date: Fri Jun 30 20:11:26 2017

DOMSnapshot.getSnapshot to expose contentLanguage  

Bug: 546953
Change-Id: I9420cacac4054cf864fed9ebe9ac2f9b98224f9c
Reviewed-on: https://chromium-review.googlesource.com/558069
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#483799}
[modify] https://crrev.com/0fef1938ce3e82b2ccfbe2551c48b61474fc19da/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-expected.txt
[modify] https://crrev.com/0fef1938ce3e82b2ccfbe2551c48b61474fc19da/third_party/WebKit/LayoutTests/inspector-protocol/resources/dom-snapshot.html
[modify] https://crrev.com/0fef1938ce3e82b2ccfbe2551c48b61474fc19da/third_party/WebKit/Source/core/inspector/InspectorDOMSnapshotAgent.cpp
[modify] https://crrev.com/0fef1938ce3e82b2ccfbe2551c48b61474fc19da/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member Comment 214 by bugdroid1@chromium.org, Jul 10
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
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 216 by bugdroid1@chromium.org, Jul 13
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/537562c27b50ad655819d3648300027d1354d25b

commit 537562c27b50ad655819d3648300027d1354d25b
Author: dvallet <dvallet@chromium.org>
Date: Thu Jul 13 23:41:06 2017

Add input element values to DOMSnapshot command

DomSnapshot is modified to populate NodeValue for textarea, input and option elements.

radio/checkbox and option elements are populated with a checked/selected string

BUG=546953

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

[add] https://crrev.com/537562c27b50ad655819d3648300027d1354d25b/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-input-value-expected.txt
[add] https://crrev.com/537562c27b50ad655819d3648300027d1354d25b/third_party/WebKit/LayoutTests/inspector-protocol/dom-snapshot/dom-snapshot-getSnapshot-input-value.js
[add] https://crrev.com/537562c27b50ad655819d3648300027d1354d25b/third_party/WebKit/LayoutTests/inspector-protocol/resources/dom-snapshot-input-value.html
[modify] https://crrev.com/537562c27b50ad655819d3648300027d1354d25b/third_party/WebKit/Source/core/inspector/InspectorDOMSnapshotAgent.cpp
[modify] https://crrev.com/537562c27b50ad655819d3648300027d1354d25b/third_party/WebKit/Source/core/inspector/browser_protocol.json

Project Member Comment 217 by bugdroid1@chromium.org, Aug 1
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
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
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
Sign in to add a comment