# Copyright 2014 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/config/compiler/pgo/pgo.gni") import("//build/config/devtools.gni") import("//components/viz/common/debugger/viz_debugger.gni") import("//third_party/inspector_protocol/inspector_protocol.gni") import("//third_party/protobuf/proto_library.gni") import("//tools/grit/grit_rule.gni") # Android does not support DevTools front-end. if (!is_android) { source_set("devtools_resources_extern") { sources = [ "devtools_resources.cc" ] # This is to remove unnecessary dependency from compiles of targets depends # on this target to grit action. public = [] deps = [ ":devtools_resources" ] } grit("devtools_resources") { source = "$root_gen_dir/$devtools_grd_location" # Required because the .grd is generated. enable_input_discovery_for_gn_analyze = false use_brotli = true outputs = [ "grit/devtools_resources.h", "devtools_resources.pak", "grit/devtools_resources_map.cc", "grit/devtools_resources_map.h", ] grit_flags = [ "-E", "protocol_file=" + rebase_path( "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json", root_build_dir), ] deps = [ "//third_party/blink/public/devtools_protocol:protocol_version", # This is the action that generates out .grd input file. "//third_party/blink/public:blink_generate_devtools_grd", ] } } # Here we concatenate the viz_debugger.pdl and native_profiling.pdl # into our browser protocol. This technique is nearly identical to what is # done for cros_protocol.pdl in chrome/browser/devtools _concatenated_protocol_path = "$root_gen_dir/content/browser/devtools/protocol.json" action("concatenate_protocols") { script = "//third_party/inspector_protocol/concatenate_protocols.py" deps = [ "//third_party/blink/public/devtools_protocol:protocol_version" ] _blink_protocol_path = "$root_gen_dir/third_party/blink/public/devtools_protocol/protocol.json" inputs = [ _blink_protocol_path ] output_file = _concatenated_protocol_path outputs = [ output_file ] args = [ rebase_path(_blink_protocol_path, root_build_dir) ] if (use_viz_debugger) { _visual_debugger_pdl = "//components/viz/common/debugger/viz_debugger.pdl" inputs += [ _visual_debugger_pdl ] args += [ rebase_path(_visual_debugger_pdl, root_build_dir) ] } if (use_clang_profiling_inside_sandbox && chrome_pgo_phase == 1) { native_profiling_pdl = "//content/browser/native_profiling.pdl" inputs += [ native_profiling_pdl ] args += [ rebase_path(native_profiling_pdl, root_build_dir) ] } args += [ rebase_path(output_file, root_build_dir) ] } inspector_protocol_generate("protocol_sources") { visibility = [ "//content/browser:*" ] deps = [ ":concatenate_protocols" ] inspector_protocol_dir = "//third_party/inspector_protocol" out_dir = target_gen_dir config_file = "protocol_config.json" protocol_path = rebase_path(_concatenated_protocol_path, root_build_dir) config_values = [ "protocol.path=$protocol_path" ] use_embedder_types = true inputs = [ _concatenated_protocol_path, config_file, ] # These are relative to $target_gen_dir. outputs = [ "protocol/audits.cc", "protocol/audits.h", "protocol/background_service.cc", "protocol/background_service.h", "protocol/browser.cc", "protocol/browser.h", "protocol/dom.cc", "protocol/dom.h", "protocol/emulation.cc", "protocol/emulation.h", "protocol/fetch.cc", "protocol/fetch.h", "protocol/forward.h", "protocol/input.cc", "protocol/input.h", "protocol/inspector.cc", "protocol/inspector.h", "protocol/io.cc", "protocol/io.h", "protocol/log.cc", "protocol/log.h", "protocol/memory.cc", "protocol/memory.h", "protocol/network.cc", "protocol/network.h", "protocol/overlay.cc", "protocol/overlay.h", "protocol/page.cc", "protocol/page.h", "protocol/protocol.h", "protocol/runtime.cc", "protocol/runtime.h", "protocol/schema.cc", "protocol/schema.h", "protocol/security.cc", "protocol/security.h", "protocol/service_worker.cc", "protocol/service_worker.h", "protocol/storage.cc", "protocol/storage.h", "protocol/system_info.cc", "protocol/system_info.h", "protocol/target.cc", "protocol/target.h", "protocol/tethering.cc", "protocol/tethering.h", "protocol/tracing.cc", "protocol/tracing.h", "protocol/web_authn.cc", "protocol/web_authn.h", ] if (use_viz_debugger) { outputs += [ "protocol/visual_debugger.cc", "protocol/visual_debugger.h", ] } if (chrome_pgo_phase == 1) { outputs += [ "protocol/native_profiling.cc", "protocol/native_profiling.h", ] } } proto_library("devtools_background_services_proto") { sources = [ "devtools_background_services.proto" ] }