Title: [104287] trunk/Source/WebKit2
Revision
104287
Author
[email protected]
Date
2012-01-06 05:34:27 -0800 (Fri, 06 Jan 2012)

Log Message

[Qt][WK2] QQuickWebView breaks when an empty url is loaded
https://bugs.webkit.org/show_bug.cgi?id=75445

Patch by Rafael Brandao <[email protected]> on 2012-01-06
Reviewed by Tor Arne Vestbø.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebView::load):
* UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load
an empty url is ignored. 'about:blank' should be used instead to load an empty page.
* UIProcess/API/qt/tests/qmltests/qmltests.pro:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (104286 => 104287)


--- trunk/Source/WebKit2/ChangeLog	2012-01-06 13:18:09 UTC (rev 104286)
+++ trunk/Source/WebKit2/ChangeLog	2012-01-06 13:34:27 UTC (rev 104287)
@@ -1,3 +1,16 @@
+2012-01-06  Rafael Brandao  <[email protected]>
+
+        [Qt][WK2] QQuickWebView breaks when an empty url is loaded
+        https://bugs.webkit.org/show_bug.cgi?id=75445
+
+        Reviewed by Tor Arne Vestbø.
+
+        * UIProcess/API/qt/qquickwebview.cpp:
+        (QQuickWebView::load):
+        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load
+        an empty url is ignored. 'about:blank' should be used instead to load an empty page.
+        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
+
 2012-01-06  Tor Arne Vestbø  <[email protected]>
 
         [Qt] Move listing of include paths and libs to pri files in sources

Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (104286 => 104287)


--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp	2012-01-06 13:18:09 UTC (rev 104286)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp	2012-01-06 13:34:27 UTC (rev 104287)
@@ -814,6 +814,9 @@
 
 void QQuickWebView::load(const QUrl& url)
 {
+    if (url.isEmpty())
+        return;
+
     Q_D(QQuickWebView);
     d->webPageProxy->loadURL(url.toString());
 }

Added: trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml (0 => 104287)


--- trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml	                        (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml	2012-01-06 13:34:27 UTC (rev 104287)
@@ -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 = ""
+
+            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)
+        }
+    }
+}

Modified: trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro (104286 => 104287)


--- trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro	2012-01-06 13:18:09 UTC (rev 104286)
+++ trunk/Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro	2012-01-06 13:34:27 UTC (rev 104287)
@@ -22,6 +22,7 @@
     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 \
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to