[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

dumi at chromium.org dumi at chromium.org
Wed Dec 22 12:23:35 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 9f5975fc31e0596f2411ba739ad104517ef734c4
Author: dumi at chromium.org <dumi at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Aug 20 21:54:16 2010 +0000

    WebCore: Removing an incorrect ASSERT.
    https://bugs.webkit.org/show_bug.cgi?id=44151
    
    Reviewed by Adam Barth.
    
    A failure in the preflight step of a transaction wrapper does not
    guarantee that the transaction is rolled back (and it shouldn't).
    
    Test: storage/change-version-no-crash-on-preflight-failure.html
    
    * storage/SQLTransaction.cpp:
    (WebCore::SQLTransaction::openTransactionAndPreflight):
    
    LayoutTests: Check that a failure in the preflight step of a transaction wrapper does not trigger any assertion.
    https://bugs.webkit.org/show_bug.cgi?id=44151
    
    Reviewed by Adam Barth.
    
    * storage/change-version-no-crash-on-preflight-failure-expected.txt: Added.
    * storage/change-version-no-crash-on-preflight-failure.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65755 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2baeeef..b853a37 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-08-20  Dumitru Daniliuc  <dumi at chromium.org>
+
+        Reviewed by Adam Barth.
+
+        Check that a failure in the preflight step of a transaction wrapper does not trigger any assertion.
+        https://bugs.webkit.org/show_bug.cgi?id=44151
+
+        * storage/change-version-no-crash-on-preflight-failure-expected.txt: Added.
+        * storage/change-version-no-crash-on-preflight-failure.html: Added.
+
 2010-08-20  John Gregg  <johnnyg at google.com>
 
         Unreviewed, chromium rebaseline.
diff --git a/LayoutTests/storage/change-version-no-crash-on-preflight-failure-expected.txt b/LayoutTests/storage/change-version-no-crash-on-preflight-failure-expected.txt
new file mode 100644
index 0000000..bb0d549
--- /dev/null
+++ b/LayoutTests/storage/change-version-no-crash-on-preflight-failure-expected.txt
@@ -0,0 +1,3 @@
+This test verifies that no assertion is triggered when changeVersion()'s preflight step fails.
+PASS: db.changeVersion() failed as expected, and no assertions were triggered.
+
diff --git a/LayoutTests/storage/change-version-no-crash-on-preflight-failure.html b/LayoutTests/storage/change-version-no-crash-on-preflight-failure.html
new file mode 100644
index 0000000..2a512fb
--- /dev/null
+++ b/LayoutTests/storage/change-version-no-crash-on-preflight-failure.html
@@ -0,0 +1,36 @@
+<html>
+<head>
+<script>
+function finishTest()
+{
+    if (window.layoutTestController)
+        layoutTestController.notifyDone();
+}
+
+function log(message)
+{
+    document.getElementById("console").innerText += message + "\n";
+}
+
+function runTest() {
+    if (window.layoutTestController) {
+        layoutTestController.dumpAsText();
+        layoutTestController.waitUntilDone();
+    }
+
+    var db = window.openDatabase("ChangeVersionFailureTest", "1", "Test the preflight step", 1024);
+    db.changeVersion("2", "3", null, function(error) {
+        log("PASS: db.changeVersion() failed as expected, and no assertions were triggered.");
+        finishTest();
+    }, function() {
+        log("FAIL: db.changeVersion() was expected to fail.");
+        finishTest();
+    });
+}
+</script>
+</head>
+<body onload="runTest();">
+This test verifies that no assertion is triggered when changeVersion()'s preflight step fails.
+<pre id="console"></pre>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c2fee3c..5d3d5c4 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-20  Dumitru Daniliuc  <dumi at chromium.org>
+
+        Reviewed by Adam Barth.
+
+        Removing an incorrect ASSERT.
+        https://bugs.webkit.org/show_bug.cgi?id=44151
+
+        A failure in the preflight step of a transaction wrapper does not
+        guarantee that the transaction is rolled back (and it shouldn't).
+
+        Test: storage/change-version-no-crash-on-preflight-failure.html
+
+        * storage/SQLTransaction.cpp:
+        (WebCore::SQLTransaction::openTransactionAndPreflight):
+
 2010-08-20  David Leong  <david.leong at nokia.com>
 
         Reviewed by Laszlo Gombos.
diff --git a/WebCore/storage/SQLTransaction.cpp b/WebCore/storage/SQLTransaction.cpp
index c9f6609..b8837c9 100644
--- a/WebCore/storage/SQLTransaction.cpp
+++ b/WebCore/storage/SQLTransaction.cpp
@@ -273,7 +273,6 @@ void SQLTransaction::openTransactionAndPreflight()
 
     // Transaction Steps 3 - Peform preflight steps, jumping to the error callback if they fail
     if (m_wrapper && !m_wrapper->performPreflight(this)) {
-        ASSERT(!m_database->sqliteDatabase().transactionInProgress());
         m_sqliteTransaction.clear();
         m_transactionError = m_wrapper->sqlError();
         if (!m_transactionError)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list