#include "extensions/browser/api/web_request/web_request_proxying_webtransport.h"
#include <optional>
#include "base/memory/raw_ptr.h"
#include "base/memory/raw_ref.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/api/web_request/extension_web_request_event_router.h"
#include "extensions/browser/api/web_request/web_request_api.h"
#include "extensions/browser/api/web_request/web_request_info.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
#include "extensions/browser/extension_navigation_ui_data.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
#include "services/network/public/mojom/web_transport.mojom.h"
#include "url/gurl.h"
namespace extensions {
namespace {
WebTransportHandshakeClient;
CreateCallback;
net::HttpRequestHeaders GetRequestHeaders() { … }
class WebTransportHandshakeProxy : public WebRequestAPI::Proxy,
public WebTransportHandshakeClient { … };
}
void StartWebRequestProxyingWebTransport(
content::RenderProcessHost& render_process_host,
int frame_routing_id,
const GURL& url,
const url::Origin& initiator_origin,
mojo::PendingRemote<WebTransportHandshakeClient> handshake_client,
int64_t request_id,
WebRequestAPI::ProxySet& proxies,
content::ContentBrowserClient::WillCreateWebTransportCallback callback) { … }
}