summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API')
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp3
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml55
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro1
3 files changed, 59 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
index 7bbef9182..264cbb044 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
@@ -814,6 +814,9 @@ QQuickWebPage* QQuickWebView::page()
void QQuickWebView::load(const QUrl& url)
{
+ if (url.isEmpty())
+ return;
+
Q_D(QQuickWebView);
d->webPageProxy->loadURL(url.toString());
}
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml
new file mode 100644
index 000000000..d70976c4a
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml
@@ -0,0 +1,55 @@
+import QtQuick 2.0
+import QtTest 1.0
+import QtWebKit 3.0
+
+WebView {
+ id: webView
+ property variant lastUrl
+ property bool watchProgress: false
+
+ onLoadProgressChanged: {
+ if (watchProgress && webView.loadProgress != 100) {
+ watchProgress = false
+ load('')
+ }
+ }
+
+ SignalSpy {
+ id: spy
+ target: webView
+ signalName: "loadSucceeded"
+ }
+
+ TestCase {
+ id: test
+ name: "WebViewLoadUrl"
+ function test_loadIgnoreEmptyUrl() {
+ compare(spy.count, 0)
+ var url = Qt.resolvedUrl("../common/test1.html")
+
+ webView.load(url)
+ spy.wait()
+ compare(spy.count, 1)
+ compare(webView.url, url)
+
+ lastUrl = webView.url
+ webView.load('')
+ wait(1000)
+ compare(spy.count, 1)
+ compare(webView.url, lastUrl)
+
+ webView.load('about:blank')
+ spy.wait()
+ compare(spy.count, 2)
+ compare(webView.url, 'about:blank')
+
+ // It shouldn't interrupt any ongoing load when an empty url is used.
+ watchProgress = true
+ webView.load(url)
+ spy.wait()
+ compare(spy.count, 3)
+ verify(!watchProgress)
+ compare(webView.url, url)
+ }
+ }
+}
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro
index 7e449a224..c8ce87a7f 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro
@@ -22,6 +22,7 @@ OTHER_FILES += \
WebView/tst_itemSelector.qml \
WebView/tst_javaScriptDialogs.qml \
WebView/tst_loadFail.qml \
+ WebView/tst_loadIgnore.qml \
WebView/tst_loadHtml.qml \
WebView/tst_loadProgress.qml \
WebView/tst_loadProgressSignal.qml \