summaryrefslogtreecommitdiffstats
path: root/src/core/net
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-28 11:06:20 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-07-13 11:11:40 +0200
commit734b635cf9a9316ddd05dc9d9abc0a93746fc7f3 (patch)
tree49c6736d1c0c792326dd52b7541bea361c478609 /src/core/net
parentb848c87dbbc317ad7186418a64670b52777d1393 (diff)
Adaptations for 90-based
Change-Id: I8402b044d8e12d75e144a00984b856f3de10bffd Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit 1d988d971bc4270ba3d148e8e2c143bf8f625b6e)
Diffstat (limited to 'src/core/net')
-rw-r--r--src/core/net/cookie_monster_delegate_qt.cpp1
-rw-r--r--src/core/net/custom_url_loader_factory.cpp28
-rw-r--r--src/core/net/plugin_response_interceptor_url_loader_throttle.cpp27
-rw-r--r--src/core/net/plugin_response_interceptor_url_loader_throttle.h6
-rw-r--r--src/core/net/proxy_config_monitor.cpp1
-rw-r--r--src/core/net/system_network_context_manager.cpp11
-rw-r--r--src/core/net/system_network_context_manager.h8
-rw-r--r--src/core/net/webui_controller_factory_qt.cpp5
-rw-r--r--src/core/net/webui_controller_factory_qt.h1
9 files changed, 53 insertions, 35 deletions
diff --git a/src/core/net/cookie_monster_delegate_qt.cpp b/src/core/net/cookie_monster_delegate_qt.cpp
index 6d72a622b..9f703bcbc 100644
--- a/src/core/net/cookie_monster_delegate_qt.cpp
+++ b/src/core/net/cookie_monster_delegate_qt.cpp
@@ -44,7 +44,6 @@
#include "base/task/post_task.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
-#include "mojo/public/cpp/bindings/binding.h"
#include "net/cookies/cookie_util.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
diff --git a/src/core/net/custom_url_loader_factory.cpp b/src/core/net/custom_url_loader_factory.cpp
index 10b4a9e0f..dca69c20f 100644
--- a/src/core/net/custom_url_loader_factory.cpp
+++ b/src/core/net/custom_url_loader_factory.cpp
@@ -43,7 +43,6 @@
#include "base/task/post_task.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
-#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/system/data_pipe.h"
@@ -123,13 +122,13 @@ private:
// ### We can opt to run the url-loader on the UI thread instead
: m_taskRunner(base::CreateSingleThreadTaskRunner({ content::BrowserThread::IO }))
, m_proxy(new URLRequestCustomJobProxy(this, request.url.scheme(), profileAdapter))
- , m_binding(this, std::move(loader))
+ , m_receiver(this, std::move(loader))
, m_client(std::move(client_info))
, m_request(request)
{
DCHECK(m_taskRunner->RunsTasksInCurrentSequence());
- m_binding.set_connection_error_handler(
- base::BindOnce(&CustomURLLoader::OnConnectionError, m_weakPtrFactory.GetWeakPtr()));
+ m_receiver.set_disconnect_handler(
+ base::BindOnce(&CustomURLLoader::OnConnectionError, m_weakPtrFactory.GetWeakPtr()));
m_firstBytePosition = 0;
m_device = nullptr;
m_error = 0;
@@ -152,11 +151,13 @@ private:
if (!m_corsEnabled && !m_request.request_initiator->IsSameOriginWith(url::Origin::Create(m_request.url)))
return CompleteWithFailure(network::CorsErrorStatus(network::mojom::CorsError::kCorsDisabledScheme));
}
+ if (mojo::CreateDataPipe(nullptr, m_pipeProducerHandle, m_pipeConsumerHandle) != MOJO_RESULT_OK)
+ return CompleteWithFailure(net::ERR_FAILED);
m_head = network::mojom::URLResponseHead::New();
m_head->request_start = base::TimeTicks::Now();
- if (!m_pipe.consumer_handle.is_valid())
+ if (!m_pipeConsumerHandle.is_valid())
return CompleteWithFailure(net::ERR_FAILED);
std::map<std::string, std::string> headers;
@@ -193,7 +194,7 @@ private:
void OnConnectionError()
{
DCHECK(m_taskRunner->RunsTasksInCurrentSequence());
- m_binding.Close();
+ m_receiver.reset();
if (m_client.is_bound())
ClearProxyAndClient(false);
else
@@ -226,7 +227,7 @@ private:
// m_taskRunner->PostTask(FROM_HERE, base::BindOnce(&URLRequestCustomJobProxy::release, m_proxy));
base::PostTask(FROM_HERE, { content::BrowserThread::UI },
base::BindOnce(&URLRequestCustomJobProxy::release, m_proxy));
- if (!wait_for_loader_error || !m_binding.is_bound())
+ if (!wait_for_loader_error || !m_receiver.is_bound())
delete this;
}
@@ -307,7 +308,7 @@ private:
m_head->charset = m_charset;
m_headerBytesRead = m_head->headers->raw_headers().length();
m_client->OnReceiveResponse(std::move(m_head));
- m_client->OnStartLoadingResponseBody(std::move(m_pipe.consumer_handle));
+ m_client->OnStartLoadingResponseBody(std::move(m_pipeConsumerHandle));
m_head = nullptr;
if (readAvailableData()) // May delete this
@@ -315,7 +316,7 @@ private:
m_watcher = std::make_unique<mojo::SimpleWatcher>(
FROM_HERE, mojo::SimpleWatcher::ArmingPolicy::AUTOMATIC, m_taskRunner);
- m_watcher->Watch(m_pipe.producer_handle.get(), MOJO_HANDLE_SIGNAL_WRITABLE,
+ m_watcher->Watch(m_pipeProducerHandle.get(), MOJO_HANDLE_SIGNAL_WRITABLE,
MOJO_WATCH_CONDITION_SATISFIED,
base::BindRepeating(&CustomURLLoader::notifyReadyWrite,
m_weakPtrFactory.GetWeakPtr()));
@@ -384,7 +385,7 @@ private:
void *buffer = nullptr;
uint32_t bufferSize = 0;
- MojoResult beginResult = m_pipe.producer_handle->BeginWriteData(
+ MojoResult beginResult = m_pipeProducerHandle->BeginWriteData(
&buffer, &bufferSize, MOJO_BEGIN_WRITE_DATA_FLAG_NONE);
if (beginResult == MOJO_RESULT_SHOULD_WAIT)
return false; // Wait for pipe watcher
@@ -395,7 +396,7 @@ private:
int readResult = m_device->read(static_cast<char *>(buffer), bufferSize);
uint32_t bytesRead = std::max(readResult, 0);
- m_pipe.producer_handle->EndWriteData(bytesRead);
+ m_pipeProducerHandle->EndWriteData(bytesRead);
m_totalBytesRead += bytesRead;
m_client->OnTransferSizeUpdated(m_totalBytesRead);
@@ -437,9 +438,10 @@ private:
scoped_refptr<base::SequencedTaskRunner> m_taskRunner;
scoped_refptr<URLRequestCustomJobProxy> m_proxy;
- mojo::Binding<network::mojom::URLLoader> m_binding;
+ mojo::Receiver<network::mojom::URLLoader> m_receiver;
network::mojom::URLLoaderClientPtr m_client;
- mojo::DataPipe m_pipe;
+ mojo::ScopedDataPipeProducerHandle m_pipeProducerHandle;
+ mojo::ScopedDataPipeConsumerHandle m_pipeConsumerHandle;
std::unique_ptr<mojo::SimpleWatcher> m_watcher;
net::HttpByteRange m_byteRange;
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 e01e82aa9..d66e69ef4 100644
--- a/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp
+++ b/src/core/net/plugin_response_interceptor_url_loader_throttle.cpp
@@ -37,6 +37,11 @@
**
****************************************************************************/
+// based on chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc
+// Copyright 2018 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.
+
#include "plugin_response_interceptor_url_loader_throttle.h"
#include "base/bind.h"
@@ -63,8 +68,10 @@
namespace QtWebEngineCore {
PluginResponseInterceptorURLLoaderThrottle::PluginResponseInterceptorURLLoaderThrottle(
- content::BrowserContext *browser_context, int resource_type, int frame_tree_node_id)
- : m_browser_context(browser_context), m_resource_type(resource_type), m_frame_tree_node_id(frame_tree_node_id)
+ content::BrowserContext *browser_context,
+ network::mojom::RequestDestination request_destination,
+ int frame_tree_node_id)
+ : m_browser_context(browser_context), m_request_destination(request_destination), m_frame_tree_node_id(frame_tree_node_id)
{}
void PluginResponseInterceptorURLLoaderThrottle::WillProcessResponse(const GURL &response_url,
@@ -127,14 +134,17 @@ void PluginResponseInterceptorURLLoaderThrottle::WillProcessResponse(const GURL
&PluginResponseInterceptorURLLoaderThrottle::ResumeLoad,
weak_factory_.GetWeakPtr()));
- mojo::DataPipe data_pipe(data_pipe_size);
+ mojo::ScopedDataPipeProducerHandle producer_handle;
+ mojo::ScopedDataPipeConsumerHandle consumer_handle;
+ CHECK_EQ(MOJO_RESULT_OK, mojo::CreateDataPipe(data_pipe_size, producer_handle, consumer_handle));
+
uint32_t len = static_cast<uint32_t>(payload.size());
CHECK_EQ(MOJO_RESULT_OK,
- data_pipe.producer_handle->WriteData(
+ producer_handle->WriteData(
payload.c_str(), &len, MOJO_WRITE_DATA_FLAG_ALL_OR_NONE));
- new_client->OnStartLoadingResponseBody(std::move(data_pipe.consumer_handle));
+ new_client->OnStartLoadingResponseBody(std::move(consumer_handle));
network::URLLoaderCompletionStatus status(net::OK);
status.decoded_body_length = len;
@@ -163,8 +173,8 @@ void PluginResponseInterceptorURLLoaderThrottle::WillProcessResponse(const GURL
transferrable_loader->head = std::move(deep_copied_response);
transferrable_loader->head->intercepted_by_plugin = true;
- bool embedded = m_resource_type !=
- static_cast<int>(blink::mojom::ResourceType::kMainFrame);
+ bool embedded = m_request_destination !=
+ network::mojom::RequestDestination::kDocument;
content::GetUIThreadTaskRunner({})->PostTask(
FROM_HERE,
base::BindOnce(
@@ -174,7 +184,8 @@ void PluginResponseInterceptorURLLoaderThrottle::WillProcessResponse(const GURL
std::move(transferrable_loader), response_url));
}
-void PluginResponseInterceptorURLLoaderThrottle::ResumeLoad() {
+void PluginResponseInterceptorURLLoaderThrottle::ResumeLoad()
+{
delegate_->Resume();
}
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 205ab25e6..0e10b2124 100644
--- a/src/core/net/plugin_response_interceptor_url_loader_throttle.h
+++ b/src/core/net/plugin_response_interceptor_url_loader_throttle.h
@@ -42,6 +42,7 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
+#include "services/network/public/mojom/fetch_api.mojom-shared.h"
#include "third_party/blink/public/common/loader/url_loader_throttle.h"
namespace content {
@@ -54,7 +55,8 @@ class PluginResponseInterceptorURLLoaderThrottle : public blink::URLLoaderThrott
{
public:
PluginResponseInterceptorURLLoaderThrottle(content::BrowserContext *browser_context,
- int resource_type, int frame_tree_node_id);
+ network::mojom::RequestDestination request_destination,
+ int frame_tree_node_id);
~PluginResponseInterceptorURLLoaderThrottle() override = default;
private:
@@ -66,7 +68,7 @@ private:
void ResumeLoad();
content::BrowserContext *m_browser_context = nullptr;
- const int m_resource_type;
+ const network::mojom::RequestDestination m_request_destination;
const int m_frame_tree_node_id;
base::WeakPtrFactory<PluginResponseInterceptorURLLoaderThrottle>
diff --git a/src/core/net/proxy_config_monitor.cpp b/src/core/net/proxy_config_monitor.cpp
index a0aaf0c05..de0211f2f 100644
--- a/src/core/net/proxy_config_monitor.cpp
+++ b/src/core/net/proxy_config_monitor.cpp
@@ -52,7 +52,6 @@
#include "components/proxy_config/pref_proxy_config_tracker_impl.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
-#include "mojo/public/cpp/bindings/associated_interface_ptr.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "net/proxy_resolution/proxy_resolution_service.h"
#include "services/network/public/mojom/network_context.mojom.h"
diff --git a/src/core/net/system_network_context_manager.cpp b/src/core/net/system_network_context_manager.cpp
index 6e564a355..46e678110 100644
--- a/src/core/net/system_network_context_manager.cpp
+++ b/src/core/net/system_network_context_manager.cpp
@@ -52,8 +52,8 @@
#include "components/network_session_configurator/common/network_switches.h"
#include "content/public/browser/network_service_instance.h"
#include "content/public/common/content_switches.h"
-#include "content/public/common/service_names.mojom.h"
#include "net/net_buildflags.h"
+#include "services/cert_verifier/public/mojom/cert_verifier_service_factory.mojom.h"
#include "services/network/network_service.h"
#include "services/network/public/cpp/cross_thread_pending_shared_url_loader_factory.h"
#include "services/network/public/cpp/features.h"
@@ -240,7 +240,8 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(network::mo
network_context_params->initial_ssl_config->symantec_enforcement_disabled = true;
}
-void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams(network::mojom::NetworkContextParams *network_context_params)
+void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams(network::mojom::NetworkContextParams *network_context_params,
+ cert_verifier::mojom::CertVerifierCreationParams *cert_verifier_creation_params)
{
network_context_params->enable_brotli = true;
@@ -271,7 +272,9 @@ network::mojom::NetworkContextParamsPtr SystemNetworkContextManager::CreateNetwo
{
// TODO(mmenke): Set up parameters here (in memory cookie store, etc).
network::mojom::NetworkContextParamsPtr network_context_params = network::mojom::NetworkContextParams::New();
- ConfigureDefaultNetworkContextParams(network_context_params.get());
+ cert_verifier::mojom::CertVerifierCreationParamsPtr
+ cert_verifier_creation_params = cert_verifier::mojom::CertVerifierCreationParams::New();
+ ConfigureDefaultNetworkContextParams(network_context_params.get(), cert_verifier_creation_params.get());
network_context_params->context_name = std::string("system");
@@ -286,5 +289,7 @@ network::mojom::NetworkContextParamsPtr SystemNetworkContextManager::CreateNetwo
proxy_config_monitor_.AddToNetworkContextParams(network_context_params.get());
+ network_context_params->cert_verifier_params =
+ content::GetCertVerifierParams(std::move(cert_verifier_creation_params));
return network_context_params;
}
diff --git a/src/core/net/system_network_context_manager.h b/src/core/net/system_network_context_manager.h
index 48cd99173..a234ead94 100644
--- a/src/core/net/system_network_context_manager.h
+++ b/src/core/net/system_network_context_manager.h
@@ -54,6 +54,11 @@
#include "net/proxy_config_monitor.h"
+namespace cert_verifier {
+namespace mojom {
+class CertVerifierCreationParams;
+}}
+
namespace network {
namespace mojom {
class URLLoaderFactory;
@@ -121,7 +126,8 @@ public:
void AddSSLConfigToNetworkContextParams(network::mojom::NetworkContextParams *network_context_params);
// Configures the default set of parameters for the network context.
- void ConfigureDefaultNetworkContextParams(network::mojom::NetworkContextParams *);
+ void ConfigureDefaultNetworkContextParams(network::mojom::NetworkContextParams *,
+ cert_verifier::mojom::CertVerifierCreationParams *);
private:
class URLLoaderFactoryForSystem;
diff --git a/src/core/net/webui_controller_factory_qt.cpp b/src/core/net/webui_controller_factory_qt.cpp
index b645a6d72..d483a1ab8 100644
--- a/src/core/net/webui_controller_factory_qt.cpp
+++ b/src/core/net/webui_controller_factory_qt.cpp
@@ -187,11 +187,6 @@ bool WebUIControllerFactoryQt::UseWebUIForURL(content::BrowserContext *browser_c
return GetWebUIType(browser_context, url) != WebUI::kNoWebUI;
}
-bool WebUIControllerFactoryQt::UseWebUIBindingsForURL(content::BrowserContext *browser_context, const GURL &url)
-{
- return UseWebUIForURL(browser_context, url);
-}
-
std::unique_ptr<WebUIController> WebUIControllerFactoryQt::CreateWebUIControllerForURL(WebUI *web_ui, const GURL &url)
{
Profile *profile = Profile::FromWebUI(web_ui);
diff --git a/src/core/net/webui_controller_factory_qt.h b/src/core/net/webui_controller_factory_qt.h
index 6dfc612e1..b5f01a504 100644
--- a/src/core/net/webui_controller_factory_qt.h
+++ b/src/core/net/webui_controller_factory_qt.h
@@ -52,7 +52,6 @@ class WebUIControllerFactoryQt : public content::WebUIControllerFactory
public:
content::WebUI::TypeID GetWebUIType(content::BrowserContext *browserContext, const GURL &url) override;
bool UseWebUIForURL(content::BrowserContext *browserContext, const GURL &url) override;
- bool UseWebUIBindingsForURL(content::BrowserContext *browserContext, const GURL &url) override;
std::unique_ptr<content::WebUIController> CreateWebUIControllerForURL(content::WebUI *webUi, const GURL &url) override;
static WebUIControllerFactoryQt *GetInstance();