mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 18:36:45 +02:00
Fix scripting URL injection, I hope
This commit is contained in:
parent
b7f31eb5b9
commit
1a58aee385
2 changed files with 20 additions and 17 deletions
|
@ -81,21 +81,23 @@ Item {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadWebOnTop(url, injectJavaScriptUrl) {
|
function loadWebContent(source, url, injectJavaScriptUrl) {
|
||||||
tabletApps.append({"appUrl": loader.source, "isWebUrl": true, "scriptUrl": injectJavaScriptUrl, "appWebUrl": url});
|
tabletApps.append({"appUrl": source, "isWebUrl": true, "scriptUrl": injectJavaScriptUrl, "appWebUrl": url});
|
||||||
loader.item.url = tabletApps.get(currentApp).appWebUrl;
|
loader.load(source, function() {
|
||||||
loader.item.scriptUrl = tabletApps.get(currentApp).scriptUrl;
|
loader.item.url = tabletApps.get(currentApp).appWebUrl;
|
||||||
if (loader.item.hasOwnProperty("gotoPreviousApp")) {
|
loader.item.scriptUrl = tabletApps.get(currentApp).scriptUrl;
|
||||||
loader.item.gotoPreviousApp = true;
|
if (loader.item.hasOwnProperty("gotoPreviousApp")) {
|
||||||
}
|
loader.item.gotoPreviousApp = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadWebBase() {
|
function loadWebBase(url, injectJavaScriptUrl) {
|
||||||
loader.load("hifi/tablet/TabletWebView.qml");
|
loadWebContent("hifi/tablet/TabletWebView.qml", url, injectJavaScriptUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadTabletWebBase() {
|
function loadTabletWebBase(url, injectJavaScriptUrl) {
|
||||||
loader.load("hifi/tablet/BlocksWebView.qml");
|
loadWebContent("hifi/tablet/BlocksWebView.qml", url, injectJavaScriptUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
function returnToPreviousApp() {
|
function returnToPreviousApp() {
|
||||||
|
|
|
@ -679,19 +679,20 @@ void TabletProxy::gotoWebScreen(const QString& url, const QString& injectedJavaS
|
||||||
|
|
||||||
if (root) {
|
if (root) {
|
||||||
if (loadOtherBase) {
|
if (loadOtherBase) {
|
||||||
QMetaObject::invokeMethod(root, "loadTabletWebBase");
|
QMetaObject::invokeMethod(root, "loadTabletWebBase", Q_ARG(const QVariant&, QVariant(url)), Q_ARG(const QVariant&, QVariant(injectedJavaScriptUrl)));
|
||||||
} else {
|
} else {
|
||||||
QMetaObject::invokeMethod(root, "loadWebBase");
|
QMetaObject::invokeMethod(root, "loadWebBase", Q_ARG(const QVariant&, QVariant(url)), Q_ARG(const QVariant&, QVariant(injectedJavaScriptUrl)));
|
||||||
}
|
}
|
||||||
QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
|
QMetaObject::invokeMethod(root, "setShown", Q_ARG(const QVariant&, QVariant(true)));
|
||||||
if (_toolbarMode && _desktopWindow) {
|
if (_toolbarMode && _desktopWindow) {
|
||||||
QMetaObject::invokeMethod(root, "setResizable", Q_ARG(const QVariant&, QVariant(false)));
|
QMetaObject::invokeMethod(root, "setResizable", Q_ARG(const QVariant&, QVariant(false)));
|
||||||
}
|
}
|
||||||
QMetaObject::invokeMethod(root, "loadWebUrl", Q_ARG(const QVariant&, QVariant(url)), Q_ARG(const QVariant&, QVariant(injectedJavaScriptUrl)));
|
_state = State::Web;
|
||||||
|
emit screenChanged(QVariant("Web"), QVariant(url));
|
||||||
|
_currentPathLoaded = QVariant(url);
|
||||||
|
} else {
|
||||||
|
qWarning() << "Unable to load web content due to missing root";
|
||||||
}
|
}
|
||||||
_state = State::Web;
|
|
||||||
emit screenChanged(QVariant("Web"), QVariant(url));
|
|
||||||
_currentPathLoaded = QVariant(url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TabletButtonProxy* TabletProxy::addButton(const QVariant& properties) {
|
TabletButtonProxy* TabletProxy::addButton(const QVariant& properties) {
|
||||||
|
|
Loading…
Reference in a new issue