diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API')
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 \ |