# 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/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",
"//net:test_support",
"//testing/gtest",
]
configs += [ "//build/config:precompiled_headers" ]
}