mirror of
https://github.com/overte-org/overte.git
synced 2025-04-26 23:16:19 +02:00
61 lines
1.9 KiB
QML
61 lines
1.9 KiB
QML
//
|
|
// WebView.qml
|
|
//
|
|
// Created by Bradley Austin Davis on 12 Jan 2016
|
|
// Copyright 2016 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
import QtQuick 2.7
|
|
import QtWebEngine 1.5
|
|
import controlsUit 1.0 as ControlsUit
|
|
|
|
WebEngineView {
|
|
id: root
|
|
Component.onCompleted: {
|
|
console.log("Connecting JS messaging to Hifi Logging")
|
|
// Ensure the JS from the web-engine makes it to our logging
|
|
root.javaScriptConsoleMessage.connect(function(level, message, lineNumber, sourceID) {
|
|
console.log("Web Window JS message: " + sourceID + " " + lineNumber + " " + message);
|
|
});
|
|
}
|
|
|
|
onUrlChanged: {
|
|
permissionPopupBackground.visible = false;
|
|
}
|
|
|
|
onLoadingChanged: {
|
|
// Required to support clicking on "hifi://" links
|
|
if (WebEngineView.LoadStartedStatus == loadRequest.status) {
|
|
var url = loadRequest.url.toString();
|
|
if (urlHandler.canHandleUrl(url)) {
|
|
if (urlHandler.handleUrl(url)) {
|
|
root.stop();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
WebSpinner { }
|
|
|
|
onFeaturePermissionRequested: {
|
|
if (permissionPopupBackground.visible === true) {
|
|
console.log("Browser engine requested a new permission, but user is already being presented with a different permission request. Aborting request for new permission...");
|
|
return;
|
|
}
|
|
permissionPopupBackground.securityOrigin = securityOrigin;
|
|
permissionPopupBackground.feature = feature;
|
|
|
|
permissionPopupBackground.visible = true;
|
|
}
|
|
|
|
ControlsUit.PermissionPopupBackground {
|
|
id: permissionPopupBackground
|
|
z: 100
|
|
onSendPermission: {
|
|
root.grantFeaturePermission(securityOrigin, feature, shouldGivePermission);
|
|
}
|
|
}
|
|
}
|