diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-05-23 11:24:03 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-06-01 16:56:23 +0000 |
commit | 4a94a13d54dbaf32e7ac34cdee6e207fe5478286 (patch) | |
tree | 107bcf735b559024bfc4121d23071cea27ac05d4 /src/core/renderer/content_renderer_client_qt.cpp | |
parent | 9d94e3ad9a1f3cf215d267c4b43ce74d57c54b2b (diff) |
Fix early JavaScript injection
With the latest Chromium snapshot we can no longer install any
javascript before a new callback called RunScriptsAtDocumentStart has
been called. So we must refactor user-scripts and web-channels to
install on this call instead.
Change-Id: I440a0aa4b26100c650d5c678b454ea5beb6b59d2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/core/renderer/content_renderer_client_qt.cpp')
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index b986d29de..97b0f1dca 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -134,6 +134,18 @@ void ContentRendererClientQt::RenderFrameCreated(content::RenderFrame* render_fr new QtWebEngineCore::RenderFrameObserverQt(render_frame); } +void ContentRendererClientQt::RunScriptsAtDocumentStart(content::RenderFrame* render_frame) +{ + if (WebChannelIPCTransport *transport = WebChannelIPCTransport::Get(render_frame->GetRenderView())) + transport->RunScriptsAtDocumentStart(render_frame); + UserResourceController::instance()->RunScriptsAtDocumentStart(render_frame); +} + +void ContentRendererClientQt::RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) +{ + UserResourceController::instance()->RunScriptsAtDocumentEnd(render_frame); +} + bool ContentRendererClientQt::HasErrorPage(int httpStatusCode, std::string *errorDomain) { // Use an internal error page, if we have one for the status code. |