summaryrefslogtreecommitdiffstats
path: root/src/core/renderer
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-07-24 12:32:25 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-01 15:29:51 +0000
commit6a5f8d69fc1d090326fa92a0b24bd494369c2d0d (patch)
treec5d21e50d796a110eb7345bd691d3ba11065528c /src/core/renderer
parentb80a0ef3c1af16ba74c2b9e931c18266362ce926 (diff)
Add DNS prefetching
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 <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/renderer')
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp8
-rw-r--r--src/core/renderer/content_renderer_client_qt.h6
2 files changed, 14 insertions, 0 deletions
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<service_manager::BinderRegistry>();
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<std::unique_ptr<media::KeySystemProperties>>* key_systems) override;
void RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) override;
@@ -123,6 +128,7 @@ private:
service_manager::mojom::ConnectorRequest m_connectorRequest;
std::unique_ptr<service_manager::ServiceContext> m_serviceContext;
service_manager::BinderRegistry m_registry;
+ std::unique_ptr<network_hints::PrescientNetworkingDispatcher> m_prescientNetworkingDispatcher;
DISALLOW_COPY_AND_ASSIGN(ContentRendererClientQt);
};