summaryrefslogtreecommitdiffstats
path: root/src/core/renderer/content_renderer_client_qt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/renderer/content_renderer_client_qt.cpp')
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp
index ecb469a9d..af1ba7dcb 100644
--- a/src/core/renderer/content_renderer_client_qt.cpp
+++ b/src/core/renderer/content_renderer_client_qt.cpp
@@ -43,6 +43,7 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/common/localized_error.h"
+#include "components/visitedlink/renderer/visitedlink_slave.h"
#include "content/public/renderer/render_thread.h"
#include "net/base/net_errors.h"
#include "third_party/WebKit/public/platform/WebURLError.h"
@@ -56,6 +57,20 @@
static const char kHttpErrorDomain[] = "http";
+ContentRendererClientQt::ContentRendererClientQt()
+{
+}
+
+ContentRendererClientQt::~ContentRendererClientQt()
+{
+}
+
+void ContentRendererClientQt::RenderThreadStarted()
+{
+ m_visitedLinkSlave.reset(new visitedlink::VisitedLinkSlave);
+ content::RenderThread::Get()->AddObserver(m_visitedLinkSlave.data());
+}
+
void ContentRendererClientQt::RenderViewCreated(content::RenderView* render_view)
{
// RenderViewObserver destroys itself with its RenderView.
@@ -93,3 +108,13 @@ void ContentRendererClientQt::GetNavigationErrorStrings(blink::WebFrame *frame,
*error_description = LocalizedError::GetErrorDetails(error, isPost);
}
}
+
+unsigned long long ContentRendererClientQt::VisitedLinkHash(const char *canonicalUrl, size_t length)
+{
+ return m_visitedLinkSlave->ComputeURLFingerprint(canonicalUrl, length);
+}
+
+bool ContentRendererClientQt::IsLinkVisited(unsigned long long linkHash)
+{
+ return m_visitedLinkSlave->IsVisited(linkHash);
+}