From 29589c46b00df37d508dc1af0aa9c74a1d0bf056 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@qt.io>
Date: Fri, 12 Apr 2019 16:51:39 +0200
Subject: [PATCH] Whitelist pdf viewer extension to access chrome resources

There were CORS problems when accessing the chrome resources from
the pdf viewer extensions when coming from a blank page. It should
be fine to access the chrome resources from the builtin extension.

Fixes: QTBUG-75127
Change-Id: I28f981b4ff1d2db86a62507eb25cae45258e3bda
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
---
 src/core/renderer/content_renderer_client_qt.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp
index fa1e20f24..f69a8b64f 100644
--- a/src/core/renderer/content_renderer_client_qt.cpp
+++ b/src/core/renderer/content_renderer_client_qt.cpp
@@ -152,7 +152,14 @@ void ContentRendererClientQt::RenderThreadStarted()
     blink::WebString file(blink::WebString::FromASCII("file"));
     blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(qrc, file, blink::WebString(), true,
                                                             network::mojom::CorsOriginAccessMatchPriority::kDefaultPriority);
+
 #if BUILDFLAG(ENABLE_EXTENSIONS)
+    // Allow the pdf viewer extension to access chrome resources
+    blink::WebURL pdfViewerExtension(blink::KURL("chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai"));
+    blink::WebString chromeResources(blink::WebString::FromASCII("chrome"));
+    blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(pdfViewerExtension, chromeResources, blink::WebString(), true,
+                                                            network::mojom::CorsOriginAccessMatchPriority::kDefaultPriority);
+
     ExtensionsRendererClientQt::GetInstance()->RenderThreadStarted();
 #endif
 }
-- 
GitLab