| Index: headless/BUILD.gn
|
| diff --git a/headless/BUILD.gn b/headless/BUILD.gn
|
| index f0d9dd4730a136e5797c4bd29b67c5019e0c5572..02c5034af8bea17d553d6a4efa4c237b63d6773f 100644
|
| --- a/headless/BUILD.gn
|
| +++ b/headless/BUILD.gn
|
| @@ -8,6 +8,7 @@ import("//headless/headless.gni")
|
| import("//mojo/public/tools/bindings/mojom.gni")
|
| import("//printing/features/features.gni")
|
| import("//testing/test.gni")
|
| +import("//third_party/closure_compiler/compile_js.gni")
|
| import("//tools/grit/grit_rule.gni")
|
| import("//tools/grit/repack.gni")
|
|
|
| @@ -160,7 +161,10 @@ devtools_domains = [
|
| ]
|
|
|
| generated_devtools_api = []
|
| +generated_devtools_api_js = []
|
| foreach(domain, devtools_domains) {
|
| + generated_devtools_api_js +=
|
| + [ "$target_gen_dir/public/devtools_js/" + domain + ".js" ]
|
| generated_devtools_api += [
|
| "$target_gen_dir/public/devtools/domains/" + domain + ".cc",
|
| "$target_gen_dir/public/devtools/domains/" + domain + ".h",
|
| @@ -182,11 +186,12 @@ action("gen_devtools_client_api") {
|
| "$root_gen_dir/blink/core/inspector/protocol.json",
|
| ]
|
|
|
| - outputs = generated_devtools_api
|
| + outputs = generated_devtools_api + generated_devtools_api_js
|
|
|
| sources = [
|
| "lib/browser/devtools_api/domain_cc.template",
|
| "lib/browser/devtools_api/domain_h.template",
|
| + "lib/browser/devtools_api/domain_js.template",
|
| "lib/browser/devtools_api/domain_type_conversions_h.template",
|
| "lib/browser/devtools_api/domain_types_cc.template",
|
| "lib/browser/devtools_api/domain_types_forward_declarations_h.template",
|
| @@ -201,6 +206,13 @@ action("gen_devtools_client_api") {
|
| ]
|
| }
|
|
|
| +js_library("js_devtools_bindings_lib") {
|
| + sources = [ "lib/browser/devtools_api/devtools_connection.js" ] +
|
| + generated_devtools_api_js
|
| + deps = []
|
| + extra_deps = [ ":gen_devtools_client_api" ]
|
| +}
|
| +
|
| if (headless_fontconfig_utils) {
|
| static_library("headless_fontconfig_utils") {
|
| sources = [
|
| @@ -505,6 +517,62 @@ if (is_mac) {
|
| }
|
| }
|
|
|
| +if (!is_win) {
|
| + js_binary("js_devtools_bindings_test") {
|
| + sources = [
|
| + "test/bindings_test.js",
|
| + ]
|
| + deps = [
|
| + ":js_devtools_bindings_lib",
|
| + ]
|
| + extra_deps = []
|
| + externs_list = [ "lib/tab_socket_externs.js" ]
|
| + outputs = [
|
| + "$target_gen_dir/devtools_bindings_test.js",
|
| + ]
|
| + config_files = []
|
| + closure_flags = [
|
| + "jscomp_error=checkTypes",
|
| + "dependency_mode=STRICT",
|
| +
|
| + # Currently the bindings do not support property renaming so we can't use
|
| + # ADVANCED_OPTIMIZATIONS here. We could add support via either moving all
|
| + # the types to externs, or via applying the same renaming to the json
|
| + # dictionaries sent between C++ and JS. The closure compiler can produce
|
| + # files which contain those mappings with the appropriate flag.
|
| + "compilation_level=SIMPLE",
|
| + "language_out=ES5_STRICT",
|
| + "entry_point=chromium.BindingsTest",
|
| + ]
|
| + }
|
| +
|
| + grit("headless_browsertest_resources_grit") {
|
| + source = "headless_browsertest_resources.grd"
|
| + outputs = [
|
| + "grit/headless_browsertest_resources.h",
|
| + "$root_gen_dir/headless/headless_browsertest_resources.pak",
|
| + ]
|
| + grit_flags = [
|
| + "-E",
|
| + "gen_root=" + rebase_path(root_gen_dir),
|
| + ]
|
| + deps = [
|
| + ":js_devtools_bindings_test",
|
| + ]
|
| + resource_ids = "lib/headless_browsertest_resource_ids"
|
| + }
|
| +
|
| + repack("headless_browser_tests_pak") {
|
| + sources = [
|
| + "$root_gen_dir/headless/headless_browsertest_resources.pak",
|
| + ]
|
| + output = "$root_out_dir/headless_browser_tests.pak"
|
| + deps = [
|
| + ":headless_browsertest_resources_grit",
|
| + ]
|
| + }
|
| +}
|
| +
|
| test("headless_browsertests") {
|
| sources = [
|
| "lib/frame_id_browsertest.cc",
|
| @@ -524,6 +592,7 @@ test("headless_browsertests") {
|
| ]
|
|
|
| data = [
|
| + "$root_out_dir/headless_browser_tests.pak",
|
| "$root_out_dir/headless_lib.pak",
|
| "//net/tools/testserver/",
|
| "//third_party/pyftpdlib/",
|
| @@ -534,7 +603,9 @@ test("headless_browsertests") {
|
| ]
|
|
|
| if (is_mac) {
|
| - data_deps = [ ":mac_helpers" ]
|
| + data_deps = [
|
| + ":mac_helpers",
|
| + ]
|
| }
|
|
|
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
|
| @@ -556,6 +627,12 @@ test("headless_browsertests") {
|
| "//testing/gtest",
|
| ]
|
|
|
| + # The js_binary rule doesn't currently work on windows.
|
| + if (!is_win) {
|
| + sources += [ "test/headless_js_bindings_browsertest.cc" ]
|
| + deps += [ ":headless_browser_tests_pak" ]
|
| + }
|
| +
|
| if (enable_basic_printing) {
|
| deps += [
|
| "//components/printing/browser",
|
|
|