mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-28 16:26:10 +03:00
390 lines
9.9 KiB
Plaintext
390 lines
9.9 KiB
Plaintext
|
# 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/buildflag_header.gni")
|
||
|
import("//build/config/chromecast_build.gni")
|
||
|
import("//build/config/features.gni")
|
||
|
import("//build/config/ui.gni")
|
||
|
import("//media/media_options.gni")
|
||
|
import("//mojo/public/tools/bindings/mojom.gni")
|
||
|
import("//ppapi/features/features.gni")
|
||
|
import("//third_party/webrtc/webrtc.gni")
|
||
|
|
||
|
# See //content/BUILD.gn for how this works.
|
||
|
group("common") {
|
||
|
if (is_component_build) {
|
||
|
public_deps = [
|
||
|
"//content",
|
||
|
]
|
||
|
} else {
|
||
|
public_deps = [
|
||
|
":common_sources",
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# This target allows other targets to depend on result_codes.h which is a
|
||
|
# header-only dependency, without bringing in all of content.
|
||
|
source_set("result_codes") {
|
||
|
sources = [
|
||
|
"result_codes.h",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
# This target allows other targets to depend on content_descriptors.h which is
|
||
|
# a header-only dependency, without bringing in all of content.
|
||
|
source_set("content_descriptors") {
|
||
|
sources = [
|
||
|
"content_descriptors.h",
|
||
|
]
|
||
|
|
||
|
# The header uses V8_USE_EXTERNAL_STARTUP_DATA.
|
||
|
public_configs = [ "//v8:external_startup_data" ]
|
||
|
|
||
|
deps = [
|
||
|
"//ipc",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
source_set("content_descriptor_keys") {
|
||
|
sources = [
|
||
|
"content_descriptor_keys.cc",
|
||
|
"content_descriptor_keys.h",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
# Forces static linking for targets using the static_switches constants, even
|
||
|
# in the component build. This config makes it impossible to use the static
|
||
|
# switches target and use the rest of content at the same time, because the
|
||
|
# component export flags won't be consistent.
|
||
|
config("static_switches_defines") {
|
||
|
defines = [ "COMPILE_CONTENT_STATICALLY" ]
|
||
|
}
|
||
|
|
||
|
# This target allows you to use the content_switches constants and statically
|
||
|
# link to it, without depending on the rest of content. This is only for use
|
||
|
# without content, or you will get multiply defined symbols.
|
||
|
source_set("static_switches") {
|
||
|
public = [
|
||
|
"content_switches.h",
|
||
|
"mojo_channel_switches.h",
|
||
|
]
|
||
|
sources = [
|
||
|
"//content/common/content_export.h",
|
||
|
"content_switches.cc",
|
||
|
"mojo_channel_switches.cc",
|
||
|
]
|
||
|
|
||
|
public_configs = [ ":static_switches_defines" ]
|
||
|
|
||
|
# Deps required by the above headers.
|
||
|
deps = [
|
||
|
"//media:media_features",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
# This target allows you to use the content_features constants and statically
|
||
|
# link to it, without depending on the rest of content. This is only for use
|
||
|
# without content, or you will get multiply defined symbols.
|
||
|
source_set("static_features") {
|
||
|
public = [
|
||
|
"content_features.h",
|
||
|
]
|
||
|
sources = [
|
||
|
"//content/common/content_export.h",
|
||
|
"content_features.cc",
|
||
|
]
|
||
|
public_deps = [
|
||
|
"//base",
|
||
|
]
|
||
|
|
||
|
public_configs = [ ":static_switches_defines" ]
|
||
|
}
|
||
|
|
||
|
source_set("common_sources") {
|
||
|
# External code should depend on via ":common" above.
|
||
|
visibility = [ "//content/*" ]
|
||
|
|
||
|
sources = [
|
||
|
"appcache_info.h",
|
||
|
"associated_interface_provider.h",
|
||
|
"associated_interface_registry.h",
|
||
|
"bind_interface_helpers.h",
|
||
|
"bindings_policy.h",
|
||
|
"browser_controls_state.h",
|
||
|
"browser_side_navigation_policy.cc",
|
||
|
"browser_side_navigation_policy.h",
|
||
|
"cdm_info.h",
|
||
|
"child_process_host.h",
|
||
|
"child_process_host_delegate.cc",
|
||
|
"child_process_host_delegate.h",
|
||
|
"color_suggestion.cc",
|
||
|
"color_suggestion.h",
|
||
|
"common_param_traits.cc",
|
||
|
"common_param_traits.h",
|
||
|
"common_param_traits_macros.h",
|
||
|
"common_sandbox_support_linux.h",
|
||
|
"connection_filter.h",
|
||
|
"console_message_level.h",
|
||
|
"content_client.cc",
|
||
|
"content_client.h",
|
||
|
"content_constants.cc",
|
||
|
"content_constants.h",
|
||
|
"content_descriptors.h",
|
||
|
"content_features.cc",
|
||
|
"content_features.h",
|
||
|
"content_ipc_logging.h",
|
||
|
"content_paths.h",
|
||
|
"content_switches.cc",
|
||
|
"content_switches.h",
|
||
|
"context_menu_params.cc",
|
||
|
"context_menu_params.h",
|
||
|
"cursor_info.h",
|
||
|
"drop_data.cc",
|
||
|
"drop_data.h",
|
||
|
"favicon_url.cc",
|
||
|
"favicon_url.h",
|
||
|
"file_chooser_file_info.cc",
|
||
|
"file_chooser_file_info.h",
|
||
|
"file_chooser_params.cc",
|
||
|
"file_chooser_params.h",
|
||
|
"frame_navigate_params.cc",
|
||
|
"frame_navigate_params.h",
|
||
|
"injection_test_mac.h",
|
||
|
"injection_test_win.h",
|
||
|
"isolated_world_ids.h",
|
||
|
"javascript_dialog_type.h",
|
||
|
"main_function_params.h",
|
||
|
"manifest.cc",
|
||
|
"manifest.h",
|
||
|
"manifest_util.cc",
|
||
|
"manifest_util.h",
|
||
|
"media_metadata.cc",
|
||
|
"media_metadata.h",
|
||
|
"media_stream_request.cc",
|
||
|
"media_stream_request.h",
|
||
|
"menu_item.cc",
|
||
|
"menu_item.h",
|
||
|
"mhtml_generation_params.cc",
|
||
|
"mhtml_generation_params.h",
|
||
|
"mojo_channel_switches.cc",
|
||
|
"mojo_channel_switches.h",
|
||
|
"mutable_network_traffic_annotation_tag_struct_traits.h",
|
||
|
"notification_resources.cc",
|
||
|
"notification_resources.h",
|
||
|
"origin_trial_policy.cc",
|
||
|
"origin_trial_policy.h",
|
||
|
"origin_util.h",
|
||
|
"page_importance_signals.h",
|
||
|
"page_state.cc",
|
||
|
"page_state.h",
|
||
|
"page_type.h",
|
||
|
"page_zoom.h",
|
||
|
"pepper_plugin_info.cc",
|
||
|
"pepper_plugin_info.h",
|
||
|
"persistent_notification_status.h",
|
||
|
"platform_notification_data.cc",
|
||
|
"platform_notification_data.h",
|
||
|
"presentation_connection_message.cc",
|
||
|
"presentation_connection_message.h",
|
||
|
"presentation_info.cc",
|
||
|
"presentation_info.h",
|
||
|
"previews_state.h",
|
||
|
"process_type.h",
|
||
|
"push_event_payload.h",
|
||
|
"push_subscription_options.h",
|
||
|
"quarantine.h",
|
||
|
"referrer.cc",
|
||
|
"referrer.h",
|
||
|
"renderer_preferences.cc",
|
||
|
"renderer_preferences.h",
|
||
|
"request_context_frame_type.h",
|
||
|
"request_context_type.h",
|
||
|
"resource_devtools_info.cc",
|
||
|
"resource_devtools_info.h",
|
||
|
"resource_request.cc",
|
||
|
"resource_request.h",
|
||
|
"resource_request_body.cc",
|
||
|
"resource_request_body.h",
|
||
|
"resource_request_completion_status.cc",
|
||
|
"resource_request_completion_status.h",
|
||
|
"resource_response.cc",
|
||
|
"resource_response.h",
|
||
|
"resource_response_info.cc",
|
||
|
"resource_response_info.h",
|
||
|
"resource_type.cc",
|
||
|
"resource_type.h",
|
||
|
"result_codes.h",
|
||
|
"sandbox_init.h",
|
||
|
"sandbox_linux.h",
|
||
|
"sandboxed_process_launcher_delegate.cc",
|
||
|
"sandboxed_process_launcher_delegate.h",
|
||
|
"screen_info.cc",
|
||
|
"screen_info.h",
|
||
|
"screen_orientation_values.h",
|
||
|
"send_zygote_child_ping_linux.h",
|
||
|
"service_manager_connection.h",
|
||
|
"service_worker_modes.h",
|
||
|
"simple_connection_filter.cc",
|
||
|
"simple_connection_filter.h",
|
||
|
"simple_url_loader.cc",
|
||
|
"simple_url_loader.h",
|
||
|
"socket_permission_request.h",
|
||
|
"speech_recognition_error.h",
|
||
|
"speech_recognition_grammar.h",
|
||
|
"speech_recognition_result.cc",
|
||
|
"speech_recognition_result.h",
|
||
|
"stop_find_action.h",
|
||
|
"storage_quota_params.h",
|
||
|
"three_d_api_types.h",
|
||
|
"url_constants.cc",
|
||
|
"url_constants.h",
|
||
|
"url_fetcher.h",
|
||
|
"url_loader_throttle.cc",
|
||
|
"url_loader_throttle.h",
|
||
|
"url_utils.cc",
|
||
|
"url_utils.h",
|
||
|
"user_agent.h",
|
||
|
"web_preferences.cc",
|
||
|
"web_preferences.h",
|
||
|
"webplugininfo.cc",
|
||
|
"webplugininfo.h",
|
||
|
"zygote_fork_delegate_linux.h",
|
||
|
"zygote_handle.h",
|
||
|
]
|
||
|
|
||
|
configs += [
|
||
|
"//build/config:precompiled_headers",
|
||
|
"//content:content_implementation",
|
||
|
]
|
||
|
|
||
|
public_configs = [ "//v8:external_startup_data" ]
|
||
|
|
||
|
public_deps = [
|
||
|
":interfaces",
|
||
|
":service_names",
|
||
|
"//content/common",
|
||
|
"//ipc",
|
||
|
"//mojo/edk/system",
|
||
|
"//mojo/public/cpp/bindings",
|
||
|
"//net",
|
||
|
"//services/service_manager/embedder",
|
||
|
"//services/service_manager/public/cpp",
|
||
|
"//services/service_manager/public/interfaces",
|
||
|
"//third_party/WebKit/public:blink_headers",
|
||
|
"//ui/accessibility",
|
||
|
"//ui/surface",
|
||
|
"//url/ipc:url_ipc",
|
||
|
]
|
||
|
deps = [
|
||
|
":content_descriptor_keys",
|
||
|
|
||
|
# This looks needless as we have //content/common in public_deps, but it's
|
||
|
# needed because of allow_circular_includes_from.
|
||
|
"//content/common:mojo_bindings",
|
||
|
"//media",
|
||
|
"//mojo/common",
|
||
|
"//ppapi/c",
|
||
|
"//ppapi/features",
|
||
|
"//services/network/public/interfaces:interfaces",
|
||
|
"//services/service_manager/public/cpp",
|
||
|
"//skia",
|
||
|
"//storage/common",
|
||
|
"//third_party/WebKit/common:blink_common",
|
||
|
"//third_party/icu",
|
||
|
"//ui/accessibility",
|
||
|
"//ui/base",
|
||
|
"//ui/gfx",
|
||
|
"//ui/gfx/ipc",
|
||
|
"//ui/gfx/ipc/color",
|
||
|
"//ui/gfx/ipc/geometry",
|
||
|
"//ui/gfx/ipc/skia",
|
||
|
]
|
||
|
|
||
|
if (use_aura) {
|
||
|
deps += [ "//ui/aura" ]
|
||
|
}
|
||
|
|
||
|
# //content/common needs to include public headers.
|
||
|
allow_circular_includes_from = [
|
||
|
":interfaces",
|
||
|
"//content/common",
|
||
|
"//content/common:mojo_bindings",
|
||
|
]
|
||
|
|
||
|
if (!enable_plugins) {
|
||
|
sources -= [
|
||
|
"pepper_plugin_info.cc",
|
||
|
"pepper_plugin_info.h",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
if (enable_webrtc) {
|
||
|
sources += [
|
||
|
"webrtc_ip_handling_policy.cc",
|
||
|
"webrtc_ip_handling_policy.h",
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
buildflag_header("features") {
|
||
|
header = "features.h"
|
||
|
|
||
|
flags = [ "RTC_USE_H264=$rtc_use_h264" ]
|
||
|
}
|
||
|
|
||
|
source_set("feature_h264_with_openh264_ffmpeg") {
|
||
|
deps = [
|
||
|
":features",
|
||
|
"//base",
|
||
|
]
|
||
|
sources = [
|
||
|
"feature_h264_with_openh264_ffmpeg.cc",
|
||
|
"feature_h264_with_openh264_ffmpeg.h",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
mojom("interfaces") {
|
||
|
# Must depend on //content/public/common/ instead, for component build.
|
||
|
visibility = [
|
||
|
":common_sources",
|
||
|
"//content/common/*",
|
||
|
]
|
||
|
|
||
|
sources = [
|
||
|
"download_stream.mojom",
|
||
|
"mutable_network_traffic_annotation_tag.mojom",
|
||
|
"network_service.mojom",
|
||
|
"network_service_test.mojom",
|
||
|
"push_messaging_status.mojom",
|
||
|
"url_loader.mojom",
|
||
|
"url_loader_factory.mojom",
|
||
|
"window_container_type.mojom",
|
||
|
]
|
||
|
|
||
|
public_deps = [
|
||
|
"//mojo/common:common_custom_types",
|
||
|
"//services/network/public/interfaces",
|
||
|
"//url/mojo:url_mojom_gurl",
|
||
|
"//url/mojo:url_mojom_origin",
|
||
|
]
|
||
|
|
||
|
component_output_prefix = "content_public_common_mojo_bindings"
|
||
|
export_class_attribute = "CONTENT_EXPORT"
|
||
|
export_define = "CONTENT_IMPLEMENTATION=1"
|
||
|
export_header = "content/common/content_export.h"
|
||
|
}
|
||
|
|
||
|
mojom("service_names") {
|
||
|
sources = [
|
||
|
"service_names.mojom",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
mojom("resource_type_bindings") {
|
||
|
sources = [
|
||
|
"resource_type.mojom",
|
||
|
]
|
||
|
}
|