blob: b01fc3024417bb043f822f5f0ae2fe275b637f84 [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# 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")
import("//components/ui_devtools/devtools.gni")
_inspector_protocol = "//third_party/inspector_protocol"
import("$_inspector_protocol/inspector_protocol.gni")
_protocol_generated = [
"base_string_adapter.cc",
"base_string_adapter.h",
"CSS.cpp",
"CSS.h",
"DOM.cpp",
"DOM.h",
"Forward.h",
"Overlay.cpp",
"Overlay.h",
"Page.cpp",
"Page.h",
"Protocol.cpp",
"Protocol.h",
"Tracing.h",
"Tracing.cpp",
]
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",
]
outputs = _protocol_generated
}
buildflag_header("buildflags") {
header = "buildflags.h"
flags = [ "USE_VIZ_DEVTOOLS=$use_viz_devtools" ]
}
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" ]
cflags = []
if (is_win) {
cflags += [ "/wd4800" ] # Value forced to bool.
}
deps = [
":devtools_protocol_encoding",
":protocol_generated_sources",
"//base",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//net",
"//services/tracing/public/cpp",
"//services/tracing/public/mojom",
"//ui/gfx",
]
public_deps = [
":buildflags",
"//services/network/public/cpp",
"//services/network/public/mojom",
"//services/service_manager/public/cpp",
"//third_party/perfetto/gn:default_deps",
]
}
static_library("test_support") {
testonly = true
sources = [
"ui_devtools_unittest_utils.cc",
"ui_devtools_unittest_utils.h",
]
public_deps = [
":devtools_protocol_encoding",
":ui_devtools",
"//testing/gmock",
]
}
static_library("devtools_protocol_encoding") {
sources = [
"devtools_protocol_encoding.cc",
"devtools_protocol_encoding.h",
]
deps = [
"//base",
"//third_party/inspector_protocol:encoding",
]
}
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",
]
data = [
"//components/test/data/ui_devtools/test_file.cc",
]
deps = [
":test_support",
"//base/test:test_support",
"//net:test_support",
"//services/network:network_service",
"//testing/gtest",
]
configs += [ "//build/config:precompiled_headers" ]
}