summaryrefslogtreecommitdiffstats
path: root/src/core/renderer
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-11-20 16:01:37 +0100
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-11-20 16:04:42 +0100
commit1f474fcc4cd47a85ce8d99f07d18b46ef2af5898 (patch)
treed4e52b5ac98343b4c2417d622164bf320d781a59 /src/core/renderer
parent4cc28c7c89f794d469f5e8f778ff05effe8c646f (diff)
parent1173d48149a8133b607894b67e1ec32de68e21e8 (diff)
Merge branch '5.6' into dev
Diffstat (limited to 'src/core/renderer')
-rw-r--r--src/core/renderer/content_renderer_client_qt.cpp11
-rw-r--r--src/core/renderer/content_renderer_client_qt.h5
-rw-r--r--src/core/renderer/render_frame_observer_qt.cpp (renamed from src/core/renderer/qt_render_frame_observer.cpp)8
-rw-r--r--src/core/renderer/render_frame_observer_qt.h (renamed from src/core/renderer/qt_render_frame_observer.h)14
-rw-r--r--src/core/renderer/render_view_observer_qt.cpp (renamed from src/core/renderer/qt_render_view_observer.cpp)38
-rw-r--r--src/core/renderer/render_view_observer_qt.h (renamed from src/core/renderer/qt_render_view_observer.h)20
6 files changed, 61 insertions, 35 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp
index 0b8262c76..db50caad8 100644
--- a/src/core/renderer/content_renderer_client_qt.cpp
+++ b/src/core/renderer/content_renderer_client_qt.cpp
@@ -40,6 +40,7 @@
#include "chrome/common/localized_error.h"
#include "components/error_page/common/error_page_params.h"
#include "components/visitedlink/renderer/visitedlink_slave.h"
+#include "components/web_cache/renderer/web_cache_render_process_observer.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/render_view.h"
@@ -53,8 +54,8 @@
#include "content/public/common/web_preferences.h"
#include "renderer/web_channel_ipc_transport.h"
-#include "renderer/qt_render_frame_observer.h"
-#include "renderer/qt_render_view_observer.h"
+#include "renderer/render_frame_observer_qt.h"
+#include "renderer/render_view_observer_qt.h"
#include "renderer/user_script_controller.h"
#include "grit/renderer_resources.h"
@@ -77,7 +78,9 @@ void ContentRendererClientQt::RenderThreadStarted()
content::RenderThread *renderThread = content::RenderThread::Get();
renderThread->RegisterExtension(WebChannelIPCTransport::getV8Extension());
m_visitedLinkSlave.reset(new visitedlink::VisitedLinkSlave);
+ m_webCacheObserver.reset(new web_cache::WebCacheRenderProcessObserver());
renderThread->AddObserver(m_visitedLinkSlave.data());
+ renderThread->AddObserver(m_webCacheObserver.data());
renderThread->AddObserver(UserScriptController::instance());
// mark qrc as a secure scheme (avoids deprecation warnings)
@@ -87,14 +90,14 @@ void ContentRendererClientQt::RenderThreadStarted()
void ContentRendererClientQt::RenderViewCreated(content::RenderView* render_view)
{
// RenderViewObservers destroy themselves with their RenderView.
- new QtRenderViewObserver(render_view);
+ new RenderViewObserverQt(render_view, m_webCacheObserver.data());
new WebChannelIPCTransport(render_view);
UserScriptController::instance()->renderViewCreated(render_view);
}
void ContentRendererClientQt::RenderFrameCreated(content::RenderFrame* render_frame)
{
- new QtWebEngineCore::QtRenderFrameObserver(render_frame);
+ new QtWebEngineCore::RenderFrameObserverQt(render_frame);
}
bool ContentRendererClientQt::HasErrorPage(int httpStatusCode, std::string *errorDomain)
diff --git a/src/core/renderer/content_renderer_client_qt.h b/src/core/renderer/content_renderer_client_qt.h
index fab88441f..eb55156ad 100644
--- a/src/core/renderer/content_renderer_client_qt.h
+++ b/src/core/renderer/content_renderer_client_qt.h
@@ -45,6 +45,10 @@ namespace visitedlink {
class VisitedLinkSlave;
}
+namespace web_cache {
+class WebCacheRenderProcessObserver;
+}
+
namespace QtWebEngineCore {
class ContentRendererClientQt : public content::ContentRendererClient {
@@ -64,6 +68,7 @@ public:
private:
QScopedPointer<visitedlink::VisitedLinkSlave> m_visitedLinkSlave;
+ QScopedPointer<web_cache::WebCacheRenderProcessObserver> m_webCacheObserver;
};
} // namespace
diff --git a/src/core/renderer/qt_render_frame_observer.cpp b/src/core/renderer/render_frame_observer_qt.cpp
index 5f06d1e4e..8130cc53a 100644
--- a/src/core/renderer/qt_render_frame_observer.cpp
+++ b/src/core/renderer/render_frame_observer_qt.cpp
@@ -34,7 +34,7 @@
**
****************************************************************************/
-#include "qt_render_frame_observer.h"
+#include "render_frame_observer_qt.h"
#include "content/public/renderer/renderer_ppapi_host.h"
#include "ppapi/host/ppapi_host.h"
@@ -44,17 +44,17 @@
namespace QtWebEngineCore {
-QtRenderFrameObserver::QtRenderFrameObserver(content::RenderFrame* render_frame)
+RenderFrameObserverQt::RenderFrameObserverQt(content::RenderFrame* render_frame)
: RenderFrameObserver(render_frame)
{
}
-QtRenderFrameObserver::~QtRenderFrameObserver()
+RenderFrameObserverQt::~RenderFrameObserverQt()
{
}
#if defined(ENABLE_PLUGINS)
-void QtRenderFrameObserver::DidCreatePepperPlugin(content::RendererPpapiHost* host)
+void RenderFrameObserverQt::DidCreatePepperPlugin(content::RendererPpapiHost* host)
{
host->GetPpapiHost()->AddHostFactoryFilter(
scoped_ptr<ppapi::host::HostFactory>(
diff --git a/src/core/renderer/qt_render_frame_observer.h b/src/core/renderer/render_frame_observer_qt.h
index 42f2b7464..4835e442e 100644
--- a/src/core/renderer/qt_render_frame_observer.h
+++ b/src/core/renderer/render_frame_observer_qt.h
@@ -34,8 +34,8 @@
**
****************************************************************************/
-#ifndef QT_RENDER_FRAME_OBSERVER_H
-#define QT_RENDER_FRAME_OBSERVER_H
+#ifndef RENDER_FRAME_OBSERVER_QT_H
+#define RENDER_FRAME_OBSERVER_QT_H
#include "base/basictypes.h"
#include "base/compiler_specific.h"
@@ -48,19 +48,19 @@ class RenderFrame;
namespace QtWebEngineCore {
-class QtRenderFrameObserver : public content::RenderFrameObserver {
+class RenderFrameObserverQt : public content::RenderFrameObserver {
public:
- explicit QtRenderFrameObserver(content::RenderFrame* render_frame);
- ~QtRenderFrameObserver();
+ explicit RenderFrameObserverQt(content::RenderFrame* render_frame);
+ ~RenderFrameObserverQt();
#if defined(ENABLE_PLUGINS)
void DidCreatePepperPlugin(content::RendererPpapiHost* host) override;
#endif
private:
- DISALLOW_COPY_AND_ASSIGN(QtRenderFrameObserver);
+ DISALLOW_COPY_AND_ASSIGN(RenderFrameObserverQt);
};
} // namespace QtWebEngineCore
-#endif // QT_RENDER_FRAME_OBSERVER_H
+#endif // RENDER_FRAME_OBSERVER_QT_H
diff --git a/src/core/renderer/qt_render_view_observer.cpp b/src/core/renderer/render_view_observer_qt.cpp
index ba91e54ae..47efd07e4 100644
--- a/src/core/renderer/qt_render_view_observer.cpp
+++ b/src/core/renderer/render_view_observer_qt.cpp
@@ -34,55 +34,65 @@
**
****************************************************************************/
-#include "renderer/qt_render_view_observer.h"
+#include "renderer/render_view_observer_qt.h"
#include "common/qt_messages.h"
+#include "components/web_cache/renderer/web_cache_render_process_observer.h"
#include "content/public/renderer/render_view.h"
#include "third_party/WebKit/public/web/WebDocument.h"
#include "third_party/WebKit/public/web/WebElement.h"
#include "third_party/WebKit/public/web/WebFrame.h"
#include "third_party/WebKit/public/web/WebView.h"
-QtRenderViewObserver::QtRenderViewObserver(content::RenderView* render_view)
+RenderViewObserverQt::RenderViewObserverQt(
+ content::RenderView* render_view,
+ web_cache::WebCacheRenderProcessObserver* web_cache_render_process_observer)
: content::RenderViewObserver(render_view)
+ , m_web_cache_render_process_observer(web_cache_render_process_observer)
{
}
-void QtRenderViewObserver::onFetchDocumentMarkup(quint64 requestId)
+void RenderViewObserverQt::onFetchDocumentMarkup(quint64 requestId)
{
- Send(new QtRenderViewObserverHost_DidFetchDocumentMarkup(
+ Send(new RenderViewObserverHostQt_DidFetchDocumentMarkup(
routing_id(),
requestId,
render_view()->GetWebView()->mainFrame()->contentAsMarkup()));
}
-void QtRenderViewObserver::onFetchDocumentInnerText(quint64 requestId)
+void RenderViewObserverQt::onFetchDocumentInnerText(quint64 requestId)
{
- Send(new QtRenderViewObserverHost_DidFetchDocumentInnerText(
+ Send(new RenderViewObserverHostQt_DidFetchDocumentInnerText(
routing_id(),
requestId,
render_view()->GetWebView()->mainFrame()->contentAsText(std::numeric_limits<std::size_t>::max())));
}
-void QtRenderViewObserver::onSetBackgroundColor(quint32 color)
+void RenderViewObserverQt::onSetBackgroundColor(quint32 color)
{
render_view()->GetWebView()->setBaseBackgroundColor(color);
}
-void QtRenderViewObserver::OnFirstVisuallyNonEmptyLayout()
+void RenderViewObserverQt::OnFirstVisuallyNonEmptyLayout()
{
- Send(new QtRenderViewObserverHost_DidFirstVisuallyNonEmptyLayout(routing_id()));
+ Send(new RenderViewObserverHostQt_DidFirstVisuallyNonEmptyLayout(routing_id()));
}
-bool QtRenderViewObserver::OnMessageReceived(const IPC::Message& message)
+bool RenderViewObserverQt::OnMessageReceived(const IPC::Message& message)
{
bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(QtRenderViewObserver, message)
- IPC_MESSAGE_HANDLER(QtRenderViewObserver_FetchDocumentMarkup, onFetchDocumentMarkup)
- IPC_MESSAGE_HANDLER(QtRenderViewObserver_FetchDocumentInnerText, onFetchDocumentInnerText)
- IPC_MESSAGE_HANDLER(QtRenderViewObserver_SetBackgroundColor, onSetBackgroundColor)
+ IPC_BEGIN_MESSAGE_MAP(RenderViewObserverQt, message)
+ IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentMarkup, onFetchDocumentMarkup)
+ IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentInnerText, onFetchDocumentInnerText)
+ IPC_MESSAGE_HANDLER(RenderViewObserverQt_SetBackgroundColor, onSetBackgroundColor)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
+
+void RenderViewObserverQt::Navigate(const GURL &)
+{
+ if (m_web_cache_render_process_observer)
+ m_web_cache_render_process_observer->ExecutePendingClearCache();
+}
diff --git a/src/core/renderer/qt_render_view_observer.h b/src/core/renderer/render_view_observer_qt.h
index 3f7829a92..166dcc9ea 100644
--- a/src/core/renderer/qt_render_view_observer.h
+++ b/src/core/renderer/render_view_observer_qt.h
@@ -33,16 +33,21 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QT_RENDER_VIEW_OBSERVER_H
-#define QT_RENDER_VIEW_OBSERVER_H
+#ifndef RENDER_VIEW_OBSERVER_QT_H
+#define RENDER_VIEW_OBSERVER_QT_H
#include "content/public/renderer/render_view_observer.h"
#include <QtGlobal>
-class QtRenderViewObserver : public content::RenderViewObserver {
+namespace web_cache {
+class WebCacheRenderProcessObserver;
+}
+
+class RenderViewObserverQt : public content::RenderViewObserver {
public:
- QtRenderViewObserver(content::RenderView* render_view);
+ RenderViewObserverQt(content::RenderView* render_view,
+ web_cache::WebCacheRenderProcessObserver* web_cache_render_process_observer);
private:
void onFetchDocumentMarkup(quint64 requestId);
@@ -52,8 +57,11 @@ private:
void OnFirstVisuallyNonEmptyLayout() Q_DECL_OVERRIDE;
virtual bool OnMessageReceived(const IPC::Message& message) Q_DECL_OVERRIDE;
+ virtual void Navigate(const GURL& url) Q_DECL_OVERRIDE;
+
+ web_cache::WebCacheRenderProcessObserver* m_web_cache_render_process_observer;
- DISALLOW_COPY_AND_ASSIGN(QtRenderViewObserver);
+ DISALLOW_COPY_AND_ASSIGN(RenderViewObserverQt);
};
-#endif // QT_RENDER_VIEW_OBSERVER_H
+#endif // RENDER_VIEW_OBSERVER_QT_H