[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

hamaji at chromium.org hamaji at chromium.org
Thu Apr 8 00:48:58 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 0e98904d3c8eb5d73b6ac05eff298d370aee1ca6
Author: hamaji at chromium.org <hamaji at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Dec 25 03:25:10 2009 +0000

    2009-12-24  Shinichiro Hamaji  <hamaji at chromium.org>
    
            Unreviewed Chromium test fix by reverting r52536.
    
            Do not a new Database pointer to any structure until its version has been verified
            https://bugs.webkit.org/show_bug.cgi?id=32913
    
            * storage/Database.cpp:
            (WebCore::Database::openDatabase):
            (WebCore::Database::Database):
            (WebCore::Database::performOpenAndVerify):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52554 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f4b0a39..1689324 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2009-12-24  Shinichiro Hamaji  <hamaji at chromium.org>
+
+        Unreviewed Chromium test fix by reverting r52536.
+
+        Do not a new Database pointer to any structure until its version has been verified
+        https://bugs.webkit.org/show_bug.cgi?id=32913
+
+        * storage/Database.cpp:
+        (WebCore::Database::openDatabase):
+        (WebCore::Database::Database):
+        (WebCore::Database::performOpenAndVerify):
+
 2009-12-24  Jessie Berlin  <jberlin at webkit.org>
 
         Reviewed by Dan Bernstein.
diff --git a/WebCore/storage/Database.cpp b/WebCore/storage/Database.cpp
index aca66b0..62d4039 100644
--- a/WebCore/storage/Database.cpp
+++ b/WebCore/storage/Database.cpp
@@ -132,12 +132,11 @@ PassRefPtr<Database> Database::openDatabase(Document* document, const String& na
 
     if (!database->openAndVerifyVersion(e)) {
        LOG(StorageAPI, "Failed to open and verify version (expected %s) of database %s", expectedVersion.ascii().data(), database->databaseDebugName().ascii().data());
+       document->removeOpenDatabase(database.get());
+       DatabaseTracker::tracker().removeOpenDatabase(database.get());
        return 0;
     }
 
-    DatabaseTracker::tracker().addOpenDatabase(database.get());
-    document->addOpenDatabase(database.get());
-
     DatabaseTracker::tracker().setDatabaseDetails(document->securityOrigin(), name, displayName, estimatedSize);
 
     document->setHasOpenDatabases();
@@ -189,6 +188,9 @@ Database::Database(Document* document, const String& name, const String& expecte
     ASSERT(m_document->databaseThread());
 
     m_filename = DatabaseTracker::tracker().fullPathForDatabase(m_mainThreadSecurityOrigin.get(), m_name);
+
+    DatabaseTracker::tracker().addOpenDatabase(this);
+    m_document->addOpenDatabase(this);
 }
 
 static void derefDocument(void* document)
@@ -460,6 +462,10 @@ bool Database::performOpenAndVerify(ExceptionCode& e)
         return false;
     }
 
+    m_opened = true;
+    if (m_document->databaseThread())
+        m_document->databaseThread()->recordDatabaseOpen(this);
+
     ASSERT(m_databaseAuthorizer);
     m_sqliteDatabase.setAuthorizer(m_databaseAuthorizer);
     m_sqliteDatabase.setBusyTimeout(maxSqliteBusyWaitTime);
@@ -519,10 +525,6 @@ bool Database::performOpenAndVerify(ExceptionCode& e)
         return false;
     }
 
-    m_opened = true;
-    if (m_document->databaseThread())
-        m_document->databaseThread()->recordDatabaseOpen(this);
-
     return true;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list