[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756

kov at webkit.org kov at webkit.org
Fri Feb 26 22:20:17 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 04b1b2f2a0ff5b7882fddfef9401f23c30afd206
Author: kov at webkit.org <kov at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Feb 15 20:35:55 2010 +0000

    2010-02-15 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
    
            Reviewed by Xan Lopez.
    
            [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
            https://bugs.webkit.org/show_bug.cgi?id=34944
    
            Set the URL in the newly created response, when parsing data:
            URIs.
    
            Test: fast/harness/page-cache-crash-on-data-urls.html
    
            * platform/network/soup/ResourceHandleSoup.cpp:
            (WebCore::parseDataUrl):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index b96db8a..d307e9a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2010-02-15  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
+
+        Reviewed by Xan Lopez.
+
+        [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
+        https://bugs.webkit.org/show_bug.cgi?id=34944
+
+        * fast/harness/page-cache-crash-on-data-urls-expected.txt: Added.
+        * fast/harness/page-cache-crash-on-data-urls.html: Added.
+        * fast/harness/resources/cached-page-with-data-urls.html: Added.
+
 2010-02-15  Dan Bernstein  <mitz at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/LayoutTests/fast/harness/page-cache-crash-on-data-urls-expected.txt b/LayoutTests/fast/harness/page-cache-crash-on-data-urls-expected.txt
new file mode 100644
index 0000000..7ce1867
--- /dev/null
+++ b/LayoutTests/fast/harness/page-cache-crash-on-data-urls-expected.txt
@@ -0,0 +1,8 @@
+This tests that going back in history with page cache enabled is not going to crash/ASSERT when the previous page has data:// URLs.
+
+open page with data urls
+page with data urls, about to navigate to page-2.
+page-2, about to go back to page-1
+Back on page with data urls, timer is still firing.
+PASS.
+
diff --git a/LayoutTests/fast/harness/page-cache-crash-on-data-urls.html b/LayoutTests/fast/harness/page-cache-crash-on-data-urls.html
new file mode 100644
index 0000000..9bef46e
--- /dev/null
+++ b/LayoutTests/fast/harness/page-cache-crash-on-data-urls.html
@@ -0,0 +1,36 @@
+<html>
+<script>
+window.finish = function()
+{
+    if (layoutTestController)
+        layoutTestController.notifyDone();
+}
+
+window.log = function(message) {
+     document.getElementById("result").innerHTML += message + "<br>";
+}
+
+window.failure = function(message) {
+    log("FAIL: " + message);
+    finish();
+}
+
+function test()
+{
+    if (window.layoutTestController) {
+        layoutTestController.dumpAsText();
+        layoutTestController.waitUntilDone();
+        layoutTestController.setCanOpenWindows();
+        layoutTestController.overridePreference("WebKitUsesPageCachePreferenceKey", 1);
+    }
+    log("open page with data urls");
+    window.open("resources/cached-page-with-data-urls.html");
+}
+</script>
+
+<body onload="test()">
+<p>This tests that going back in history with page cache enabled is
+not going to crash/ASSERT when the previous page has data:// URLs.</p>
+<div id="result"></div>
+</body>
+</html>
diff --git a/LayoutTests/fast/harness/resources/cached-page-with-data-urls.html b/LayoutTests/fast/harness/resources/cached-page-with-data-urls.html
new file mode 100644
index 0000000..f85166d
--- /dev/null
+++ b/LayoutTests/fast/harness/resources/cached-page-with-data-urls.html
@@ -0,0 +1,26 @@
+<script>
+
+var intervalId;
+function check() {
+    // This flag is set by cached-page-2 when it loads.
+    // If the timer is fired before cached-page-2 loads, just bail and wait.
+    if (!window.opener.canExit)
+        return;
+
+    clearInterval(intervalId);
+    window.opener.log("Back on page with data urls, timer is still firing.");
+    window.opener.log("PASS.");
+    window.opener.finish();
+}
+
+function loadNext()
+{
+    intervalId = setInterval(check, 10);
+
+    window.opener.log("page with data urls, about to navigate to page-2.")
+    location.href = "cached-page-2.html";
+}
+</script>
+<body onload="loadNext()">
+<img src="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAnAFsDASIAAhEBAxEB/8QAHQAAAwEAAgMBAAAAAAAAAAAAAAcICQQGAQIDBf/EADgQAAIBAgQEBAQEAwkAAAAAAAECAwQFAAYHEQgSITETQVFhCSJxgRQjcoIyM5EVNEJikpOhwcL/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AmbRrOd3yXqLZ7xb7jJTJ+MjWpBlIR42YB+fyI2J741jRldFdGDKw3BB3BHrjGjGnXB9mypzfoHYautkaWroA1umdiSW8I7KST3PIU3PrvgG9gwYCQBuTsBgFjxVXOa08PWc6uCTw5Gt5pw2+3SV1jO3vs5xlriiOMnW2sz3mmoyhZagx5Ztc5RuRv75Mp2Lk+ag/wjt5+m074C9fhyX6qr9L75YqiRnitVzDU+/ZEmTmKj9ys37sVHiYvhy0NLDo9ea+N1apqb26S7d1VIYuUH/Ux++KdwBgwYWXE9nxtPNG7ze6WUR3GZBR0HqJpOgYfpHM37cBBfFvmOnzPxB5pr6OcTUsE6UcLDt+TGsbbe3Orn74VGPLszuXdizMdySepOHpp7wy52zjk225mpZYaeC4RmWJJB83JzEA/cAEexwCKxoZ8PNg2gs4B6re6gH/AG4j/wB4hrVXJ1dkHUG8ZTuCv4lBUMkbsP5sR6xuP1KQcPPgC1GbLuoc2SbhViO2X4FoA52VKtV+Xbp0LqOXv3CjAX9hFcZGrUenWnUlrtdUq5jvStT0qqfmgiI2kmPXcbA7A+pHocOu7V9JarXVXOvmSClpIXmmkY7BUUEkn7DGUutWe67UbUe65nrJH8KaYrSRMekMAOyKB5dOp9ycB0xiWJYkknqScfWspaijn8CqheGXkV+VxseVlDKfuCD98N/hK0nfVDUeP+0IGOXrSVqLk3YSdfkh+rEdfYH2x3X4g2R0y/qPasy0FKkNuu9CsBCDYLNBspHoB4Zj2+hwH63w4s1S0md79k+acinr6L8ZBGW6eNGwB2G/cox8v8Pti6MZIaTZwqsh6i2XNdIX3oakNKq93iPyyL3HdSw+u2NIcra/6P5jjQ0eerVTSMN/Cr3NKwPp+aFBP0JwDOxAXH/qImYtQKXJtsrEmt1jTmqPDbdWqnHUe5Vdh9SRjuHFLxRxSQ1OT9Mq/mDAx1l5iPTbzSE/+/6euI2dmd2d2LMx3LE7kn1wHY9MMpV2es/2bKlvB8a4VKxswH8uMdXc/pUMftjWizW6ltFoo7VQxCKlo4EghQdlRVAA/oMST8PrS2tt61epV5pHgNTCaa1rIuzGM7F5R7HYAH0B9cWDgJB+IfpuKq1UWptD4ayUfJQ3BSQC8bN+W49SGO30YemIop5paeeOeCR4pY2Do6HZlYHcEHyIODBgGRnHXfVPN2Uxla+5pmntZRUljSCON5gu2wd1UM3bruevnvhaopdwqjck7DBgwGoXCtp6NOtHrXbaiNFulcPxtwZTvvI/ULuCQeVeVenToT545HEppjHqpprUWOORIblTv+Jt8r9hKoI5T7MCR/z5YMGAzCv9prrFequz3OEQ1tHM0MyBwwVlOxG4JB+2ODgwYAxXPCTw1RXuKjz5n2KKW2sBLb7aHDCfzDy7H+H/AC+fn6YMGAtyCGKngSCCNIoo1CoiDYKB2AHkMe+DBgP/2Q=="/>
+</body>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 728cd2a..979ff11 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-02-15  Gustavo Noronha Silva  <gustavo.noronha at collabora.co.uk>
+
+        Reviewed by Xan Lopez.
+
+        [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
+        https://bugs.webkit.org/show_bug.cgi?id=34944
+
+        Set the URL in the newly created response, when parsing data:
+        URIs.
+
+        Test: fast/harness/page-cache-crash-on-data-urls.html
+
+        * platform/network/soup/ResourceHandleSoup.cpp:
+        (WebCore::parseDataUrl):
+
 2010-02-15  Dan Bernstein  <mitz at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebCore/platform/network/soup/ResourceHandleSoup.cpp b/WebCore/platform/network/soup/ResourceHandleSoup.cpp
index ee8e7aa..9a315cd 100644
--- a/WebCore/platform/network/soup/ResourceHandleSoup.cpp
+++ b/WebCore/platform/network/soup/ResourceHandleSoup.cpp
@@ -380,6 +380,7 @@ static gboolean parseDataUrl(gpointer callback_data)
     String charset = extractCharsetFromMediaType(mediaType);
 
     ResourceResponse response;
+    response.setURL(handle->request().url());
     response.setMimeType(mimeType);
 
     if (isBase64) {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list