diff --git a/DEPS b/DEPS index 361cbda9d4f17..369a24fa33095 100644 --- a/DEPS +++ b/DEPS @@ -1185,7 +1185,7 @@ deps = { Var('chromium_git') + '/external/github.com/google/gemmlowp.git' + '@' + '13d57703abca3005d97b19df1f2db731607a7dc2', 'src/third_party/grpc/src': { - 'url': Var('chromium_git') + '/external/github.com/grpc/grpc.git' + '@' + 'ee2b75e33740d1a88c0e2aeec1b14435e17a889e', + 'url': Var('chromium_git') + '/external/github.com/grpc/grpc.git' + '@' + 'd1338d8751231bdc0d87e732d25420e87d24cffd', }, 'src/third_party/freetype/src': diff --git a/third_party/abseil-cpp/BUILD.gn b/third_party/abseil-cpp/BUILD.gn index e71d98ab0e409..b9507264ea62f 100644 --- a/third_party/abseil-cpp/BUILD.gn +++ b/third_party/abseil-cpp/BUILD.gn @@ -73,6 +73,7 @@ group("absl_component_deps") { "//third_party/abseil-cpp/absl/debugging:stacktrace", "//third_party/abseil-cpp/absl/debugging:symbolize", "//third_party/abseil-cpp/absl/functional:bind_front", + "//third_party/abseil-cpp/absl/functional:function_ref", "//third_party/abseil-cpp/absl/hash", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/meta:type_traits", diff --git a/third_party/grpc/BUILD.gn b/third_party/grpc/BUILD.gn index d5595ae2dd6c4..74404b6093e26 100644 --- a/third_party/grpc/BUILD.gn +++ b/third_party/grpc/BUILD.gn @@ -209,6 +209,8 @@ source_set("grpc++_h") { "src/include/grpc/event_engine/memory_allocator.h", "src/include/grpc/event_engine/memory_request.h", "src/include/grpc/event_engine/port.h", + "src/include/grpc/event_engine/slice.h", + "src/include/grpc/event_engine/slice_buffer.h", "src/include/grpc/fork.h", "src/include/grpc/grpc.h", "src/include/grpc/grpc_posix.h", @@ -373,6 +375,7 @@ source_set("grpc++_h") { "src/include/grpcpp/support/time.h", "src/include/grpcpp/support/validate_service_config.h", "src/include/grpcpp/xds_server_builder.h", + "src/src/core/ext/filters/channel_idle/channel_idle_filter.h", "src/src/core/ext/filters/channel_idle/idle_filter_state.h", "src/src/core/ext/filters/client_channel/backend_metric.h", "src/src/core/ext/filters/client_channel/backup_poller.h", @@ -384,12 +387,12 @@ source_set("grpc++_h") { "src/src/core/ext/filters/client_channel/dynamic_filters.h", "src/src/core/ext/filters/client_channel/global_subchannel_pool.h", "src/src/core/ext/filters/client_channel/health/health_check_client.h", - "src/src/core/ext/filters/client_channel/http_connect_handshaker.h", "src/src/core/ext/filters/client_channel/http_proxy.h", "src/src/core/ext/filters/client_channel/lb_policy.h", "src/src/core/ext/filters/client_channel/lb_policy/address_filtering.h", "src/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h", "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h", + "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h", "src/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h", "src/src/core/ext/filters/client_channel/lb_policy_factory.h", "src/src/core/ext/filters/client_channel/lb_policy_registry.h", @@ -407,6 +410,7 @@ source_set("grpc++_h") { "src/src/core/ext/filters/client_channel/retry_throttle.h", "src/src/core/ext/filters/client_channel/subchannel.h", "src/src/core/ext/filters/client_channel/subchannel_interface.h", + "src/src/core/ext/filters/client_channel/subchannel_interface_internal.h", "src/src/core/ext/filters/client_channel/subchannel_pool_interface.h", "src/src/core/ext/filters/client_channel/subchannel_stream_client.h", "src/src/core/ext/filters/deadline/deadline_filter.h", @@ -605,6 +609,7 @@ source_set("grpc++_h") { "src/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h", "src/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h", "src/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h", + "src/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h", "src/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h", "src/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h", "src/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h", @@ -758,9 +763,6 @@ source_set("grpc++_h") { "src/src/core/lib/channel/channelz_registry.h", "src/src/core/lib/channel/connected_channel.h", "src/src/core/lib/channel/context.h", - "src/src/core/lib/channel/handshaker.h", - "src/src/core/lib/channel/handshaker_factory.h", - "src/src/core/lib/channel/handshaker_registry.h", "src/src/core/lib/channel/promise_based_filter.h", "src/src/core/lib/channel/status_util.h", "src/src/core/lib/compression/compression_internal.h", @@ -849,6 +851,7 @@ source_set("grpc++_h") { "src/src/core/lib/iomgr/internal_errqueue.h", "src/src/core/lib/iomgr/iocp_windows.h", "src/src/core/lib/iomgr/iomgr.h", + "src/src/core/lib/iomgr/iomgr_fwd.h", "src/src/core/lib/iomgr/iomgr_internal.h", "src/src/core/lib/iomgr/load_file.h", "src/src/core/lib/iomgr/lockfree_event.h", @@ -987,6 +990,7 @@ source_set("grpc++_h") { "src/src/core/lib/slice/b64.h", "src/src/core/lib/slice/percent_encoding.h", "src/src/core/lib/slice/slice.h", + "src/src/core/lib/slice/slice_buffer.h", "src/src/core/lib/slice/slice_internal.h", "src/src/core/lib/slice/slice_refcount.h", "src/src/core/lib/slice/slice_refcount_base.h", @@ -1010,11 +1014,16 @@ source_set("grpc++_h") { "src/src/core/lib/transport/byte_stream.h", "src/src/core/lib/transport/connectivity_state.h", "src/src/core/lib/transport/error_utils.h", + "src/src/core/lib/transport/handshaker.h", + "src/src/core/lib/transport/handshaker_factory.h", + "src/src/core/lib/transport/handshaker_registry.h", "src/src/core/lib/transport/http2_errors.h", + "src/src/core/lib/transport/http_connect_handshaker.h", "src/src/core/lib/transport/metadata_batch.h", "src/src/core/lib/transport/parsed_metadata.h", "src/src/core/lib/transport/pid_controller.h", "src/src/core/lib/transport/status_conversion.h", + "src/src/core/lib/transport/tcp_connect_handshaker.h", "src/src/core/lib/transport/timeout_encoding.h", "src/src/core/lib/transport/transport.h", "src/src/core/lib/transport/transport_impl.h", @@ -1101,12 +1110,12 @@ source_set("grpc++_cc") { "src/src/core/ext/filters/client_channel/dynamic_filters.cc", "src/src/core/ext/filters/client_channel/global_subchannel_pool.cc", "src/src/core/ext/filters/client_channel/health/health_check_client.cc", - "src/src/core/ext/filters/client_channel/http_connect_handshaker.cc", "src/src/core/ext/filters/client_channel/http_proxy.cc", "src/src/core/ext/filters/client_channel/lb_policy.cc", "src/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc", "src/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc", "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc", + "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc", "src/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc", "src/src/core/ext/filters/client_channel/lb_policy_registry.cc", "src/src/core/ext/filters/client_channel/local_subchannel_pool.cc", @@ -1316,6 +1325,7 @@ source_set("grpc++_cc") { "src/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c", "src/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c", "src/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c", + "src/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c", "src/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c", "src/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c", "src/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c", @@ -1444,8 +1454,6 @@ source_set("grpc++_cc") { "src/src/core/lib/channel/channelz.cc", "src/src/core/lib/channel/channelz_registry.cc", "src/src/core/lib/channel/connected_channel.cc", - "src/src/core/lib/channel/handshaker.cc", - "src/src/core/lib/channel/handshaker_registry.cc", "src/src/core/lib/channel/promise_based_filter.cc", "src/src/core/lib/channel/status_util.cc", "src/src/core/lib/compression/compression.cc", @@ -1460,6 +1468,8 @@ source_set("grpc++_cc") { "src/src/core/lib/event_engine/event_engine.cc", "src/src/core/lib/event_engine/memory_allocator.cc", "src/src/core/lib/event_engine/resolved_address.cc", + "src/src/core/lib/event_engine/slice.cc", + "src/src/core/lib/event_engine/slice_buffer.cc", "src/src/core/lib/event_engine/sockaddr.cc", "src/src/core/lib/gpr/alloc.cc", "src/src/core/lib/gpr/atm.cc", @@ -1672,9 +1682,8 @@ source_set("grpc++_cc") { "src/src/core/lib/service_config/service_config_impl.cc", "src/src/core/lib/slice/b64.cc", "src/src/core/lib/slice/percent_encoding.cc", - "src/src/core/lib/slice/slice.cc", "src/src/core/lib/slice/slice_api.cc", - "src/src/core/lib/slice/slice_buffer.cc", + "src/src/core/lib/slice/slice_buffer_api.cc", "src/src/core/lib/slice/slice_refcount.cc", "src/src/core/lib/slice/slice_split.cc", "src/src/core/lib/slice/slice_string_helpers.cc", @@ -1702,9 +1711,14 @@ source_set("grpc++_cc") { "src/src/core/lib/transport/byte_stream.cc", "src/src/core/lib/transport/connectivity_state.cc", "src/src/core/lib/transport/error_utils.cc", + "src/src/core/lib/transport/handshaker.cc", + "src/src/core/lib/transport/handshaker_registry.cc", + "src/src/core/lib/transport/http_connect_handshaker.cc", + "src/src/core/lib/transport/metadata_batch.cc", "src/src/core/lib/transport/parsed_metadata.cc", "src/src/core/lib/transport/pid_controller.cc", "src/src/core/lib/transport/status_conversion.cc", + "src/src/core/lib/transport/tcp_connect_handshaker.cc", "src/src/core/lib/transport/timeout_encoding.cc", "src/src/core/lib/transport/transport.cc", "src/src/core/lib/transport/transport_op_string.cc", @@ -1859,6 +1873,8 @@ source_set("grpc++_repeated1") { # "src/src/core/lib/security/authorization/matchers.cc", "src/src/core/lib/security/util/json_util.cc", "src/src/core/lib/service_config/service_config_parser.cc", + "src/src/core/lib/slice/slice.cc", + "src/src/core/lib/slice/slice_buffer.cc", "src/src/cpp/client/insecure_credentials.cc", # "src/src/cpp/client/xds_credentials.cc", @@ -2035,85 +2051,7 @@ source_set("cares") { sources = [ "src/third_party/cares/ares_build.h" ] if (enable_grpc_ares) { - sources += [ - "//third_party/cares/ares.h", - "//third_party/cares/ares__close_sockets.c", - "//third_party/cares/ares__get_hostent.c", - "//third_party/cares/ares__read_line.c", - "//third_party/cares/ares__timeval.c", - "//third_party/cares/ares_android.c", - "//third_party/cares/ares_android.h", - "//third_party/cares/ares_cancel.c", - "//third_party/cares/ares_create_query.c", - "//third_party/cares/ares_data.c", - "//third_party/cares/ares_data.h", - "//third_party/cares/ares_destroy.c", - "//third_party/cares/ares_dns.h", - "//third_party/cares/ares_expand_name.c", - "//third_party/cares/ares_expand_string.c", - "//third_party/cares/ares_fds.c", - "//third_party/cares/ares_free_hostent.c", - "//third_party/cares/ares_free_string.c", - "//third_party/cares/ares_getenv.c", - "//third_party/cares/ares_getenv.h", - "//third_party/cares/ares_gethostbyaddr.c", - "//third_party/cares/ares_gethostbyname.c", - "//third_party/cares/ares_getnameinfo.c", - "//third_party/cares/ares_getopt.c", - "//third_party/cares/ares_getopt.h", - "//third_party/cares/ares_getsock.c", - "//third_party/cares/ares_inet_net_pton.h", - "//third_party/cares/ares_init.c", - "//third_party/cares/ares_iphlpapi.h", - "//third_party/cares/ares_ipv6.h", - "//third_party/cares/ares_library_init.c", - "//third_party/cares/ares_library_init.h", - "//third_party/cares/ares_llist.c", - "//third_party/cares/ares_llist.h", - "//third_party/cares/ares_mkquery.c", - "//third_party/cares/ares_nowarn.c", - "//third_party/cares/ares_nowarn.h", - "//third_party/cares/ares_options.c", - "//third_party/cares/ares_parse_a_reply.c", - "//third_party/cares/ares_parse_aaaa_reply.c", - "//third_party/cares/ares_parse_mx_reply.c", - "//third_party/cares/ares_parse_naptr_reply.c", - "//third_party/cares/ares_parse_ns_reply.c", - "//third_party/cares/ares_parse_ptr_reply.c", - "//third_party/cares/ares_parse_soa_reply.c", - "//third_party/cares/ares_parse_srv_reply.c", - "//third_party/cares/ares_parse_txt_reply.c", - "//third_party/cares/ares_platform.c", - "//third_party/cares/ares_platform.h", - "//third_party/cares/ares_private.h", - "//third_party/cares/ares_process.c", - "//third_party/cares/ares_query.c", - "//third_party/cares/ares_rules.h", - "//third_party/cares/ares_search.c", - "//third_party/cares/ares_send.c", - "//third_party/cares/ares_setup.h", - "//third_party/cares/ares_strcasecmp.c", - "//third_party/cares/ares_strcasecmp.h", - "//third_party/cares/ares_strdup.c", - "//third_party/cares/ares_strdup.h", - "//third_party/cares/ares_strerror.c", - "//third_party/cares/ares_strsplit.c", - "//third_party/cares/ares_strsplit.h", - "//third_party/cares/ares_timeout.c", - "//third_party/cares/ares_version.c", - "//third_party/cares/ares_version.h", - "//third_party/cares/ares_writev.c", - "//third_party/cares/ares_writev.h", - "//third_party/cares/bitncmp.c", - "//third_party/cares/bitncmp.h", - "//third_party/cares/config-dos.h", - "//third_party/cares/config-win32.h", - "//third_party/cares/inet_net_pton.c", - "//third_party/cares/inet_ntop.c", - "//third_party/cares/nameser.h", - "//third_party/cares/setup_once.h", - "//third_party/cares/windows_port.c", - ] + sources += [] } if (is_android) { diff --git a/third_party/grpc/README.chromium b/third_party/grpc/README.chromium index 10db16e6bac9d..a088424577442 100644 --- a/third_party/grpc/README.chromium +++ b/third_party/grpc/README.chromium @@ -1,8 +1,8 @@ Name: grpc URL: https://github.com/grpc/grpc License: Apache 2.0 -Version: v1.46.0-dev -Revision: ee2b75e33740d1a88c0e2aeec1b14435e17a889e +Version: v1.47.0-dev +Revision: d1338d8751231bdc0d87e732d25420e87d24cffd Security Critical: yes Please note that that the use of gRPC is not generally allowed within Chromium. diff --git a/third_party/grpc/plugin_registry/grpc_plugin_registry.cc b/third_party/grpc/plugin_registry/grpc_plugin_registry.cc index 1d02456851438..e7c953a5012dd 100644 --- a/third_party/grpc/plugin_registry/grpc_plugin_registry.cc +++ b/third_party/grpc/plugin_registry/grpc_plugin_registry.cc @@ -26,6 +26,8 @@ #include "third_party/grpc/src/src/core/lib/config/core_configuration.h" #include "third_party/grpc/src/src/core/lib/surface/builtins.h" +#include "third_party/grpc/src/src/core/lib/transport/http_connect_handshaker.h" +#include "third_party/grpc/src/src/core/lib/transport/tcp_connect_handshaker.h" extern void grpc_register_extra_plugins(void); @@ -106,6 +108,11 @@ extern void RegisterBinderResolver(CoreConfiguration::Builder* builder); #endif void BuildCoreConfiguration(CoreConfiguration::Builder* builder) { + // The order of the handshaker registration is crucial here. + // We want TCP connect handshaker to be registered last so that it is added to + // the start of the handshaker list. + RegisterHttpConnectHandshaker(builder); + RegisterTCPConnectHandshaker(builder); BuildClientChannelConfiguration(builder); SecurityRegisterHandshakerFactories(builder); RegisterClientAuthorityFilter(builder);