summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesus Fernandez <jesus.fernandez@qt.io>2017-09-23 14:21:14 +0200
committerJesus Fernandez <Jesus.Fernandez@qt.io>2017-10-03 11:55:10 +0000
commit97275fc54abd103ae8f603027ce829ce3429c896 (patch)
treefe573fd586894c201129a2e97214cf97df901d58
parent61bc1d8b66f5e4591781e3f1b9a751c016a95c6c (diff)
Allow users to disable the loading/waiting screen animation
Allows the user to disable the browser loading animation for debugging purposes. WebGL Inspector tries to debug the loading screen instead of the proper WebGL context. It can be disabled setting the QT_WEBGL_LOADINGSCREEN environment variable to '0' or sending the 'noloadingscreen' parameter to the QPA plugin. By default, the browser will show the loading screen. Change-Id: I5d84173d79c3f3fc67b776ba2f8fc8928a0194a1 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r--src/plugins/platforms/webgl/qwebglmain.cpp2
-rw-r--r--src/plugins/platforms/webgl/qwebglwebsocketserver.cpp1
-rw-r--r--src/plugins/platforms/webgl/webqt.jsx5
3 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/platforms/webgl/qwebglmain.cpp b/src/plugins/platforms/webgl/qwebglmain.cpp
index 4f7ede7..9f34cb3 100644
--- a/src/plugins/platforms/webgl/qwebglmain.cpp
+++ b/src/plugins/platforms/webgl/qwebglmain.cpp
@@ -62,6 +62,8 @@ QPlatformIntegration* QWebGLIntegrationPlugin::create(const QString& system,
return nullptr;
}
}
+ if (parts.first() == QStringLiteral("noloadingscreen"))
+ qputenv("QT_WEBGL_LOADINGSCREEN", "0");
}
}
if (!system.compare(QLatin1String("webgl"), Qt::CaseInsensitive))
diff --git a/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp b/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp
index ea52943..f41d2fe 100644
--- a/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp
+++ b/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp
@@ -294,6 +294,7 @@ void QWebGLWebSocketServer::onNewConnection()
false
#endif
},
+ { QStringLiteral("loadingScreen"), qgetenv("QT_WEBGL_LOADINGSCREEN") },
{ "sysinfo",
QVariantMap {
{ QStringLiteral("buildAbi"), QSysInfo::buildAbi() },
diff --git a/src/plugins/platforms/webgl/webqt.jsx b/src/plugins/platforms/webgl/webqt.jsx
index 5d8eb2a..02a05df 100644
--- a/src/plugins/platforms/webgl/webqt.jsx
+++ b/src/plugins/platforms/webgl/webqt.jsx
@@ -34,6 +34,7 @@ function physicalSizeRatio() {
window.onload = function () {
var DEBUG = 0;
+ var LOADINGSCREEN = 1;
var canvas;
var socket = new WebSocket("ws://" + host + ":" + port);
socket.binaryType = "arraybuffer";
@@ -113,6 +114,8 @@ window.onload = function () {
var body = document.getElementsByTagName("body")[0];
body.appendChild(canvas);
+ if (!LOADINGSCREEN)
+ return canvas;
var gl = canvas.getContext("webgl");
var loadingVertexShaderSource =
@@ -1186,6 +1189,8 @@ window.onload = function () {
var sysinfo = obj["sysinfo"];
if (obj["debug"])
DEBUG = 1;
+ if (obj["loadingScreen"] === "0")
+ LOADINGSCREEN = 0;
console.log(sysinfo);
} else {
console.error("Unknown message type");