Include googleurl via a proxy header
This allows us to apply pragmas / change paths more easily.
PiperOrigin-RevId: 576173302
diff --git a/build/source_list.bzl b/build/source_list.bzl
index a766578..1038ec4 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -20,6 +20,7 @@
"common/platform/api/quiche_export.h",
"common/platform/api/quiche_flag_utils.h",
"common/platform/api/quiche_flags.h",
+ "common/platform/api/quiche_googleurl.h",
"common/platform/api/quiche_header_policy.h",
"common/platform/api/quiche_hostname_utils.h",
"common/platform/api/quiche_iovec.h",
@@ -1398,6 +1399,7 @@
"common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"common/platform/default/quiche_platform_impl/quiche_flag_utils_impl.h",
"common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
+ "common/platform/default/quiche_platform_impl/quiche_googleurl_impl.h",
"common/platform/default/quiche_platform_impl/quiche_header_policy_impl.h",
"common/platform/default/quiche_platform_impl/quiche_iovec_impl.h",
"common/platform/default/quiche_platform_impl/quiche_logging_impl.h",
diff --git a/build/source_list.gni b/build/source_list.gni
index 02e1e64..ad82d4d 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -20,6 +20,7 @@
"src/quiche/common/platform/api/quiche_export.h",
"src/quiche/common/platform/api/quiche_flag_utils.h",
"src/quiche/common/platform/api/quiche_flags.h",
+ "src/quiche/common/platform/api/quiche_googleurl.h",
"src/quiche/common/platform/api/quiche_header_policy.h",
"src/quiche/common/platform/api/quiche_hostname_utils.h",
"src/quiche/common/platform/api/quiche_iovec.h",
@@ -1402,6 +1403,7 @@
"src/quiche/common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_flag_utils_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
+ "src/quiche/common/platform/default/quiche_platform_impl/quiche_googleurl_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_header_policy_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h",
"src/quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h",
diff --git a/build/source_list.json b/build/source_list.json
index e90f14c..3e2d6f3 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -19,6 +19,7 @@
"quiche/common/platform/api/quiche_export.h",
"quiche/common/platform/api/quiche_flag_utils.h",
"quiche/common/platform/api/quiche_flags.h",
+ "quiche/common/platform/api/quiche_googleurl.h",
"quiche/common/platform/api/quiche_header_policy.h",
"quiche/common/platform/api/quiche_hostname_utils.h",
"quiche/common/platform/api/quiche_iovec.h",
@@ -1401,6 +1402,7 @@
"quiche/common/platform/default/quiche_platform_impl/quiche_export_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_flag_utils_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
+ "quiche/common/platform/default/quiche_platform_impl/quiche_googleurl_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_header_policy_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_iovec_impl.h",
"quiche/common/platform/default/quiche_platform_impl/quiche_logging_impl.h",
diff --git a/quiche/BUILD.bazel b/quiche/BUILD.bazel
index 201493e..23fa287 100644
--- a/quiche/BUILD.bazel
+++ b/quiche/BUILD.bazel
@@ -222,17 +222,16 @@
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_absl//absl/types:variant",
- "@com_google_googleurl//url",
"@com_google_quic_trace//quic_trace:quic_trace_cc_proto",
"@zlib",
],
)
cc_library(
- name = "balsa",
- srcs = balsa_srcs,
- hdrs = balsa_hdrs,
- deps = [
+ name = "balsa",
+ srcs = balsa_srcs,
+ hdrs = balsa_hdrs,
+ deps = [
":quiche_core",
"@com_google_absl//absl/algorithm:container",
"@com_google_absl//absl/base:core_headers",
@@ -244,7 +243,7 @@
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_absl//absl/types:variant",
- ],
+ ],
)
cc_library(
@@ -267,7 +266,6 @@
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_googletest//:gtest",
- "@com_google_googleurl//url",
],
)
@@ -293,7 +291,6 @@
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_googletest//:gtest",
- "@com_google_googleurl//url",
],
)
@@ -380,7 +377,6 @@
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_googletest//:gtest_main",
- "@com_google_googleurl//url",
],
)
@@ -406,7 +402,6 @@
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_absl//absl/types:variant",
- "@com_google_googleurl//url",
],
)
@@ -436,7 +431,6 @@
"@com_google_absl//absl/types:span",
"@com_google_absl//absl/types:variant",
"@com_google_googletest//:gtest",
- "@com_google_googleurl//url",
],
)
@@ -478,7 +472,6 @@
"@com_google_absl//absl/types:variant",
"@com_google_googletest//:gtest",
"@com_google_googletest//:gtest_main",
- "@com_google_googleurl//url",
],
)
@@ -538,7 +531,6 @@
":quiche_core",
":quiche_tool_support",
"@com_google_absl//absl/strings",
- "@com_google_googleurl//url",
],
)
@@ -569,7 +561,6 @@
"@com_google_absl//absl/status",
"@com_google_absl//absl/status:statusor",
"@com_google_absl//absl/strings",
- "@com_google_googleurl//url",
],
)
diff --git a/quiche/common/platform/api/quiche_googleurl.h b/quiche/common/platform/api/quiche_googleurl.h
new file mode 100644
index 0000000..768fc69
--- /dev/null
+++ b/quiche/common/platform/api/quiche_googleurl.h
@@ -0,0 +1,10 @@
+// Copyright 2023 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.
+
+#ifndef QUICHE_COMMON_PLATFORM_API_QUICHE_GOOGLEURL_H_
+#define QUICHE_COMMON_PLATFORM_API_QUICHE_GOOGLEURL_H_
+
+#include "quiche_platform_impl/quiche_googleurl_impl.h" // IWYU pragma: export
+
+#endif // QUICHE_COMMON_PLATFORM_API_QUICHE_GOOGLEURL_H_
diff --git a/quiche/common/platform/api/quiche_hostname_utils.cc b/quiche/common/platform/api/quiche_hostname_utils.cc
index 19ac83e..c17cb62 100644
--- a/quiche/common/platform/api/quiche_hostname_utils.cc
+++ b/quiche/common/platform/api/quiche_hostname_utils.cc
@@ -7,8 +7,7 @@
#include <string>
#include "absl/strings/string_view.h"
-#include "url/url_canon.h"
-#include "url/url_canon_stdstring.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_logging.h"
namespace quiche {
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_googleurl_impl.h b/quiche/common/platform/default/quiche_platform_impl/quiche_googleurl_impl.h
new file mode 100644
index 0000000..d285add
--- /dev/null
+++ b/quiche/common/platform/default/quiche_platform_impl/quiche_googleurl_impl.h
@@ -0,0 +1,11 @@
+#ifndef QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_GOOGLEURL_IMPL_H_
+#define QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_GOOGLEURL_IMPL_H_
+
+#include "url/gurl.h"
+#include "url/third_party/mozilla/url_parse.h"
+#include "url/url_canon.h"
+#include "url/url_canon_stdstring.h"
+#include "url/url_constants.h"
+#include "url/url_util.h"
+
+#endif // QUICHE_COMMON_PLATFORM_DEFAULT_QUICHE_PLATFORM_IMPL_QUICHE_GOOGLEURL_IMPL_H_
diff --git a/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc b/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc
index 68e4a5e..d707145 100644
--- a/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc
+++ b/quiche/common/platform/default/quiche_platform_impl/quiche_url_utils_impl.cc
@@ -9,14 +9,13 @@
#include <limits>
#include <string>
+#include "quiche_platform_impl/quiche_googleurl_impl.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_replace.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
-#include "url/url_canon.h"
-#include "url/url_util.h"
namespace quiche {
diff --git a/quiche/common/test_tools/quiche_test_utils.cc b/quiche/common/test_tools/quiche_test_utils.cc
index 6470786..0d8f264 100644
--- a/quiche/common/test_tools/quiche_test_utils.cc
+++ b/quiche/common/test_tools/quiche_test_utils.cc
@@ -6,7 +6,7 @@
#include <string>
-#include "url/gurl.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_logging.h"
#include "quiche/common/platform/api/quiche_test.h"
diff --git a/quiche/quic/core/quic_server_id.cc b/quiche/quic/core/quic_server_id.cc
index 17233ff..45849f5 100644
--- a/quiche/quic/core/quic_server_id.cc
+++ b/quiche/quic/core/quic_server_id.cc
@@ -12,7 +12,7 @@
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
-#include "url/third_party/mozilla/url_parse.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_logging.h"
namespace quic {
diff --git a/quiche/quic/masque/masque_client_bin.cc b/quiche/quic/masque/masque_client_bin.cc
index df74217..7a6acad 100644
--- a/quiche/quic/masque/masque_client_bin.cc
+++ b/quiche/quic/masque/masque_client_bin.cc
@@ -12,7 +12,6 @@
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
-#include "url/third_party/mozilla/url_parse.h"
#include "quiche/quic/core/io/quic_default_event_loop.h"
#include "quiche/quic/core/io/quic_event_loop.h"
#include "quiche/quic/core/quic_default_clock.h"
@@ -26,6 +25,7 @@
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/quic/tools/fake_proof_verifier.h"
#include "quiche/common/platform/api/quiche_command_line_flags.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_system_event_loop.h"
DEFINE_QUICHE_COMMAND_LINE_FLAG(
diff --git a/quiche/quic/masque/masque_client_session.cc b/quiche/quic/masque/masque_client_session.cc
index c55f98e..57f26d1 100644
--- a/quiche/quic/masque/masque_client_session.cc
+++ b/quiche/quic/masque/masque_client_session.cc
@@ -12,7 +12,6 @@
#include "absl/container/flat_hash_set.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
-#include "url/url_canon.h"
#include "quiche/quic/core/http/spdy_utils.h"
#include "quiche/quic/core/quic_data_reader.h"
#include "quiche/quic/core/quic_data_writer.h"
@@ -20,6 +19,7 @@
#include "quiche/quic/masque/masque_utils.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/quic/tools/quic_url.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_url_utils.h"
#include "quiche/spdy/core/http2_header_block.h"
diff --git a/quiche/quic/tools/connect_udp_tunnel.cc b/quiche/quic/tools/connect_udp_tunnel.cc
index 96612fc..d92f63b 100644
--- a/quiche/quic/tools/connect_udp_tunnel.cc
+++ b/quiche/quic/tools/connect_udp_tunnel.cc
@@ -18,7 +18,6 @@
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "absl/types/span.h"
-#include "url/url_canon.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/quic_server_id.h"
#include "quiche/quic/core/socket_factory.h"
@@ -27,6 +26,7 @@
#include "quiche/quic/tools/quic_name_lookup.h"
#include "quiche/quic/tools/quic_simple_server_backend.h"
#include "quiche/common/masque/connect_udp_datagram_payload.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_logging.h"
#include "quiche/common/platform/api/quiche_mem_slice.h"
#include "quiche/common/platform/api/quiche_url_utils.h"
diff --git a/quiche/quic/tools/connect_udp_tunnel_test.cc b/quiche/quic/tools/connect_udp_tunnel_test.cc
index 9d7e88c..9df94a9 100644
--- a/quiche/quic/tools/connect_udp_tunnel_test.cc
+++ b/quiche/quic/tools/connect_udp_tunnel_test.cc
@@ -11,8 +11,6 @@
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
-#include "url/url_canon_stdstring.h"
-#include "url/url_util.h"
#include "quiche/quic/core/connecting_client_socket.h"
#include "quiche/quic/core/http/quic_spdy_stream.h"
#include "quiche/quic/core/quic_connection_id.h"
@@ -24,6 +22,7 @@
#include "quiche/quic/test_tools/quic_test_utils.h"
#include "quiche/quic/tools/quic_simple_server_backend.h"
#include "quiche/common/masque/connect_udp_datagram_payload.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_mem_slice.h"
#include "quiche/common/platform/api/quiche_test.h"
diff --git a/quiche/quic/tools/quic_url.h b/quiche/quic/tools/quic_url.h
index 78b21ec..b86c836 100644
--- a/quiche/quic/tools/quic_url.h
+++ b/quiche/quic/tools/quic_url.h
@@ -8,8 +8,8 @@
#include <string>
#include "absl/strings/string_view.h"
-#include "url/gurl.h"
#include "quiche/quic/platform/api/quic_export.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
namespace quic {
diff --git a/quiche/quic/tools/web_transport_test_server.cc b/quiche/quic/tools/web_transport_test_server.cc
index 3e974e6..3ba29a3 100644
--- a/quiche/quic/tools/web_transport_test_server.cc
+++ b/quiche/quic/tools/web_transport_test_server.cc
@@ -8,7 +8,6 @@
#include "absl/status/statusor.h"
#include "absl/strings/numbers.h"
#include "absl/strings/string_view.h"
-#include "url/third_party/mozilla/url_parse.h"
#include "quiche/quic/core/quic_error_codes.h"
#include "quiche/quic/core/web_transport_interface.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
@@ -18,6 +17,7 @@
#include "quiche/quic/tools/web_transport_test_visitors.h"
#include "quiche/common/platform/api/quiche_command_line_flags.h"
#include "quiche/common/platform/api/quiche_default_proof_providers.h"
+#include "quiche/common/platform/api/quiche_googleurl.h"
#include "quiche/common/platform/api/quiche_logging.h"
#include "quiche/common/platform/api/quiche_system_event_loop.h"
#include "quiche/common/quiche_random.h"