| Index: docs/testing/layout_tests_in_content_shell.md
|
| diff --git a/docs/testing/layout_tests_in_content_shell.md b/docs/testing/layout_tests_in_content_shell.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..82cb51e465ae4f93413ae8b12f6fc52e11731f75
|
| --- /dev/null
|
| +++ b/docs/testing/layout_tests_in_content_shell.md
|
| @@ -0,0 +1,69 @@
|
| +# Running layout tests using the content shell
|
| +
|
| +## Basic usage
|
| +
|
| +Layout tests can be run with `content_shell`. To just dump the render tree, use
|
| +the `--run-layout-test` flag:
|
| +
|
| +```bash
|
| +out/Default/content_shell --run-layout-test foo.html
|
| +```
|
| +
|
| +### Compiling
|
| +
|
| +If you want to run layout tests,
|
| +[build the target `blink_tests`](layout_tests.md); this includes all the other
|
| +binaries required to run the tests.
|
| +
|
| +### Running
|
| +
|
| +You can run layout tests using `run-webkit-tests` (in
|
| +`src/third_party/WebKit/Tools/Scripts`).
|
| +
|
| +```bash
|
| +third_party/WebKit/Tools/Scripts/run-webkit-tests storage/indexeddb
|
| +```
|
| +
|
| +or execute the shell directly:
|
| +
|
| +```bash
|
| +out/Default/content_shell --remote-debugging-port=9222
|
| +```
|
| +
|
| +This allows you see how your changes look in Chromium, and even connect with
|
| +devtools (by going to http://127.0.0.1:9222 from another window) to inspect your
|
| +freshly compiled Blink.
|
| +
|
| +*** note
|
| +On the Mac, use `Content Shell.app`, not `content_shell`.
|
| +
|
| +```bash
|
| +out/Default/Content\ Shell.app/Contents/MacOS/Content\ Shell --remote-debugging-port=9222
|
| +```
|
| +***
|
| +
|
| +### Debugging Renderer Crashes
|
| +
|
| +To debug a renderer crash, ask Content Shell to wait for you to attach a
|
| +debugger once it spawns a renderer process by adding the
|
| +`--renderer-startup-dialog` flag:
|
| +
|
| +```bash
|
| +out/Default/content_shell --renderer-startup-dialog
|
| +```
|
| +
|
| +Debugging workers and other subprocesses is simpler with
|
| +`--wait-for-debugger-children`, which can have one of two values: `plugin` or
|
| +`renderer`.
|
| +
|
| +## Future Work
|
| +
|
| +### Reusing existing testing objects
|
| +
|
| +To avoid writing (and maintaining!) yet another test controller, it is desirable
|
| +to reuse an existing test controller. A possible solution would be to change
|
| +DRT's test controller to not depend on DRT's implementation of the Blink
|
| +objects, but rather on the Blink interfaces. In addition, we would need to
|
| +extract an interface from the test shell object that can be implemented by
|
| +content shell. This would allow for directly using DRT's test controller in
|
| +content shell.
|
|
|