diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/content/browser/webtransport | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/content/browser/webtransport')
-rw-r--r-- | chromium/content/browser/webtransport/quic_transport_connector_impl.cc | 42 | ||||
-rw-r--r-- | chromium/content/browser/webtransport/quic_transport_connector_impl.h | 9 |
2 files changed, 14 insertions, 37 deletions
diff --git a/chromium/content/browser/webtransport/quic_transport_connector_impl.cc b/chromium/content/browser/webtransport/quic_transport_connector_impl.cc index 98871672d00..be719a9509e 100644 --- a/chromium/content/browser/webtransport/quic_transport_connector_impl.cc +++ b/chromium/content/browser/webtransport/quic_transport_connector_impl.cc @@ -9,34 +9,6 @@ #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "net/quic/quic_transport_client.h" -namespace mojo { -// We cannot use type mapping due to a build error in iOS (see -// https://crrev.com/c/2189716/10 and -// https://cr-buildbucket.appspot.com/build/8880349779729215008). -// TODO(yhirano): Fix the build error and use type mapping. -template <> -struct TypeConverter<base::Optional<net::QuicTransportError>, - network::mojom::QuicTransportErrorPtr> { - static base::Optional<net::QuicTransportError> Convert( - const network::mojom::QuicTransportErrorPtr& in) { - if (!in) { - return base::nullopt; - } - if (in->net_error > 0 || in->quic_error < 0 || - in->quic_error >= quic::QUIC_LAST_ERROR) { - return base::nullopt; - } - auto out = base::make_optional<net::QuicTransportError>(); - out->net_error = in->net_error; - out->quic_error = static_cast<quic::QuicErrorCode>(in->quic_error); - out->details = in->details; - out->safe_to_report_details = in->safe_to_report_details; - return out; - } -}; - -} // namespace mojo - namespace content { namespace { @@ -59,15 +31,15 @@ class InterceptingHandshakeClient final : public QuicTransportHandshakeClient { override { remote_->OnConnectionEstablished(std::move(transport), std::move(client)); } - void OnHandshakeFailed(network::mojom::QuicTransportErrorPtr error) override { + void OnHandshakeFailed( + const base::Optional<net::QuicTransportError>& error) override { // Here we pass null because it is dangerous to pass the error details // to the initiator renderer. - remote_->OnHandshakeFailed(nullptr); + remote_->OnHandshakeFailed(base::nullopt); if (RenderFrameHostImpl* frame = frame_.get()) { - devtools_instrumentation::OnQuicTransportHandshakeFailed( - frame, url_, - mojo::ConvertTo<base::Optional<net::QuicTransportError>>(error)); + devtools_instrumentation::OnQuicTransportHandshakeFailed(frame, url_, + error); } } @@ -93,6 +65,8 @@ QuicTransportConnectorImpl::~QuicTransportConnectorImpl() = default; void QuicTransportConnectorImpl::Connect( const GURL& url, + std::vector<network::mojom::QuicTransportCertificateFingerprintPtr> + fingerprints, mojo::PendingRemote<network::mojom::QuicTransportHandshakeClient> handshake_client) { RenderProcessHost* process = RenderProcessHost::FromID(process_id_); @@ -110,7 +84,7 @@ void QuicTransportConnectorImpl::Connect( handshake_client_to_pass.InitWithNewPipeAndPassReceiver()); process->GetStoragePartition()->GetNetworkContext()->CreateQuicTransport( - url, origin_, network_isolation_key_, + url, origin_, network_isolation_key_, std::move(fingerprints), std::move(handshake_client_to_pass)); } diff --git a/chromium/content/browser/webtransport/quic_transport_connector_impl.h b/chromium/content/browser/webtransport/quic_transport_connector_impl.h index cd5a8c0e820..19ed30ecbe0 100644 --- a/chromium/content/browser/webtransport/quic_transport_connector_impl.h +++ b/chromium/content/browser/webtransport/quic_transport_connector_impl.h @@ -30,9 +30,12 @@ class QuicTransportConnectorImpl final const net::NetworkIsolationKey& network_isolation_key); ~QuicTransportConnectorImpl() override; - void Connect(const GURL& url, - mojo::PendingRemote<network::mojom::QuicTransportHandshakeClient> - handshake_client) override; + void Connect( + const GURL& url, + std::vector<network::mojom::QuicTransportCertificateFingerprintPtr> + fingerprints, + mojo::PendingRemote<network::mojom::QuicTransportHandshakeClient> + handshake_client) override; private: const int process_id_; |