# 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") _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", ] 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" ] }