diff options
author | Jüri Valdmann <juri.valdmann@qt.io> | 2019-02-05 15:00:52 +0100 |
---|---|---|
committer | Jüri Valdmann <juri.valdmann@qt.io> | 2019-02-11 10:18:07 +0000 |
commit | 998a5a28f4ce348ba985bec4aacbd39aa82b5261 (patch) | |
tree | 93128bc3ddf8d039524808581b819e55d8e470a9 /src/core/web_engine_context.cpp | |
parent | b3872ab2bb94b70e3f43cdf4217d959b95815d26 (diff) |
Better error reporting for QWebEngineUrlScheme
Add warnings for late registration and invalid configuration.
Fixes: QTBUG-72842
Change-Id: I2c103c3b3581112cc885c3a1b4f42c011c3510ab
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/web_engine_context.cpp')
-rw-r--r-- | src/core/web_engine_context.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp index ca52a5e67..edae5c47d 100644 --- a/src/core/web_engine_context.cpp +++ b/src/core/web_engine_context.cpp @@ -353,11 +353,16 @@ WebEngineContext::WebEngineContext() qputenv("force_s3tc_enable", "true"); #endif - QWebEngineUrlScheme qrcScheme(QByteArrayLiteral("qrc")); - qrcScheme.setFlags(QWebEngineUrlScheme::SecureScheme - | QWebEngineUrlScheme::LocalAccessAllowed - | QWebEngineUrlScheme::ViewSourceAllowed); - QWebEngineUrlScheme::registerScheme(qrcScheme); + if (QWebEngineUrlScheme::schemeByName(QByteArrayLiteral("qrc")) == QWebEngineUrlScheme()) { + // User might have registered "qrc" already with different options. + QWebEngineUrlScheme qrcScheme(QByteArrayLiteral("qrc")); + qrcScheme.setFlags(QWebEngineUrlScheme::SecureScheme + | QWebEngineUrlScheme::LocalAccessAllowed + | QWebEngineUrlScheme::ViewSourceAllowed); + QWebEngineUrlScheme::registerScheme(qrcScheme); + } + + QWebEngineUrlScheme::lockSchemes(); // Allow us to inject javascript like any webview toolkit. content::RenderFrameHost::AllowInjectingJavaScriptForAndroidWebView(); |