From d71fb2a10085bf760a60b7983526f08ee55877f1 Mon Sep 17 00:00:00 2001 From: danteruiz Date: Thu, 7 Feb 2019 14:56:15 -0800 Subject: [PATCH 1/2] moved missed QtWebEngine references to +webengines --- .../resources/qml/+webengine/QmlWebWindow.qml | 108 +++++ interface/resources/qml/QmlWebWindow.qml | 43 -- .../qml/controlsUit/+webengine/WebSpinner.qml | 24 + .../resources/qml/controlsUit/WebSpinner.qml | 8 +- .../qml/hifi/+webengine/DesktopWebEngine.qml | 44 ++ interface/resources/qml/hifi/Desktop.qml | 42 +- .../resources/qml/hifi/DesktopWebEngine.qml | 17 + interface/resources/qml/hifi/WebBrowser.qml | 443 ------------------ .../resources/qml/hifi/avatarapp/Spinner.qml | 1 - .../commerce/marketplace/MarketplaceItem.qml | 1 - .../qml/hifi/tablet/BlocksWebView.qml | 2 - .../resources/qml/hifi/tablet/TabletMenu.qml | 2 - .../qml/hifi/tablet/TabletWebView.qml | 2 - .../qml/hifi/tablet/WindowWebView.qml | 2 - 14 files changed, 208 insertions(+), 531 deletions(-) create mode 100644 interface/resources/qml/+webengine/QmlWebWindow.qml create mode 100644 interface/resources/qml/controlsUit/+webengine/WebSpinner.qml create mode 100644 interface/resources/qml/hifi/+webengine/DesktopWebEngine.qml create mode 100644 interface/resources/qml/hifi/DesktopWebEngine.qml delete mode 100644 interface/resources/qml/hifi/WebBrowser.qml diff --git a/interface/resources/qml/+webengine/QmlWebWindow.qml b/interface/resources/qml/+webengine/QmlWebWindow.qml new file mode 100644 index 0000000000..2e3718f6f5 --- /dev/null +++ b/interface/resources/qml/+webengine/QmlWebWindow.qml @@ -0,0 +1,108 @@ +// +// QmlWebWindow.qml +// +// Created by Bradley Austin Davis on 17 Dec 2015 +// Copyright 2015 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.5 +import QtWebEngine 1.1 +import QtWebChannel 1.0 + +import "qrc:////qml//windows" as Windows +import controlsUit 1.0 as Controls +import stylesUit 1.0 + +Windows.ScrollingWindow { + id: root + HifiConstants { id: hifi } + title: "WebWindow" + resizable: true + shown: false + // Don't destroy on close... otherwise the JS/C++ will have a dangling pointer + destroyOnCloseButton: false + property alias source: webview.url + property alias scriptUrl: webview.userScriptUrl + + // This is for JS/QML communication, which is unused in a WebWindow, + // but not having this here results in spurious warnings about a + // missing signal + signal sendToScript(var message); + + signal moved(vector2d position); + signal resized(size size); + + function notifyMoved() { + moved(Qt.vector2d(x, y)); + } + + function notifyResized() { + resized(Qt.size(width, height)); + } + + onXChanged: notifyMoved(); + onYChanged: notifyMoved(); + + onWidthChanged: notifyResized(); + onHeightChanged: notifyResized(); + + onShownChanged: { + keyboardEnabled = HMD.active; + } + + Item { + width: pane.contentWidth + implicitHeight: pane.scrollHeight + + Controls.WebView { + id: webview + url: "about:blank" + anchors.fill: parent + focus: true + profile: HFWebEngineProfile; + + property string userScriptUrl: "" + + // Create a global EventBridge object for raiseAndLowerKeyboard. + WebEngineScript { + id: createGlobalEventBridge + sourceCode: eventBridgeJavaScriptToInject + injectionPoint: WebEngineScript.DocumentCreation + 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 + } + + // User script. + WebEngineScript { + id: userScript + sourceUrl: webview.userScriptUrl + injectionPoint: WebEngineScript.DocumentReady // DOM ready but page load may not be finished. + worldId: WebEngineScript.MainWorld + } + + userScripts: [ createGlobalEventBridge, raiseAndLowerKeyboard, userScript ] + + function onWebEventReceived(event) { + if (event.slice(0, 17) === "CLARA.IO DOWNLOAD") { + ApplicationInterface.addAssetToWorldFromURL(event.slice(18)); + } + } + + Component.onCompleted: { + webChannel.registerObject("eventBridge", eventBridge); + webChannel.registerObject("eventBridgeWrapper", eventBridgeWrapper); + eventBridge.webEventReceived.connect(onWebEventReceived); + } + } + } +} diff --git a/interface/resources/qml/QmlWebWindow.qml b/interface/resources/qml/QmlWebWindow.qml index 322535641d..5da10906ff 100644 --- a/interface/resources/qml/QmlWebWindow.qml +++ b/interface/resources/qml/QmlWebWindow.qml @@ -9,8 +9,6 @@ // import QtQuick 2.5 -import QtWebEngine 1.1 -import QtWebChannel 1.0 import "windows" as Windows import controlsUit 1.0 as Controls @@ -62,47 +60,6 @@ Windows.ScrollingWindow { url: "about:blank" anchors.fill: parent focus: true - profile: HFWebEngineProfile; - - property string userScriptUrl: "" - - // Create a global EventBridge object for raiseAndLowerKeyboard. - WebEngineScript { - id: createGlobalEventBridge - sourceCode: eventBridgeJavaScriptToInject - injectionPoint: WebEngineScript.DocumentCreation - 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 - } - - // User script. - WebEngineScript { - id: userScript - sourceUrl: webview.userScriptUrl - injectionPoint: WebEngineScript.DocumentReady // DOM ready but page load may not be finished. - worldId: WebEngineScript.MainWorld - } - - userScripts: [ createGlobalEventBridge, raiseAndLowerKeyboard, userScript ] - - function onWebEventReceived(event) { - if (event.slice(0, 17) === "CLARA.IO DOWNLOAD") { - ApplicationInterface.addAssetToWorldFromURL(event.slice(18)); - } - } - - Component.onCompleted: { - webChannel.registerObject("eventBridge", eventBridge); - webChannel.registerObject("eventBridgeWrapper", eventBridgeWrapper); - eventBridge.webEventReceived.connect(onWebEventReceived); - } } } } diff --git a/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml b/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml new file mode 100644 index 0000000000..e8e01c4865 --- /dev/null +++ b/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml @@ -0,0 +1,24 @@ +// +// WebSpinner.qml +// +// Created by David Rowe on 23 May 2017 +// Copyright 2017 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.5 +import QtWebEngine 1.5 + +AnimatedImage { + property WebEngineView webview: parent + source: "../../icons/loader-snake-64-w.gif" + visible: webview.loading && /^(http.*|)$/i.test(webview.url.toString()) + playing: visible + z: 10000 + anchors { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter + } +} diff --git a/interface/resources/qml/controlsUit/WebSpinner.qml b/interface/resources/qml/controlsUit/WebSpinner.qml index e8e01c4865..fb3dc3a8ab 100644 --- a/interface/resources/qml/controlsUit/WebSpinner.qml +++ b/interface/resources/qml/controlsUit/WebSpinner.qml @@ -9,10 +9,14 @@ // import QtQuick 2.5 -import QtWebEngine 1.5 AnimatedImage { - property WebEngineView webview: parent + Item { + id: webView + property bool loading: false + property string url: "" + } + source: "../../icons/loader-snake-64-w.gif" visible: webview.loading && /^(http.*|)$/i.test(webview.url.toString()) playing: visible diff --git a/interface/resources/qml/hifi/+webengine/DesktopWebEngine.qml b/interface/resources/qml/hifi/+webengine/DesktopWebEngine.qml new file mode 100644 index 0000000000..56cc38254f --- /dev/null +++ b/interface/resources/qml/hifi/+webengine/DesktopWebEngine.qml @@ -0,0 +1,44 @@ +import QtQuick 2.7 +import QtWebEngine 1.5 + +Item { + id: root + + property bool webViewProfileSetup: false + property string currentUrl: "" + property string downloadUrl: "" + property string adaptedPath: "" + property string tempDir: "" + function setupWebEngineSettings() { + WebEngine.settings.javascriptCanOpenWindows = true; + WebEngine.settings.javascriptCanAccessClipboard = false; + WebEngine.settings.spatialNavigationEnabled = false; + WebEngine.settings.localContentCanAccessRemoteUrls = true; + } + + + function initWebviewProfileHandlers(profile) { + downloadUrl = currentUrl; + if (webViewProfileSetup) return; + webViewProfileSetup = true; + + profile.downloadRequested.connect(function(download){ + adaptedPath = File.convertUrlToPath(downloadUrl); + tempDir = File.getTempDir(); + download.path = tempDir + "/" + adaptedPath; + download.accept(); + if (download.state === WebEngineDownloadItem.DownloadInterrupted) { + console.log("download failed to complete"); + } + }) + + profile.downloadFinished.connect(function(download){ + if (download.state === WebEngineDownloadItem.DownloadCompleted) { + File.runUnzip(download.path, downloadUrl, autoAdd); + } else { + console.log("The download was corrupted, state: " + download.state); + } + autoAdd = false; + }) + } +} diff --git a/interface/resources/qml/hifi/Desktop.qml b/interface/resources/qml/hifi/Desktop.qml index 731477e2ae..c44ebdbab1 100644 --- a/interface/resources/qml/hifi/Desktop.qml +++ b/interface/resources/qml/hifi/Desktop.qml @@ -1,5 +1,4 @@ import QtQuick 2.7 -import QtWebEngine 1.5; import Qt.labs.settings 1.0 as QtSettings import QtQuick.Controls 2.3 @@ -88,43 +87,20 @@ OriginalDesktop.Desktop { })({}); Component.onCompleted: { - WebEngine.settings.javascriptCanOpenWindows = true; - WebEngine.settings.javascriptCanAccessClipboard = false; - WebEngine.settings.spatialNavigationEnabled = false; - WebEngine.settings.localContentCanAccessRemoteUrls = true; + webEngineConfig.setupWebEngineSettings(); } // Accept a download through the webview - property bool webViewProfileSetup: false - property string currentUrl: "" - property string downloadUrl: "" - property string adaptedPath: "" - property string tempDir: "" + property alias webViewProfileSetup: webEngineConfig.webViewProfileSetup + property alias currentUrl: webEngineConfig.currentUrl + property alias downloadUrl: webEngineConfig.downloadUrl + property alias adaptedPath: webEngineConfig.adaptedPath + property alias tempDir: webEngineConfig.tempDir + property var initWebviewProfileHandlers: webEngineConfig.initWebviewProfileHandlers property bool autoAdd: false - function initWebviewProfileHandlers(profile) { - downloadUrl = currentUrl; - if (webViewProfileSetup) return; - webViewProfileSetup = true; - - profile.downloadRequested.connect(function(download){ - adaptedPath = File.convertUrlToPath(downloadUrl); - tempDir = File.getTempDir(); - download.path = tempDir + "/" + adaptedPath; - download.accept(); - if (download.state === WebEngineDownloadItem.DownloadInterrupted) { - console.log("download failed to complete"); - } - }) - - profile.downloadFinished.connect(function(download){ - if (download.state === WebEngineDownloadItem.DownloadCompleted) { - File.runUnzip(download.path, downloadUrl, autoAdd); - } else { - console.log("The download was corrupted, state: " + download.state); - } - autoAdd = false; - }) + DesktopWebEngine { + id: webEngineConfig } function setAutoAdd(auto) { diff --git a/interface/resources/qml/hifi/DesktopWebEngine.qml b/interface/resources/qml/hifi/DesktopWebEngine.qml new file mode 100644 index 0000000000..58c6244e7e --- /dev/null +++ b/interface/resources/qml/hifi/DesktopWebEngine.qml @@ -0,0 +1,17 @@ +import QtQuick 2.7 + +Item { + id: root + + property bool webViewProfileSetup: false + property string currentUrl: "" + property string downloadUrl: "" + property string adaptedPath: "" + property string tempDir: "" + function setupWebEngineSettings() { + } + + + function initWebviewProfileHandlers(profile) { + } +} diff --git a/interface/resources/qml/hifi/WebBrowser.qml b/interface/resources/qml/hifi/WebBrowser.qml deleted file mode 100644 index c05de26471..0000000000 --- a/interface/resources/qml/hifi/WebBrowser.qml +++ /dev/null @@ -1,443 +0,0 @@ - -// -// WebBrowser.qml -// -// -// Created by Vlad Stelmahovsky on 06/22/2017 -// Copyright 2017 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 QtQuick.Controls 2.2 as QQControls -import QtQuick.Layouts 1.3 -import QtGraphicalEffects 1.0 - -import QtWebEngine 1.5 -import QtWebChannel 1.0 - -import stylesUit 1.0 -import controlsUit 1.0 as HifiControls -import "../windows" -import "../controls" - -import HifiWeb 1.0 - -Rectangle { - id: root; - - HifiConstants { id: hifi; } - - property string title: ""; - signal sendToScript(var message); - property bool keyboardEnabled: true // FIXME - Keyboard HMD only: Default to false - property bool keyboardRaised: false - property bool punctuationMode: false - property var suggestionsList: [] - readonly property string searchUrlTemplate: "https://www.google.com/search?client=hifibrowser&q="; - - - WebBrowserSuggestionsEngine { - id: searchEngine - - onSuggestions: { - if (suggestions.length > 0) { - suggestionsList = [] - suggestionsList.push(addressBarInput.text); //do not overwrite edit text - for(var i = 0; i < suggestions.length; i++) { - suggestionsList.push(suggestions[i]); - } - addressBar.model = suggestionsList - if (!addressBar.popup.visible) { - addressBar.popup.open(); - } - } - } - } - - Timer { - id: suggestionRequestTimer - interval: 200 - repeat: false - onTriggered: { - if (addressBar.editText !== "") { - searchEngine.querySuggestions(addressBarInput.text); - } - } - } - - color: hifi.colors.baseGray; - - function goTo(url) { - //must be valid attempt to open an site with dot - var urlNew = url - if (url.indexOf(".") > 0) { - if (url.indexOf("http") < 0) { - urlNew = "http://" + url; - } - } else { - urlNew = searchUrlTemplate + url - } - - addressBar.model = [] - //need to rebind if binfing was broken by selecting from suggestions - addressBar.editText = Qt.binding( function() { return webStack.currentItem.webEngineView.url; }); - webStack.currentItem.webEngineView.url = urlNew - suggestionRequestTimer.stop(); - addressBar.popup.close(); - } - - Column { - spacing: 2 - width: parent.width; - - RowLayout { - id: addressBarRow - width: parent.width; - height: 48 - - HifiControls.WebGlyphButton { - enabled: webStack.currentItem.webEngineView.canGoBack || webStack.depth > 1 - glyph: hifi.glyphs.backward; - anchors.verticalCenter: parent.verticalCenter; - size: 38; - onClicked: { - if (webStack.currentItem.webEngineView.canGoBack) { - webStack.currentItem.webEngineView.goBack(); - } else if (webStack.depth > 1) { - webStack.pop(); - } - } - } - - HifiControls.WebGlyphButton { - enabled: webStack.currentItem.webEngineView.canGoForward - glyph: hifi.glyphs.forward; - anchors.verticalCenter: parent.verticalCenter; - size: 38; - onClicked: { - webStack.currentItem.webEngineView.goForward(); - } - } - - QQControls.ComboBox { - id: addressBar - - //selectByMouse: true - focus: true - - editable: true - //flat: true - indicator: Item {} - background: Item {} - onActivated: { - goTo(textAt(index)); - } - - onHighlightedIndexChanged: { - if (highlightedIndex >= 0) { - addressBar.editText = textAt(highlightedIndex) - } - } - - popup.height: webStack.height - - onFocusChanged: { - if (focus) { - addressBarInput.selectAll(); - } - } - - contentItem: QQControls.TextField { - id: addressBarInput - leftPadding: 26 - rightPadding: hifi.dimensions.controlLineHeight + 5 - text: addressBar.editText - placeholderText: qsTr("Enter URL") - font: addressBar.font - selectByMouse: true - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - onFocusChanged: { - if (focus) { - selectAll(); - } - } - - Keys.onDeletePressed: { - addressBarInput.text = "" - } - - Keys.onPressed: { - if (event.key === Qt.Key_Return) { - goTo(addressBarInput.text); - event.accepted = true; - } - } - - Image { - anchors.verticalCenter: parent.verticalCenter; - x: 5 - z: 2 - id: faviconImage - width: 16; height: 16 - sourceSize: Qt.size(width, height) - source: webStack.currentItem.webEngineView.icon - } - - HifiControls.WebGlyphButton { - glyph: webStack.currentItem.webEngineView.loading ? hifi.glyphs.closeSmall : hifi.glyphs.reloadSmall; - anchors.verticalCenter: parent.verticalCenter; - width: hifi.dimensions.controlLineHeight - z: 2 - x: addressBarInput.width - implicitWidth - onClicked: { - if (webStack.currentItem.webEngineView.loading) { - webStack.currentItem.webEngineView.stop(); - } else { - webStack.currentItem.reloadTimer.start(); - } - } - } - } - - Component.onCompleted: ScriptDiscoveryService.scriptsModelFilter.filterRegExp = new RegExp("^.*$", "i"); - - Keys.onPressed: { - if (event.key === Qt.Key_Return) { - goTo(addressBarInput.text); - event.accepted = true; - } - } - - onEditTextChanged: { - if (addressBar.editText !== "" && addressBar.editText !== webStack.currentItem.webEngineView.url.toString()) { - suggestionRequestTimer.restart(); - } else { - addressBar.model = [] - addressBar.popup.close(); - } - - } - - Layout.fillWidth: true - editText: webStack.currentItem.webEngineView.url - onAccepted: goTo(addressBarInput.text); - } - - HifiControls.WebGlyphButton { - checkable: true - checked: webStack.currentItem.webEngineView.audioMuted - glyph: checked ? hifi.glyphs.unmuted : hifi.glyphs.muted - anchors.verticalCenter: parent.verticalCenter; - width: hifi.dimensions.controlLineHeight - onClicked: { - webStack.currentItem.webEngineView.audioMuted = !webStack.currentItem.webEngineView.audioMuted - } - } - } - - QQControls.ProgressBar { - id: loadProgressBar - background: Rectangle { - implicitHeight: 2 - color: "#6A6A6A" - } - - contentItem: Item { - implicitHeight: 2 - - Rectangle { - width: loadProgressBar.visualPosition * parent.width - height: parent.height - color: "#00B4EF" - } - } - - width: parent.width; - from: 0 - to: 100 - value: webStack.currentItem.webEngineView.loadProgress - height: 2 - } - - Component { - id: webViewComponent - Rectangle { - property alias webEngineView: webEngineView - property alias reloadTimer: reloadTimer - - property WebEngineNewViewRequest request: null - - property bool isDialog: QQControls.StackView.index > 0 - property real margins: isDialog ? 10 : 0 - - color: "#d1d1d1" - - QQControls.StackView.onActivated: { - addressBar.editText = Qt.binding( function() { return webStack.currentItem.webEngineView.url; }); - } - - onRequestChanged: { - if (isDialog && request !== null && request !== undefined) {//is Dialog ? - request.openIn(webEngineView); - } - } - - HifiControls.BaseWebView { - id: webEngineView - anchors.fill: parent - anchors.margins: parent.margins - - layer.enabled: parent.isDialog - layer.effect: DropShadow { - verticalOffset: 8 - horizontalOffset: 8 - color: "#330066ff" - samples: 10 - spread: 0.5 - } - - focus: true - objectName: "tabletWebEngineView" - - //profile: HFWebEngineProfile; - profile.httpUserAgent: "Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0" - - property string userScriptUrl: "" - - onLoadingChanged: { - if (!loading) { - addressBarInput.cursorPosition = 0 //set input field cursot to beginning - suggestionRequestTimer.stop(); - addressBar.popup.close(); - } - } - - onLinkHovered: { - //TODO: change cursor shape? - } - - // creates a global EventBridge object. - WebEngineScript { - id: createGlobalEventBridge - sourceCode: eventBridgeJavaScriptToInject - injectionPoint: WebEngineScript.Deferred - worldId: WebEngineScript.MainWorld - } - - // detects when to raise and lower virtual keyboard - WebEngineScript { - id: raiseAndLowerKeyboard - injectionPoint: WebEngineScript.Deferred - sourceUrl: resourceDirectoryUrl + "/html/raiseAndLowerKeyboard.js" - worldId: WebEngineScript.MainWorld - } - - // User script. - WebEngineScript { - id: userScript - sourceUrl: webEngineView.userScriptUrl - injectionPoint: WebEngineScript.DocumentReady // DOM ready but page load may not be finished. - worldId: WebEngineScript.MainWorld - } - - userScripts: [ createGlobalEventBridge, raiseAndLowerKeyboard, userScript ] - - settings.autoLoadImages: true - settings.javascriptEnabled: true - settings.errorPageEnabled: true - settings.pluginsEnabled: true - settings.fullScreenSupportEnabled: true - settings.autoLoadIconsForPage: true - settings.touchIconsEnabled: true - - onCertificateError: { - error.defer(); - } - - Component.onCompleted: { - webChannel.registerObject("eventBridge", eventBridge); - webChannel.registerObject("eventBridgeWrapper", eventBridgeWrapper); - } - - onFeaturePermissionRequested: { - grantFeaturePermission(securityOrigin, feature, true); - } - - onNewViewRequested: { - if (request.destination == WebEngineView.NewViewInDialog) { - webStack.push(webViewComponent, {"request": request}); - } else { - request.openIn(webEngineView); - } - } - - onRenderProcessTerminated: { - var status = ""; - switch (terminationStatus) { - case WebEngineView.NormalTerminationStatus: - status = "(normal exit)"; - break; - case WebEngineView.AbnormalTerminationStatus: - status = "(abnormal exit)"; - break; - case WebEngineView.CrashedTerminationStatus: - status = "(crashed)"; - break; - case WebEngineView.KilledTerminationStatus: - status = "(killed)"; - break; - } - - console.error("Render process exited with code " + exitCode + " " + status); - reloadTimer.running = true; - } - - onFullScreenRequested: { - if (request.toggleOn) { - webEngineView.state = "FullScreen"; - } else { - webEngineView.state = ""; - } - request.accept(); - } - - onWindowCloseRequested: { - webStack.pop(); - } - } - Timer { - id: reloadTimer - interval: 0 - running: false - repeat: false - onTriggered: webEngineView.reload() - } - } - } - - QQControls.StackView { - id: webStack - width: parent.width; - property real webViewHeight: root.height - loadProgressBar.height - 48 - 4 - height: keyboardEnabled && keyboardRaised ? webViewHeight - keyboard.height : webViewHeight - - Component.onCompleted: webStack.push(webViewComponent, {"webEngineView.url": "https://www.highfidelity.com"}); - } - } - - - HifiControls.Keyboard { - id: keyboard - raised: parent.keyboardEnabled && parent.keyboardRaised - numeric: parent.punctuationMode - anchors { - left: parent.left - right: parent.right - bottom: parent.bottom - } - } -} diff --git a/interface/resources/qml/hifi/avatarapp/Spinner.qml b/interface/resources/qml/hifi/avatarapp/Spinner.qml index 3fc331346d..14f8e922d7 100644 --- a/interface/resources/qml/hifi/avatarapp/Spinner.qml +++ b/interface/resources/qml/hifi/avatarapp/Spinner.qml @@ -1,5 +1,4 @@ import QtQuick 2.5 -import QtWebEngine 1.5 AnimatedImage { source: "../../../icons/loader-snake-64-w.gif" diff --git a/interface/resources/qml/hifi/commerce/marketplace/MarketplaceItem.qml b/interface/resources/qml/hifi/commerce/marketplace/MarketplaceItem.qml index 24ef528673..1909157a79 100644 --- a/interface/resources/qml/hifi/commerce/marketplace/MarketplaceItem.qml +++ b/interface/resources/qml/hifi/commerce/marketplace/MarketplaceItem.qml @@ -15,7 +15,6 @@ import Hifi 1.0 as Hifi import QtQuick 2.9 import QtQuick.Controls 2.2 import QtGraphicalEffects 1.0 -import QtWebEngine 1.5 import stylesUit 1.0 import controlsUit 1.0 as HifiControlsUit import "../../../controls" as HifiControls diff --git a/interface/resources/qml/hifi/tablet/BlocksWebView.qml b/interface/resources/qml/hifi/tablet/BlocksWebView.qml index 1e9eb3beb4..03fce0a112 100644 --- a/interface/resources/qml/hifi/tablet/BlocksWebView.qml +++ b/interface/resources/qml/hifi/tablet/BlocksWebView.qml @@ -1,6 +1,4 @@ import QtQuick 2.0 -import QtWebEngine 1.2 - import "../../controls" as Controls Controls.TabletWebView { diff --git a/interface/resources/qml/hifi/tablet/TabletMenu.qml b/interface/resources/qml/hifi/tablet/TabletMenu.qml index 267fb9f0cf..5f06e4fbab 100644 --- a/interface/resources/qml/hifi/tablet/TabletMenu.qml +++ b/interface/resources/qml/hifi/tablet/TabletMenu.qml @@ -2,8 +2,6 @@ import QtQuick 2.5 import QtGraphicalEffects 1.0 import QtQuick.Controls 1.4 import QtQml 2.2 -import QtWebChannel 1.0 -import QtWebEngine 1.1 import "." diff --git a/interface/resources/qml/hifi/tablet/TabletWebView.qml b/interface/resources/qml/hifi/tablet/TabletWebView.qml index ff6be0480f..9eba7824e0 100644 --- a/interface/resources/qml/hifi/tablet/TabletWebView.qml +++ b/interface/resources/qml/hifi/tablet/TabletWebView.qml @@ -1,6 +1,4 @@ import QtQuick 2.0 -import QtWebEngine 1.2 - import "../../controls" as Controls Controls.TabletWebScreen { diff --git a/interface/resources/qml/hifi/tablet/WindowWebView.qml b/interface/resources/qml/hifi/tablet/WindowWebView.qml index 0f697d634e..632ab712cb 100644 --- a/interface/resources/qml/hifi/tablet/WindowWebView.qml +++ b/interface/resources/qml/hifi/tablet/WindowWebView.qml @@ -1,6 +1,4 @@ import QtQuick 2.0 -import QtWebEngine 1.2 - import "../../controls" as Controls Controls.WebView { From 76a56c679a3c95209b7343bc239e97586e165230 Mon Sep 17 00:00:00 2001 From: danteruiz Date: Fri, 8 Feb 2019 10:03:05 -0800 Subject: [PATCH 2/2] making requested changes --- interface/resources/images/unsupportedImage.png | Bin 0 -> 24855 bytes interface/resources/qml/QmlWebWindow.qml | 1 + .../qml/controlsUit/+webengine/WebSpinner.qml | 2 +- .../resources/qml/controlsUit/WebSpinner.qml | 4 ++-- 4 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 interface/resources/images/unsupportedImage.png diff --git a/interface/resources/images/unsupportedImage.png b/interface/resources/images/unsupportedImage.png new file mode 100644 index 0000000000000000000000000000000000000000..87d238b67c9c66ec715d994269bda796b929ebab GIT binary patch literal 24855 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 QZ2$lO07*qoM6N<$g7ykz9RL6T literal 0 HcmV?d00001 diff --git a/interface/resources/qml/QmlWebWindow.qml b/interface/resources/qml/QmlWebWindow.qml index 5da10906ff..a40168039e 100644 --- a/interface/resources/qml/QmlWebWindow.qml +++ b/interface/resources/qml/QmlWebWindow.qml @@ -58,6 +58,7 @@ Windows.ScrollingWindow { Controls.WebView { id: webview url: "about:blank" + property string userScriptUrl: "" anchors.fill: parent focus: true } diff --git a/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml b/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml index e8e01c4865..c2e2ca4b40 100644 --- a/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml +++ b/interface/resources/qml/controlsUit/+webengine/WebSpinner.qml @@ -13,7 +13,7 @@ import QtWebEngine 1.5 AnimatedImage { property WebEngineView webview: parent - source: "../../icons/loader-snake-64-w.gif" + source: "qrc:////icons//loader-snake-64-w.gif" visible: webview.loading && /^(http.*|)$/i.test(webview.url.toString()) playing: visible z: 10000 diff --git a/interface/resources/qml/controlsUit/WebSpinner.qml b/interface/resources/qml/controlsUit/WebSpinner.qml index fb3dc3a8ab..bcf415e0c0 100644 --- a/interface/resources/qml/controlsUit/WebSpinner.qml +++ b/interface/resources/qml/controlsUit/WebSpinner.qml @@ -10,14 +10,14 @@ import QtQuick 2.5 -AnimatedImage { +Image { Item { id: webView property bool loading: false property string url: "" } - source: "../../icons/loader-snake-64-w.gif" + source: "qrc:////images//unsupportedImage.png" visible: webview.loading && /^(http.*|)$/i.test(webview.url.toString()) playing: visible z: 10000