import QtQuick 2.5 import QtWebChannel 1.0 import QtWebEngine 1.5 import controlsUit 1.0 WebView { id: webview url: "https://highfidelity.com/" profile: FileTypeProfile; property var parentRoot: null // Create a global EventBridge object for raiseAndLowerKeyboard. WebEngineScript { id: createGlobalEventBridge sourceCode: eventBridgeJavaScriptToInject injectionPoint: WebEngineScript.Deferred worldId: WebEngineScript.MainWorld } // Detect when may want to raise and lower keyboard. WebEngineScript { id: raiseAndLowerKeyboard injectionPoint: WebEngineScript.Deferred sourceUrl: resourceDirectoryUrl + "/html/raiseAndLowerKeyboard.js" worldId: WebEngineScript.MainWorld } userScripts: [ createGlobalEventBridge, raiseAndLowerKeyboard ] onFeaturePermissionRequested: { if (feature == 2) { // QWebEnginePage::MediaAudioCapture grantFeaturePermission(securityOrigin, feature, true); } else { permissionsBar.securityOrigin = securityOrigin; permissionsBar.feature = feature; parentRoot.showPermissionsBar(); } } onLoadingChanged: { if (loadRequest.status === WebEngineView.LoadSucceededStatus) { addressBar.text = loadRequest.url } parentRoot.loadingChanged(loadRequest.status); } onWindowCloseRequested: { parentRoot.destroy(); } Component.onCompleted: { webChannel.registerObject("eventBridge", eventBridge); webChannel.registerObject("eventBridgeWrapper", eventBridgeWrapper); desktop.initWebviewProfileHandlers(webview.profile); } }