From 6a5f8d69fc1d090326fa92a0b24bd494369c2d0d Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 24 Jul 2018 12:32:25 +0200 Subject: Add DNS prefetching MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Turns out we did no have DNS prefetching. It requires an extra component. The same component can also do pre-connect, but we do not enable that, as it requires a predictive browsing backend. [ChangeLog][Settings] DnsPrefetchEnabled added, but disabled by default. Change-Id: Ieb036435b9f1a72a7be302e38e89e0c347c7176b Reviewed-by: Jüri Valdmann --- src/core/renderer/content_renderer_client_qt.cpp | 8 ++++++++ src/core/renderer/content_renderer_client_qt.h | 6 ++++++ 2 files changed, 14 insertions(+) (limited to 'src/core/renderer') diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 707efc1c1..79c2294de 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -51,6 +51,7 @@ #include "components/error_page/common/error.h" #include "components/error_page/common/error_page_params.h" #include "components/error_page/common/localized_error.h" +#include "components/network_hints/renderer/prescient_networking_dispatcher.h" #if QT_CONFIG(webengine_printing_and_pdf) #include "components/printing/renderer/print_render_frame_helper.h" #endif @@ -114,6 +115,8 @@ void ContentRendererClientQt::RenderThreadStarted() m_visitedLinkSlave.reset(new visitedlink::VisitedLinkSlave); m_webCacheImpl.reset(new web_cache::WebCacheImpl()); + m_prescientNetworkingDispatcher.reset(new network_hints::PrescientNetworkingDispatcher()); + auto registry = std::make_unique(); registry->AddInterface(m_visitedLinkSlave->GetBindCallback(), base::ThreadTaskRunnerHandle::Get()); @@ -239,6 +242,11 @@ bool ContentRendererClientQt::IsLinkVisited(unsigned long long linkHash) return m_visitedLinkSlave->IsVisited(linkHash); } +blink::WebPrescientNetworking *ContentRendererClientQt::GetPrescientNetworking() +{ + return m_prescientNetworkingDispatcher.get(); +} + void ContentRendererClientQt::OnStart() { context()->connector()->BindConnectorRequest(std::move(m_connectorRequest)); diff --git a/src/core/renderer/content_renderer_client_qt.h b/src/core/renderer/content_renderer_client_qt.h index a919c6ab6..2a353caa6 100644 --- a/src/core/renderer/content_renderer_client_qt.h +++ b/src/core/renderer/content_renderer_client_qt.h @@ -53,6 +53,10 @@ namespace error_page { class Error; } +namespace network_hints { +class PrescientNetworkingDispatcher; +} + namespace visitedlink { class VisitedLinkSlave; } @@ -89,6 +93,7 @@ public: unsigned long long VisitedLinkHash(const char *canonicalUrl, size_t length) override; bool IsLinkVisited(unsigned long long linkHash) override; + blink::WebPrescientNetworking* GetPrescientNetworking() override; void AddSupportedKeySystems(std::vector>* key_systems) override; void RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) override; @@ -123,6 +128,7 @@ private: service_manager::mojom::ConnectorRequest m_connectorRequest; std::unique_ptr m_serviceContext; service_manager::BinderRegistry m_registry; + std::unique_ptr m_prescientNetworkingDispatcher; DISALLOW_COPY_AND_ASSIGN(ContentRendererClientQt); }; -- cgit v1.2.3