| # 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/chromeos/ui_mode.gni") |
| import("//extensions/buildflags/buildflags.gni") |
| import("//printing/buildflags/buildflags.gni") |
| |
| if (!is_android) { |
| import("//build/config/features.gni") |
| import("//chrome/common/features.gni") |
| import("//tools/grit/grit_rule.gni") |
| } |
| |
| if (!is_android) { |
| _inspector_protocol = "//third_party/inspector_protocol" |
| import("$_inspector_protocol/inspector_protocol.gni") |
| |
| _protocol_generated = [ |
| "protocol/autofill.cc", |
| "protocol/autofill.h", |
| "protocol/extensions.cc", |
| "protocol/extensions.h", |
| "protocol/browser.cc", |
| "protocol/browser.h", |
| "protocol/cast.cc", |
| "protocol/cast.h", |
| "protocol/emulation.cc", |
| "protocol/emulation.h", |
| "protocol/page.cc", |
| "protocol/page.h", |
| "protocol/protocol.h", |
| "protocol/pwa.cc", |
| "protocol/pwa.h", |
| "protocol/security.cc", |
| "protocol/security.h", |
| "protocol/storage.cc", |
| "protocol/storage.h", |
| "protocol/system_info.cc", |
| "protocol/system_info.h", |
| "protocol/target.cc", |
| "protocol/target.h", |
| ] |
| |
| if (is_chromeos_ash) { |
| _protocol_generated += [ |
| "protocol/window_manager.cc", |
| "protocol/window_manager.h", |
| ] |
| } |
| |
| _concatenated_protocol_path = |
| "$root_gen_dir/chrome/browser/devtools/protocol.json" |
| action("concatenate_protocols") { |
| script = _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 (is_chromeos_ash) { |
| inputs += [ "cros_protocol.pdl" ] |
| args += [ rebase_path("cros_protocol.pdl", root_build_dir) ] |
| } |
| |
| args += [ rebase_path(output_file, 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 = [ ":concatenate_protocols" ] |
| out_dir = target_gen_dir |
| config_file = "inspector_protocol_config.json" |
| use_embedder_types = true |
| |
| protocol_path = rebase_path(_concatenated_protocol_path, root_build_dir) |
| config_values = [ "protocol.path=$protocol_path" ] |
| |
| inputs = [ |
| _concatenated_protocol_path, |
| "inspector_protocol_config.json", |
| ] |
| |
| outputs = _protocol_generated |
| } |
| } |
| |
| static_library("devtools") { |
| # Note: new sources and deps should be generally added in (!is_android) below. |
| sources = [] |
| |
| configs += [ |
| "//build/config/compiler:wexit_time_destructors", |
| "//build/config:precompiled_headers", |
| ] |
| |
| deps = [ |
| "//base", |
| |
| # To prevent circular GN dependencies, this target does not depend on |
| # //chrome/browser:browser, even though it has a real build dependency on |
| # it. However, depending on the order in which this target and |
| # //chrome/browser:browser are built it's possible that the connectors |
| # proto header (which //chrome/browser:browser depends on) is not generated |
| # yet causing devtools not to compile. Adding this indirect dependency to |
| # the proto to fix that. |
| "//components/enterprise/common/proto:connectors_proto", |
| |
| # Similar bandaid as the above. Since we cannot depend on |
| # //chrome/browser:browser, we include indirect dependencies here. |
| "//chrome/browser/autofill:autofill", |
| "//components/autofill/content/browser:browser", |
| "//components/autofill/core/browser:browser", |
| "//components/enterprise/buildflags", |
| "//components/paint_preview/buildflags:buildflags", |
| "//components/variations/service:service", |
| "//components/webapps/common:common", |
| "//content/public/browser", |
| "//net", |
| "//services/metrics/public/cpp:ukm_builders", |
| "//services/viz/privileged/mojom/compositing", |
| "//third_party/blink/public:buildflags", |
| "//ui/events:dom_keycode_converter", |
| ] |
| |
| if (!is_android) { |
| deps += [ |
| "//build:chromeos_buildflags", |
| "//chrome:extra_resources", |
| "//chrome:resources", |
| "//chrome:strings", |
| "//chrome/app/theme:theme_resources", |
| "//chrome/browser:browser_process", |
| "//chrome/browser/media/router:media_router_feature", |
| "//chrome/browser/profiles:profile", |
| "//chrome/browser/web_applications", |
| "//chrome/common", |
| "//components/guest_view/browser", |
| "//components/infobars/content", |
| "//components/infobars/core", |
| "//components/javascript_dialogs", |
| "//components/keep_alive_registry", |
| "//components/keyed_service/content", |
| "//components/language/core/browser", |
| "//components/metrics/structured:structured_events", |
| "//components/pref_registry", |
| "//components/prefs", |
| "//components/search_engines:search_engines", |
| "//components/sessions", |
| "//components/signin/public/identity_manager:identity_manager", |
| "//components/sync/service", |
| "//components/sync_preferences", |
| "//components/viz/host", |
| "//components/web_modal", |
| "//components/zoom", |
| "//net/server:http_server", |
| "//skia", |
| "//third_party/icu", |
| "//third_party/leveldatabase", |
| "//ui/base/cursor", |
| "//ui/base/cursor/mojom:cursor_type", |
| "//ui/shell_dialogs", |
| "//ui/views/controls/webview", |
| ] |
| if (is_chromeos) { |
| deps += [ "//chromeos/constants" ] |
| } |
| if (is_chromeos_ash) { |
| deps += [ "//ash/constants" ] |
| } |
| sources += [ |
| "aida_client.cc", |
| "aida_client.h", |
| "chrome_devtools_manager_delegate.cc", |
| "chrome_devtools_manager_delegate.h", |
| "chrome_devtools_session.cc", |
| "chrome_devtools_session.h", |
| "device/adb/adb_client_socket.cc", |
| "device/adb/adb_client_socket.h", |
| "device/adb/adb_device_provider.cc", |
| "device/adb/adb_device_provider.h", |
| "device/android_device_info_query.cc", |
| "device/android_device_manager.cc", |
| "device/android_device_manager.h", |
| "device/android_web_socket.cc", |
| "device/devtools_android_bridge.cc", |
| "device/devtools_android_bridge.h", |
| "device/devtools_device_discovery.cc", |
| "device/devtools_device_discovery.h", |
| "device/port_forwarding_controller.cc", |
| "device/port_forwarding_controller.h", |
| "device/tcp_device_provider.cc", |
| "device/tcp_device_provider.h", |
| "device/usb/android_rsa.cc", |
| "device/usb/android_rsa.h", |
| "device/usb/android_usb_device.cc", |
| "device/usb/android_usb_device.h", |
| "device/usb/android_usb_socket.cc", |
| "device/usb/android_usb_socket.h", |
| "device/usb/usb_device_manager_helper.cc", |
| "device/usb/usb_device_manager_helper.h", |
| "device/usb/usb_device_provider.cc", |
| "device/usb/usb_device_provider.h", |
| "devtools_auto_opener.cc", |
| "devtools_auto_opener.h", |
| "devtools_browser_context_manager.cc", |
| "devtools_browser_context_manager.h", |
| "devtools_contents_resizing_strategy.cc", |
| "devtools_contents_resizing_strategy.h", |
| "devtools_dock_tile.h", |
| "devtools_embedder_message_dispatcher.cc", |
| "devtools_embedder_message_dispatcher.h", |
| "devtools_eye_dropper.cc", |
| "devtools_eye_dropper.h", |
| "devtools_file_helper.cc", |
| "devtools_file_helper.h", |
| "devtools_file_system_indexer.cc", |
| "devtools_file_system_indexer.h", |
| "devtools_file_watcher.cc", |
| "devtools_file_watcher.h", |
| "devtools_infobar_delegate.cc", |
| "devtools_infobar_delegate.h", |
| "devtools_settings.cc", |
| "devtools_settings.h", |
| "devtools_targets_ui.cc", |
| "devtools_targets_ui.h", |
| "devtools_toggle_action.cc", |
| "devtools_toggle_action.h", |
| "devtools_ui_bindings.cc", |
| "devtools_ui_bindings.h", |
| "devtools_window.cc", |
| "devtools_window.h", |
| "global_confirm_info_bar.cc", |
| "global_confirm_info_bar.h", |
| "process_sharing_infobar_delegate.cc", |
| "process_sharing_infobar_delegate.h", |
| "remote_debugging_server.cc", |
| "remote_debugging_server.h", |
| "serialize_host_descriptions.cc", |
| "serialize_host_descriptions.h", |
| "url_constants.cc", |
| "url_constants.h", |
| "visual_logging.cc", |
| "visual_logging.h", |
| ] |
| if (enable_service_discovery) { |
| sources += [ |
| "device/cast_device_provider.cc", |
| "device/cast_device_provider.h", |
| ] |
| } |
| } |
| |
| if (is_mac) { |
| sources += [ "devtools_dock_tile_mac.mm" ] |
| } else { |
| sources += [ "devtools_dock_tile.cc" ] |
| } |
| if (!is_android) { |
| deps += [ |
| ":protocol_generated_sources", |
| "//chrome/app:command_ids", |
| "//components/custom_handlers", |
| "//components/media_router/browser", |
| "//components/media_router/common/mojom:media_router", |
| "//components/payments/content", |
| "//components/privacy_sandbox/privacy_sandbox_attestations", |
| "//components/security_state/content", |
| "//components/subresource_filter/content/browser:browser", |
| "//components/webapps/browser", |
| "//third_party/inspector_protocol:crdtp", |
| ] |
| sources += [ |
| "protocol/autofill_handler.cc", |
| "protocol/autofill_handler.h", |
| "protocol/browser_handler.cc", |
| "protocol/browser_handler.h", |
| "protocol/cast_handler.cc", |
| "protocol/cast_handler.h", |
| "protocol/emulation_handler.cc", |
| "protocol/emulation_handler.h", |
| "protocol/extensions_handler.cc", |
| "protocol/extensions_handler.h", |
| "protocol/page_handler.cc", |
| "protocol/page_handler.h", |
| "protocol/pwa_handler.cc", |
| "protocol/pwa_handler.h", |
| "protocol/security_handler.cc", |
| "protocol/security_handler.h", |
| "protocol/storage_handler.cc", |
| "protocol/storage_handler.h", |
| "protocol/system_info_handler.cc", |
| "protocol/system_info_handler.h", |
| "protocol/target_handler.cc", |
| "protocol/target_handler.h", |
| ] |
| if (is_chromeos_ash) { |
| deps += [ "//ash" ] |
| sources += [ |
| "protocol/window_manager_handler.cc", |
| "protocol/window_manager_handler.h", |
| ] |
| } |
| if (enable_printing) { |
| deps += [ |
| "//components/printing/browser/headless", |
| "//components/printing/browser/print_to_pdf", |
| ] |
| } |
| sources += rebase_path(_protocol_generated, ".", target_gen_dir) |
| } |
| |
| if (enable_extensions) { |
| deps += [ |
| "//chrome/common/extensions/api", |
| "//extensions/browser", |
| ] |
| } |
| } |
| |
| static_library("test_support") { |
| sources = [] |
| deps = [] |
| testonly = true |
| |
| if (!is_android) { |
| deps += [ |
| ":devtools", |
| "//base", |
| "//chrome/browser", |
| "//chrome/browser/ui", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//net", |
| "//net/traffic_annotation:test_support", |
| ] |
| |
| sources += [ |
| "device/adb/mock_adb_server.cc", |
| "device/adb/mock_adb_server.h", |
| "devtools_window_testing.cc", |
| "devtools_window_testing.h", |
| ] |
| |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| } |
| } |