Commit ac7f47a5 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert AuthenticationHandlerPtr to new Mojo types

This CL converts AuthenticationHandlerPtr to new Mojo types.
It updates CreateWebSocket from network_context.mojom and
methods and members with new Mojo types.

It also renames |binding_as_handshake_client_| to
|receiver_as_handshake_client_| from WebRequestProxyingWebSocket.

Bug: 955171, 978694
Change-Id: I211b7ed2f37fe18b4a60ba81839abf5f77548dba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1772901
Commit-Queue: Julie Kim <jkim@igalia.com>
Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#691538}
parent 9bc2ac12
...@@ -53,7 +53,7 @@ void WebSocketConnectorImpl::Connect( ...@@ -53,7 +53,7 @@ void WebSocketConnectorImpl::Connect(
process->GetStoragePartition()->GetNetworkContext()->CreateWebSocket( process->GetStoragePartition()->GetNetworkContext()->CreateWebSocket(
url, requested_protocols, site_for_cookies, std::move(headers), url, requested_protocols, site_for_cookies, std::move(headers),
process_id_, frame_id_, origin_, options, std::move(handshake_client), process_id_, frame_id_, origin_, options, std::move(handshake_client),
nullptr, mojo::NullRemote()); mojo::NullRemote(), mojo::NullRemote());
} }
void WebSocketConnectorImpl::ConnectCalledByContentBrowserClient( void WebSocketConnectorImpl::ConnectCalledByContentBrowserClient(
...@@ -67,7 +67,7 @@ void WebSocketConnectorImpl::ConnectCalledByContentBrowserClient( ...@@ -67,7 +67,7 @@ void WebSocketConnectorImpl::ConnectCalledByContentBrowserClient(
std::vector<network::mojom::HttpHeaderPtr> additional_headers, std::vector<network::mojom::HttpHeaderPtr> additional_headers,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient> mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client, handshake_client,
network::mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<network::mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<network::mojom::TrustedHeaderClient> mojo::PendingRemote<network::mojom::TrustedHeaderClient>
trusted_header_client) { trusted_header_client) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
...@@ -80,4 +80,5 @@ void WebSocketConnectorImpl::ConnectCalledByContentBrowserClient( ...@@ -80,4 +80,5 @@ void WebSocketConnectorImpl::ConnectCalledByContentBrowserClient(
process_id, frame_id, origin, options, std::move(handshake_client), process_id, frame_id, origin, options, std::move(handshake_client),
std::move(auth_handler), std::move(trusted_header_client)); std::move(auth_handler), std::move(trusted_header_client));
} }
} // namespace content } // namespace content
...@@ -53,7 +53,7 @@ class WebSocketConnectorImpl final : public blink::mojom::WebSocketConnector { ...@@ -53,7 +53,7 @@ class WebSocketConnectorImpl final : public blink::mojom::WebSocketConnector {
std::vector<network::mojom::HttpHeaderPtr> additional_headers, std::vector<network::mojom::HttpHeaderPtr> additional_headers,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient> mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>
handshake_client, handshake_client,
network::mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<network::mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<network::mojom::TrustedHeaderClient> mojo::PendingRemote<network::mojom::TrustedHeaderClient>
trusted_header_client); trusted_header_client);
......
...@@ -1278,7 +1278,7 @@ class CONTENT_EXPORT ContentBrowserClient { ...@@ -1278,7 +1278,7 @@ class CONTENT_EXPORT ContentBrowserClient {
const GURL& /* url */, const GURL& /* url */,
std::vector<network::mojom::HttpHeaderPtr> /* additional_headers */, std::vector<network::mojom::HttpHeaderPtr> /* additional_headers */,
mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>, mojo::PendingRemote<network::mojom::WebSocketHandshakeClient>,
network::mojom::AuthenticationHandlerPtr, mojo::PendingRemote<network::mojom::AuthenticationHandler>,
mojo::PendingRemote<network::mojom::TrustedHeaderClient>)>; mojo::PendingRemote<network::mojom::TrustedHeaderClient>)>;
// Allows the embedder to intercept a WebSocket connection. This is called // Allows the embedder to intercept a WebSocket connection. This is called
......
...@@ -57,7 +57,6 @@ WebRequestProxyingWebSocket::WebRequestProxyingWebSocket( ...@@ -57,7 +57,6 @@ WebRequestProxyingWebSocket::WebRequestProxyingWebSocket(
: factory_(std::move(factory)), : factory_(std::move(factory)),
browser_context_(browser_context), browser_context_(browser_context),
forwarding_handshake_client_(std::move(handshake_client)), forwarding_handshake_client_(std::move(handshake_client)),
binding_as_auth_handler_(this),
request_headers_(request.headers), request_headers_(request.headers),
has_extra_headers_(has_extra_headers), has_extra_headers_(has_extra_headers),
info_(WebRequestInfoInitParams(request_id_generator->Generate(), info_(WebRequestInfoInitParams(request_id_generator->Generate(),
...@@ -307,7 +306,7 @@ void WebRequestProxyingWebSocket::StartProxying( ...@@ -307,7 +306,7 @@ void WebRequestProxyingWebSocket::StartProxying(
void WebRequestProxyingWebSocket::OnBeforeRequestComplete(int error_code) { void WebRequestProxyingWebSocket::OnBeforeRequestComplete(int error_code) {
DCHECK(receiver_as_header_client_.is_bound() || DCHECK(receiver_as_header_client_.is_bound() ||
!binding_as_handshake_client_.is_bound()); !receiver_as_handshake_client_.is_bound());
DCHECK(info_.url.SchemeIsWSOrWSS()); DCHECK(info_.url.SchemeIsWSOrWSS());
if (error_code != net::OK) { if (error_code != net::OK) {
OnError(error_code); OnError(error_code);
...@@ -340,7 +339,7 @@ void WebRequestProxyingWebSocket::OnBeforeSendHeadersComplete( ...@@ -340,7 +339,7 @@ void WebRequestProxyingWebSocket::OnBeforeSendHeadersComplete(
const std::set<std::string>& set_headers, const std::set<std::string>& set_headers,
int error_code) { int error_code) {
DCHECK(receiver_as_header_client_.is_bound() || DCHECK(receiver_as_header_client_.is_bound() ||
!binding_as_handshake_client_.is_bound()); !receiver_as_handshake_client_.is_bound());
if (error_code != net::OK) { if (error_code != net::OK) {
OnError(error_code); OnError(error_code);
return; return;
...@@ -374,8 +373,6 @@ void WebRequestProxyingWebSocket::ContinueToStartRequest(int error_code) { ...@@ -374,8 +373,6 @@ void WebRequestProxyingWebSocket::ContinueToStartRequest(int error_code) {
} }
} }
network::mojom::AuthenticationHandlerPtr auth_handler;
binding_as_auth_handler_.Bind(mojo::MakeRequest(&auth_handler));
mojo::PendingRemote<network::mojom::TrustedHeaderClient> mojo::PendingRemote<network::mojom::TrustedHeaderClient>
trusted_header_client = mojo::NullRemote(); trusted_header_client = mojo::NullRemote();
if (has_extra_headers_) { if (has_extra_headers_) {
...@@ -385,13 +382,14 @@ void WebRequestProxyingWebSocket::ContinueToStartRequest(int error_code) { ...@@ -385,13 +382,14 @@ void WebRequestProxyingWebSocket::ContinueToStartRequest(int error_code) {
std::move(factory_).Run( std::move(factory_).Run(
info_.url, std::move(additional_headers), info_.url, std::move(additional_headers),
binding_as_handshake_client_.BindNewPipeAndPassRemote(), receiver_as_handshake_client_.BindNewPipeAndPassRemote(),
std::move(auth_handler), std::move(trusted_header_client)); receiver_as_auth_handler_.BindNewPipeAndPassRemote(),
std::move(trusted_header_client));
// Here we detect mojo connection errors on |binding_as_handshake_client_|. // Here we detect mojo connection errors on |receiver_as_handshake_client_|.
// See also CreateWebSocket in // See also CreateWebSocket in
// //network/services/public/mojom/network_context.mojom. // //network/services/public/mojom/network_context.mojom.
binding_as_handshake_client_.set_disconnect_with_reason_handler( receiver_as_handshake_client_.set_disconnect_with_reason_handler(
base::BindOnce(&WebRequestProxyingWebSocket::OnMojoConnectionError, base::BindOnce(&WebRequestProxyingWebSocket::OnMojoConnectionError,
base::Unretained(this))); base::Unretained(this)));
} }
...@@ -463,15 +461,15 @@ void WebRequestProxyingWebSocket::OnHeadersReceivedCompleteForAuth( ...@@ -463,15 +461,15 @@ void WebRequestProxyingWebSocket::OnHeadersReceivedCompleteForAuth(
} }
void WebRequestProxyingWebSocket::PauseIncomingMethodCallProcessing() { void WebRequestProxyingWebSocket::PauseIncomingMethodCallProcessing() {
binding_as_handshake_client_.Pause(); receiver_as_handshake_client_.Pause();
binding_as_auth_handler_.PauseIncomingMethodCallProcessing(); receiver_as_auth_handler_.Pause();
if (receiver_as_header_client_.is_bound()) if (receiver_as_header_client_.is_bound())
receiver_as_header_client_.Pause(); receiver_as_header_client_.Pause();
} }
void WebRequestProxyingWebSocket::ResumeIncomingMethodCallProcessing() { void WebRequestProxyingWebSocket::ResumeIncomingMethodCallProcessing() {
binding_as_handshake_client_.Resume(); receiver_as_handshake_client_.Resume();
binding_as_auth_handler_.ResumeIncomingMethodCallProcessing(); receiver_as_auth_handler_.Resume();
if (receiver_as_header_client_.is_bound()) if (receiver_as_header_client_.is_bound())
receiver_as_header_client_.Resume(); receiver_as_header_client_.Resume();
} }
......
...@@ -121,8 +121,9 @@ class WebRequestProxyingWebSocket ...@@ -121,8 +121,9 @@ class WebRequestProxyingWebSocket
mojo::Remote<network::mojom::WebSocketHandshakeClient> mojo::Remote<network::mojom::WebSocketHandshakeClient>
forwarding_handshake_client_; forwarding_handshake_client_;
mojo::Receiver<network::mojom::WebSocketHandshakeClient> mojo::Receiver<network::mojom::WebSocketHandshakeClient>
binding_as_handshake_client_{this}; receiver_as_handshake_client_{this};
mojo::Binding<network::mojom::AuthenticationHandler> binding_as_auth_handler_; mojo::Receiver<network::mojom::AuthenticationHandler>
receiver_as_auth_handler_{this};
mojo::Receiver<network::mojom::TrustedHeaderClient> mojo::Receiver<network::mojom::TrustedHeaderClient>
receiver_as_header_client_{this}; receiver_as_header_client_{this};
......
...@@ -1250,7 +1250,7 @@ void NetworkContext::CreateWebSocket( ...@@ -1250,7 +1250,7 @@ void NetworkContext::CreateWebSocket(
const url::Origin& origin, const url::Origin& origin,
uint32_t options, uint32_t options,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) { mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) {
#if !defined(OS_IOS) #if !defined(OS_IOS)
if (!websocket_factory_) if (!websocket_factory_)
......
...@@ -272,7 +272,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext ...@@ -272,7 +272,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const url::Origin& origin, const url::Origin& origin,
uint32_t options, uint32_t options,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override; mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override;
void CreateNetLogExporter(mojom::NetLogExporterRequest request) override; void CreateNetLogExporter(mojom::NetLogExporterRequest request) override;
void ResolveHost(const net::HostPortPair& host, void ResolveHost(const net::HostPortPair& host,
......
...@@ -998,7 +998,7 @@ interface NetworkContext { ...@@ -998,7 +998,7 @@ interface NetworkContext {
url.mojom.Origin origin, url.mojom.Origin origin,
uint32 options, uint32 options,
pending_remote<WebSocketHandshakeClient> handshake_client, pending_remote<WebSocketHandshakeClient> handshake_client,
AuthenticationHandler? auth_handler, pending_remote<AuthenticationHandler>? auth_handler,
pending_remote<TrustedHeaderClient>? header_client); pending_remote<TrustedHeaderClient>? header_client);
// Create a NetLogExporter, which helps export NetLog to an existing file. // Create a NetLogExporter, which helps export NetLog to an existing file.
......
...@@ -149,7 +149,7 @@ class TestNetworkContext : public mojom::NetworkContext { ...@@ -149,7 +149,7 @@ class TestNetworkContext : public mojom::NetworkContext {
const url::Origin& origin, const url::Origin& origin,
uint32_t options, uint32_t options,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override {} mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override {}
void LookUpProxyForURL( void LookUpProxyForURL(
const GURL& url, const GURL& url,
......
...@@ -188,7 +188,7 @@ void WebSocket::WebSocketEventHandler::OnAddChannelResponse( ...@@ -188,7 +188,7 @@ void WebSocket::WebSocketEventHandler::OnAddChannelResponse(
std::move(websocket_to_pass), impl_->client_.BindNewPipeAndPassReceiver(), std::move(websocket_to_pass), impl_->client_.BindNewPipeAndPassReceiver(),
selected_protocol, extensions, std::move(readable)); selected_protocol, extensions, std::move(readable));
impl_->handshake_client_.reset(); impl_->handshake_client_.reset();
impl_->auth_handler_ = nullptr; impl_->auth_handler_.reset();
impl_->header_client_.reset(); impl_->header_client_.reset();
impl_->client_.set_disconnect_handler(base::BindOnce( impl_->client_.set_disconnect_handler(base::BindOnce(
&WebSocket::OnConnectionError, base::Unretained(impl_), FROM_HERE)); &WebSocket::OnConnectionError, base::Unretained(impl_), FROM_HERE));
...@@ -374,7 +374,7 @@ WebSocket::WebSocket( ...@@ -374,7 +374,7 @@ WebSocket::WebSocket(
uint32_t options, uint32_t options,
HasRawHeadersAccess has_raw_headers_access, HasRawHeadersAccess has_raw_headers_access,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client, mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
WebSocketThrottler::PendingConnection pending_connection_tracker, WebSocketThrottler::PendingConnection pending_connection_tracker,
base::TimeDelta delay) base::TimeDelta delay)
...@@ -397,7 +397,7 @@ WebSocket::WebSocket( ...@@ -397,7 +397,7 @@ WebSocket::WebSocket(
if (auth_handler_) { if (auth_handler_) {
// Make sure the request dies if |auth_handler_| has an error, otherwise // Make sure the request dies if |auth_handler_| has an error, otherwise
// requests can hang. // requests can hang.
auth_handler_.set_connection_error_handler(base::BindOnce( auth_handler_.set_disconnect_handler(base::BindOnce(
&WebSocket::OnConnectionError, base::Unretained(this), FROM_HERE)); &WebSocket::OnConnectionError, base::Unretained(this), FROM_HERE));
} }
if (header_client_) { if (header_client_) {
...@@ -691,7 +691,7 @@ void WebSocket::OnHeadersReceivedComplete( ...@@ -691,7 +691,7 @@ void WebSocket::OnHeadersReceivedComplete(
void WebSocket::Reset() { void WebSocket::Reset() {
handshake_client_.reset(); handshake_client_.reset();
client_.reset(); client_.reset();
auth_handler_ = nullptr; auth_handler_.reset();
header_client_.reset(); header_client_.reset();
binding_.Close(); binding_.Close();
......
...@@ -58,7 +58,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) WebSocket : public mojom::WebSocket { ...@@ -58,7 +58,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) WebSocket : public mojom::WebSocket {
uint32_t options, uint32_t options,
HasRawHeadersAccess has_raw_cookie_access, HasRawHeadersAccess has_raw_cookie_access,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client, mojo::PendingRemote<mojom::TrustedHeaderClient> header_client,
WebSocketThrottler::PendingConnection pending_connection_tracker, WebSocketThrottler::PendingConnection pending_connection_tracker,
base::TimeDelta delay); base::TimeDelta delay);
...@@ -152,7 +152,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) WebSocket : public mojom::WebSocket { ...@@ -152,7 +152,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) WebSocket : public mojom::WebSocket {
mojo::Remote<mojom::WebSocketHandshakeClient> handshake_client_; mojo::Remote<mojom::WebSocketHandshakeClient> handshake_client_;
mojo::Remote<mojom::WebSocketClient> client_; mojo::Remote<mojom::WebSocketClient> client_;
mojom::AuthenticationHandlerPtr auth_handler_; mojo::Remote<mojom::AuthenticationHandler> auth_handler_;
mojo::Remote<mojom::TrustedHeaderClient> header_client_; mojo::Remote<mojom::TrustedHeaderClient> header_client_;
WebSocketThrottler::PendingConnection pending_connection_tracker_; WebSocketThrottler::PendingConnection pending_connection_tracker_;
......
...@@ -30,7 +30,7 @@ void WebSocketFactory::CreateWebSocket( ...@@ -30,7 +30,7 @@ void WebSocketFactory::CreateWebSocket(
const url::Origin& origin, const url::Origin& origin,
uint32_t options, uint32_t options,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) { mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) {
if (throttler_.HasTooManyPendingConnections(process_id)) { if (throttler_.HasTooManyPendingConnections(process_id)) {
// Too many websockets! // Too many websockets!
......
...@@ -46,7 +46,7 @@ class WebSocketFactory final { ...@@ -46,7 +46,7 @@ class WebSocketFactory final {
const url::Origin& origin, const url::Origin& origin,
uint32_t options, uint32_t options,
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojom::AuthenticationHandlerPtr auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client); mojo::PendingRemote<mojom::TrustedHeaderClient> header_client);
// Returns a URLRequestContext associated with this factory. // Returns a URLRequestContext associated with this factory.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment