| # Copyright 2014 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/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/device_access.cc", |
| "protocol/device_access.h", |
| "protocol/dom.cc", |
| "protocol/dom.h", |
| "protocol/emulation.cc", |
| "protocol/emulation.h", |
| "protocol/fed_cm.cc", |
| "protocol/fed_cm.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/preload.cc", |
| "protocol/preload.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" ] |
| } |