Creating webkit_layout_tests target.

This provides a webkit_layout_tests target which can be isolated and run on
swarming.

Doing this however is currently unusably slow.

Use with the following;
```bash
gn gen out/Release
gn args out/Release
# Put "is_debug = false" into the editor
ninja -C out/Release webkit_layout_tests

python tools/mb/mb.py isolate //out/Release webkit_layout_tests

# Obsolete Python tool
# python tools/swarming_client/isolate.py archive \
#  -s out/Release/webkit_layout_tests.isolated \
#  -I isolateserver.appspot.com

# Current supported Go tool
tools/luci-go/linux64/isolate archive \
 -isolate=out/Release/webkit_layout_tests.isolate \
 -isolated=out/Release/webkit_layout_tests.isolated \
 -isolate-server=isolateserver.appspot.com

python tools/swarming_client/swarming.py run \
  -v \
  -d pool Chrome \
  -d os Ubuntu-14.04 \
  -d gpu none \
  -S https://chromium-swarm.appspot.com \
  -I https://isolateserver.appspot.com \
  out/Release/webkit_layout_tests.isolated \
  -- \
  --isolated-script-test-output "\${ISOLATED_OUTDIR}/out.json"
```

BUG=524758

Review-Url: https://codereview.chromium.org/2452313003
Cr-Commit-Position: refs/heads/master@{#432140}
diff --git a/BUILD.gn b/BUILD.gn
index a23d2cc..c3f83c0 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -911,16 +911,31 @@
     testonly = true
 
     deps = [
-      "//content/shell:content_shell",
+      ":webkit_layout_tests",
       "//third_party/WebKit/public:all_blink",
+    ]
+  }
+
+  # Layout tests runner
+  # third_party/WebKit/Tools/Scripts/run-webkit-tests
+  group("run_webkit_tests") {
+    testonly = true
+    deps = [
+      ":webkit_layout_tests",
+    ]
+  }
+
+  # https://www.chromium.org/developers/testing/webkit-layout-tests
+  group("webkit_layout_tests") {
+    testonly = true
+
+    data_deps = [
+      "//content/shell:content_shell",
       "//tools/imagediff",
     ]
 
-    # NOTE: The following deps are needed to run the layout tests
-    # (run-webkit-tests) but there is no GN target for the layout tests,
-    # so we need to specify the dependencies here instead.
     if (is_android) {
-      deps += [
+      data_deps += [
         "//breakpad:breakpad_unittests",
         "//breakpad:dump_syms",
         "//breakpad:microdump_stackwalk",
@@ -932,24 +947,28 @@
     }
 
     if (is_win) {
-      deps += [ "//content/shell:content_shell_crash_service" ]
+      data_deps += [ "//content/shell:content_shell_crash_service" ]
     }
 
     if (!is_win && !is_android) {
-      deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
+      data_deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
     }
 
     if (is_mac) {
-      deps += [ "//breakpad:dump_syms($host_toolchain)" ]
+      data_deps += [ "//breakpad:dump_syms($host_toolchain)" ]
     }
 
     if (is_linux) {
-      deps += [ "//breakpad:dump_syms($host_toolchain)" ]
+      data_deps += [ "//breakpad:dump_syms($host_toolchain)" ]
     }
 
     data = [
+      "//testing/scripts/common.py",
+      "//testing/xvfb.py",
+      "//testing/scripts/run_telemetry_as_googletest.py",
       "//third_party/WebKit/LayoutTests/",
       "//third_party/WebKit/Tools/Scripts/",
+      "$root_build_dir/resources/inspector/",
     ]
   }
 }