diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-04 17:47:21 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-04-07 10:17:37 +0200 |
commit | 2893bc8f0b6432b9b1c686a93cdca94a36418308 (patch) | |
tree | f3113ca4b73b4f3caab57a4776602fbe0b0d6755 /src/core/net | |
parent | 98bbdd3330171332c8b73aa5329d24e7780c4661 (diff) |
Adaptations for Chromium 80
Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/net')
8 files changed, 54 insertions, 50 deletions
diff --git a/src/core/net/custom_url_loader_factory.cpp b/src/core/net/custom_url_loader_factory.cpp index a96b35696..e5f580536 100644 --- a/src/core/net/custom_url_loader_factory.cpp +++ b/src/core/net/custom_url_loader_factory.cpp @@ -441,12 +441,12 @@ public: ~CustomURLLoaderFactory() override = default; // network::mojom::URLLoaderFactory: - void CreateLoaderAndStart(network::mojom::URLLoaderRequest loader, + void CreateLoaderAndStart(mojo::PendingReceiver<network::mojom::URLLoader> loader, int32_t routing_id, int32_t request_id, uint32_t options, const network::ResourceRequest &request, - network::mojom::URLLoaderClientPtr client, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, const net::MutableNetworkTrafficAnnotationTag &traffic_annotation) override { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); @@ -457,7 +457,7 @@ public: m_taskRunner->PostTask(FROM_HERE, base::BindOnce(&CustomURLLoader::CreateAndStart, request, - std::move(loader), client.PassInterface(), + std::move(loader), std::move(client), m_profileAdapter)); } diff --git a/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp b/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp index 2b6158f4a..d854a556c 100644 --- a/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp +++ b/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp @@ -104,7 +104,7 @@ PluginResponseInterceptorURLLoaderThrottle::PluginResponseInterceptorURLLoaderTh {} void PluginResponseInterceptorURLLoaderThrottle::WillProcessResponse(const GURL &response_url, - network::ResourceResponseHead *response_head, + network::mojom::URLResponseHead *response_head, bool *defer) { Q_UNUSED(defer); diff --git a/src/core/net/plugin_response_interceptor_url_loader_throttle.h b/src/core/net/plugin_response_interceptor_url_loader_throttle.h index 1fc9e654f..7b9db6490 100644 --- a/src/core/net/plugin_response_interceptor_url_loader_throttle.h +++ b/src/core/net/plugin_response_interceptor_url_loader_throttle.h @@ -61,7 +61,7 @@ public: private: // content::URLLoaderThrottle overrides; - void WillProcessResponse(const GURL &response_url, network::ResourceResponseHead *response_head, bool *defer) override; + void WillProcessResponse(const GURL &response_url, network::mojom::URLResponseHead *response_head, bool *defer) override; content::ResourceContext *m_resource_context = nullptr; content::BrowserContext *m_browser_context = nullptr; diff --git a/src/core/net/proxying_url_loader_factory_qt.cpp b/src/core/net/proxying_url_loader_factory_qt.cpp index 4931bb3e3..71f710737 100644 --- a/src/core/net/proxying_url_loader_factory_qt.cpp +++ b/src/core/net/proxying_url_loader_factory_qt.cpp @@ -97,8 +97,9 @@ public: const network::ResourceRequest &request, const net::MutableNetworkTrafficAnnotationTag &traffic_annotation, ProfileIODataQt *profileData, - network::mojom::URLLoaderRequest loader_request, network::mojom::URLLoaderClientPtr client, - network::mojom::URLLoaderFactoryPtr target_factory); + mojo::PendingReceiver<network::mojom::URLLoader> loader, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, + mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory); ~InterceptedRequest() override; void Start(); @@ -158,12 +159,12 @@ private: QWebEngineUrlRequestInfo m_requestInfo; ProfileIODataQt *m_profileData; - mojo::Binding<network::mojom::URLLoader> proxied_loader_binding_; - network::mojom::URLLoaderClientPtr target_client_; + mojo::Receiver<network::mojom::URLLoader> proxied_loader_receiver_; + mojo::Remote<network::mojom::URLLoaderClient> target_client_; - mojo::Binding<network::mojom::URLLoaderClient> proxied_client_binding_; - network::mojom::URLLoaderPtr target_loader_; - network::mojom::URLLoaderFactoryPtr target_factory_; + mojo::Receiver<network::mojom::URLLoaderClient> proxied_client_receiver_{this}; + mojo::Remote<network::mojom::URLLoader> target_loader_; + mojo::Remote<network::mojom::URLLoaderFactory> target_factory_; base::WeakPtrFactory<InterceptedRequest> m_weakFactory; base::WeakPtr<InterceptedRequest> m_weakPtr; @@ -174,9 +175,9 @@ InterceptedRequest::InterceptedRequest(int process_id, uint64_t request_id, int3 const network::ResourceRequest &request, const net::MutableNetworkTrafficAnnotationTag &traffic_annotation, ProfileIODataQt *profileData, - network::mojom::URLLoaderRequest loader_request, - network::mojom::URLLoaderClientPtr client, - network::mojom::URLLoaderFactoryPtr target_factory) + mojo::PendingReceiver<network::mojom::URLLoader> loader_receiver, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, + mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory) : process_id_(process_id) , request_id_(request_id) , routing_id_(routing_id) @@ -184,18 +185,17 @@ InterceptedRequest::InterceptedRequest(int process_id, uint64_t request_id, int3 , request_(request) , traffic_annotation_(traffic_annotation) , m_profileData(profileData) - , proxied_loader_binding_(this, std::move(loader_request)) + , proxied_loader_receiver_(this, std::move(loader_receiver)) , target_client_(std::move(client)) - , proxied_client_binding_(this) , target_factory_(std::move(target_factory)) , m_weakFactory(this) , m_weakPtr(m_weakFactory.GetWeakPtr()) { // If there is a client error, clean up the request. - target_client_.set_connection_error_handler( - base::BindOnce(&InterceptedRequest::OnURLLoaderClientError, m_weakFactory.GetWeakPtr())); - proxied_loader_binding_.set_connection_error_with_reason_handler( - base::BindOnce(&InterceptedRequest::OnURLLoaderError, m_weakFactory.GetWeakPtr())); + target_client_.set_disconnect_handler( + base::BindOnce(&InterceptedRequest::OnURLLoaderClientError, m_weakFactory.GetWeakPtr())); + proxied_loader_receiver_.set_disconnect_with_reason_handler( + base::BindOnce(&InterceptedRequest::OnURLLoaderError, m_weakFactory.GetWeakPtr())); } InterceptedRequest::~InterceptedRequest() @@ -341,10 +341,9 @@ void InterceptedRequest::ContinueAfterIntercept() } if (!target_loader_ && target_factory_) { - network::mojom::URLLoaderClientPtr proxied_client; - proxied_client_binding_.Bind(mojo::MakeRequest(&proxied_client)); - target_factory_->CreateLoaderAndStart(mojo::MakeRequest(&target_loader_), routing_id_, request_id_, options_, - request_, std::move(proxied_client), traffic_annotation_); + target_factory_->CreateLoaderAndStart(target_loader_.BindNewPipeAndPassReceiver(), routing_id_, request_id_, + options_, request_, proxied_client_receiver_.BindNewPipeAndPassRemote(), + traffic_annotation_); } } @@ -460,18 +459,18 @@ void InterceptedRequest::CallOnComplete(const network::URLLoaderCompletionStatus if (target_client_) target_client_->OnComplete(status); - if (proxied_loader_binding_ && wait_for_loader_error) { - // Don't delete |this| yet, in case the |proxied_loader_binding_|'s + if (proxied_loader_receiver_.is_bound() && wait_for_loader_error) { + // Since the original client is gone no need to continue loading the + // request. + proxied_client_receiver_.reset(); + target_loader_.reset(); + + // Don't delete |this| yet, in case the |proxied_loader_receiver_|'s // error_handler is called with a reason to indicate an error which we want // to send to the client bridge. Also reset |target_client_| so we don't // get its error_handler called and then delete |this|. target_client_.reset(); - // Since the original client is gone no need to continue loading the - // request. - proxied_client_binding_.Close(); - target_loader_.reset(); - // In case there are pending checks as to whether this request should be // intercepted, we don't want that causing |target_client_| to be used // later. @@ -523,10 +522,10 @@ void ProxyingURLLoaderFactoryQt::CreateProxy(int process_id, new ProxyingURLLoaderFactoryQt(process_id, resourceContext, std::move(loader_receiver), std::move(target_factory_info)); } -void ProxyingURLLoaderFactoryQt::CreateLoaderAndStart(network::mojom::URLLoaderRequest loader, int32_t routing_id, - int32_t request_id, uint32_t options, +void ProxyingURLLoaderFactoryQt::CreateLoaderAndStart(mojo::PendingReceiver<network::mojom::URLLoader> loader, + int32_t routing_id, int32_t request_id, uint32_t options, const network::ResourceRequest &request, - network::mojom::URLLoaderClientPtr client, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, const net::MutableNetworkTrafficAnnotationTag &traffic_annotation) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); @@ -541,9 +540,9 @@ void ProxyingURLLoaderFactoryQt::CreateLoaderAndStart(network::mojom::URLLoaderR return; } - network::mojom::URLLoaderFactoryPtr target_factory_clone; + mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory_clone; if (m_targetFactory) - m_targetFactory->Clone(mojo::MakeRequest(&target_factory_clone)); + m_targetFactory->Clone(target_factory_clone.InitWithNewPipeAndPassReceiver()); // Will manage its own lifetime InterceptedRequest *req = new InterceptedRequest(m_processId, request_id, routing_id, options, request, diff --git a/src/core/net/proxying_url_loader_factory_qt.h b/src/core/net/proxying_url_loader_factory_qt.h index 0a436fd81..ba19bab97 100644 --- a/src/core/net/proxying_url_loader_factory_qt.h +++ b/src/core/net/proxying_url_loader_factory_qt.h @@ -78,9 +78,10 @@ public: mojo::PendingReceiver<network::mojom::URLLoaderFactory> loader_receiver, network::mojom::URLLoaderFactoryPtrInfo target_factory_info); - void CreateLoaderAndStart(network::mojom::URLLoaderRequest loader, int32_t routing_id, int32_t request_id, + void CreateLoaderAndStart(mojo::PendingReceiver<network::mojom::URLLoader> loader, + int32_t routing_id, int32_t request_id, uint32_t options, const network::ResourceRequest &request, - network::mojom::URLLoaderClientPtr client, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, const net::MutableNetworkTrafficAnnotationTag &traffic_annotation) override; void Clone(mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver) override; diff --git a/src/core/net/ssl_host_state_delegate_qt.cpp b/src/core/net/ssl_host_state_delegate_qt.cpp index f327717e9..3f3f95c83 100644 --- a/src/core/net/ssl_host_state_delegate_qt.cpp +++ b/src/core/net/ssl_host_state_delegate_qt.cpp @@ -83,7 +83,7 @@ void SSLHostStateDelegateQt::AllowCert(const std::string &host, const net::X509C } // Clear all allow preferences. -void SSLHostStateDelegateQt::Clear(const base::Callback<bool(const std::string &)> &host_filter) +void SSLHostStateDelegateQt::Clear(base::RepeatingCallback<bool(const std::string&)> host_filter) { if (host_filter.is_null()) { m_certPolicyforHost.clear(); diff --git a/src/core/net/ssl_host_state_delegate_qt.h b/src/core/net/ssl_host_state_delegate_qt.h index b3b89f117..26e503eb5 100644 --- a/src/core/net/ssl_host_state_delegate_qt.h +++ b/src/core/net/ssl_host_state_delegate_qt.h @@ -67,7 +67,7 @@ public: // content::SSLHostStateDelegate implementation: void AllowCert(const std::string &, const net::X509Certificate &cert, int error) override; - void Clear(const base::Callback<bool(const std::string &)> &host_filter) override; + void Clear(base::RepeatingCallback<bool(const std::string&)> host_filter) override; CertJudgment QueryPolicy(const std::string &host, const net::X509Certificate &cert, int error) override; void HostRanInsecureContent(const std::string &host, int child_id, InsecureContentType content_type) override; bool DidHostRunInsecureContent(const std::string &host, int child_id, InsecureContentType content_type) override; diff --git a/src/core/net/system_network_context_manager.cpp b/src/core/net/system_network_context_manager.cpp index 2c5f49615..bc42a684d 100644 --- a/src/core/net/system_network_context_manager.cpp +++ b/src/core/net/system_network_context_manager.cpp @@ -74,7 +74,7 @@ #include "net/net_buildflags.h" #include "net/third_party/uri_template/uri_template.h" #include "services/network/network_service.h" -#include "services/network/public/cpp/cross_thread_shared_url_loader_factory_info.h" +#include "services/network/public/cpp/cross_thread_pending_shared_url_loader_factory.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/mojom/host_resolver.mojom.h" @@ -122,19 +122,23 @@ public: // mojom::URLLoaderFactory implementation: - void CreateLoaderAndStart(network::mojom::URLLoaderRequest request, int32_t routing_id, int32_t request_id, - uint32_t options, const network::ResourceRequest &url_request, - network::mojom::URLLoaderClientPtr client, + void CreateLoaderAndStart(mojo::PendingReceiver<network::mojom::URLLoader> receiver, + int32_t routing_id, + int32_t request_id, + uint32_t options, + const network::ResourceRequest &url_request, + mojo::PendingRemote<network::mojom::URLLoaderClient> client, const net::MutableNetworkTrafficAnnotationTag &traffic_annotation) override { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); if (!manager_) return; - manager_->GetURLLoaderFactory()->CreateLoaderAndStart(std::move(request), routing_id, request_id, options, - url_request, std::move(client), traffic_annotation); + manager_->GetURLLoaderFactory()->CreateLoaderAndStart( + std::move(receiver), routing_id, request_id, options, url_request, + std::move(client), traffic_annotation); } - void Clone(mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver) + void Clone(mojo::PendingReceiver<network::mojom::URLLoaderFactory> receiver) override { if (!manager_) return; @@ -142,10 +146,10 @@ public: } // SharedURLLoaderFactory implementation: - std::unique_ptr<network::SharedURLLoaderFactoryInfo> Clone() override + std::unique_ptr<network::PendingSharedURLLoaderFactory> Clone() override { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - return std::make_unique<network::CrossThreadSharedURLLoaderFactoryInfo>(this); + return std::make_unique<network::CrossThreadPendingSharedURLLoaderFactory>(this); } void Shutdown() { manager_ = nullptr; } |