diff options
Diffstat (limited to 'src/core/renderer')
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 14 | ||||
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.h | 5 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index 3d235ff0b..04b5e2c22 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -85,6 +85,16 @@ namespace QtWebEngineCore { static const char kHttpErrorDomain[] = "http"; static const char kQrcSchemeQt[] = "qrc"; +class RenderProcessObserverQt : public content::RenderProcessObserver { +public: + void WebKitInitialized() override + { + // mark qrc as a secure scheme (avoids deprecation warnings) + // Can only be done after blink is initialized. + blink::WebSecurityPolicy::registerURLSchemeAsSecure(blink::WebString::fromLatin1(kQrcSchemeQt)); + } +}; + ContentRendererClientQt::ContentRendererClientQt() { } @@ -98,12 +108,12 @@ void ContentRendererClientQt::RenderThreadStarted() content::RenderThread *renderThread = content::RenderThread::Get(); m_visitedLinkSlave.reset(new visitedlink::VisitedLinkSlave); m_webCacheObserver.reset(new web_cache::WebCacheRenderProcessObserver()); + m_renderProcessObserver.reset(new RenderProcessObserverQt()); renderThread->AddObserver(m_visitedLinkSlave.data()); renderThread->AddObserver(m_webCacheObserver.data()); renderThread->AddObserver(UserResourceController::instance()); + renderThread->AddObserver(m_renderProcessObserver.data()); - // mark qrc as a secure scheme (avoids deprecation warnings) - blink::WebSecurityPolicy::registerURLSchemeAsSecure(blink::WebString::fromLatin1(kQrcSchemeQt)); #if defined(ENABLE_SPELLCHECK) m_spellCheck.reset(new SpellCheck()); renderThread->AddObserver(m_spellCheck.data()); diff --git a/src/core/renderer/content_renderer_client_qt.h b/src/core/renderer/content_renderer_client_qt.h index c80395140..53be90c97 100644 --- a/src/core/renderer/content_renderer_client_qt.h +++ b/src/core/renderer/content_renderer_client_qt.h @@ -44,6 +44,10 @@ #include <QtGlobal> #include <QScopedPointer> +namespace content { +class RenderProcessObserver; +} + namespace visitedlink { class VisitedLinkSlave; } @@ -75,6 +79,7 @@ public: private: QScopedPointer<visitedlink::VisitedLinkSlave> m_visitedLinkSlave; QScopedPointer<web_cache::WebCacheRenderProcessObserver> m_webCacheObserver; + QScopedPointer<content::RenderProcessObserver> m_renderProcessObserver; #if defined(ENABLE_SPELLCHECK) QScopedPointer<SpellCheck> m_spellCheck; #endif |