| # Copyright 2016 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/buildflag_header.gni") |
| |
| _inspector_protocol = "//third_party/inspector_protocol" |
| import("$_inspector_protocol/inspector_protocol.gni") |
| |
| _protocol_generated = [ |
| "css.cc", |
| "css.h", |
| "dom.cc", |
| "dom.h", |
| "forward.h", |
| "overlay.cc", |
| "overlay.h", |
| "page.cc", |
| "page.h", |
| "protocol.h", |
| "tracing.h", |
| "tracing.cc", |
| ] |
| |
| action("protocol_compatibility") { |
| visibility = [ ":*" ] # Only targets in this file can depend on this. |
| script = "$_inspector_protocol/check_protocol_compatibility.py" |
| inputs = [ "protocol.json" ] |
| |
| _stamp = "$target_gen_dir/protocol.stamp" |
| outputs = [ _stamp ] |
| |
| args = [ |
| "--stamp", |
| rebase_path(_stamp, root_build_dir), |
| rebase_path("protocol.json", root_build_dir), |
| ] |
| } |
| |
| inspector_protocol_generate("protocol_generated_sources") { |
| inspector_protocol_dir = _inspector_protocol |
| visibility = [ ":*" ] # Only targets in this file can depend on this. |
| |
| deps = [ ":protocol_compatibility" ] |
| |
| out_dir = target_gen_dir |
| config_file = "inspector_protocol_config.json" |
| inputs = [ |
| "protocol.json", |
| "inspector_protocol_config.json", |
| ] |
| use_embedder_types = true |
| |
| outputs = _protocol_generated |
| } |
| |
| component("ui_devtools") { |
| sources = rebase_path(_protocol_generated, ".", target_gen_dir) |
| sources += [ |
| "agent_util.cc", |
| "agent_util.h", |
| "connector_delegate.h", |
| "css_agent.cc", |
| "css_agent.h", |
| "devtools_base_agent.h", |
| "devtools_client.cc", |
| "devtools_client.h", |
| "devtools_export.h", |
| "devtools_server.cc", |
| "devtools_server.h", |
| "dom_agent.cc", |
| "dom_agent.h", |
| "overlay_agent.cc", |
| "overlay_agent.h", |
| "page_agent.cc", |
| "page_agent.h", |
| "root_element.cc", |
| "root_element.h", |
| "switches.cc", |
| "switches.h", |
| "tracing_agent.cc", |
| "tracing_agent.h", |
| "ui_element.cc", |
| "ui_element.h", |
| "ui_element_delegate.h", |
| ] |
| |
| defines = [ "UI_DEVTOOLS_IMPLEMENTATION" ] |
| |
| deps = [ |
| ":features", |
| ":protocol_generated_sources", |
| "//base", |
| "//mojo/public/cpp/bindings", |
| "//mojo/public/cpp/system", |
| "//net", |
| "//third_party/inspector_protocol:crdtp", |
| "//ui/base:base", |
| "//ui/gfx", |
| ] |
| |
| public_deps = [ |
| "//services/network/public/cpp", |
| "//services/network/public/mojom", |
| "//services/service_manager/public/cpp", |
| "//services/tracing/public/cpp", |
| "//services/tracing/public/mojom", |
| ] |
| } |
| |
| component("features") { |
| output_name = "ui_devtools_features" |
| |
| defines = [ "IS_UI_DEVTOOLS_FEATURES_IMPL" ] |
| |
| sources = [ |
| "ui_devtools_features.cc", |
| "ui_devtools_features.h", |
| ] |
| |
| deps = [ "//base" ] |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "ui_devtools_unittest_utils.cc", |
| "ui_devtools_unittest_utils.h", |
| ] |
| public_deps = [ |
| ":ui_devtools", |
| "//testing/gmock", |
| "//third_party/inspector_protocol:crdtp", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| |
| cflags = [] |
| if (is_win) { |
| cflags += [ "/wd4800" ] # Value forced to bool. |
| } |
| |
| sources = [ |
| "css_agent_unittest.cc", |
| "devtools_server_unittest.cc", |
| "ui_element_unittest.cc", |
| ] |
| |
| data = [ "//components/test/data/ui_devtools/test_file.cc" ] |
| |
| deps = [ |
| ":test_support", |
| "//base/test:test_support", |
| "//net:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//testing/gtest", |
| ] |
| |
| configs += [ "//build/config:precompiled_headers" ] |
| } |