[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
dumi at chromium.org
dumi at chromium.org
Tue Jan 5 23:59:38 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit b4b7773ad2bf1db79739e8caad0391609e250b03
Author: dumi at chromium.org <dumi at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Dec 24 01:38:53 2009 +0000
A new database should be registered with the Document,
DatabaseTracker and DatabaseThread only after it was successfully
opened and its version was successfully verified.
Reviewed by Eric Seidel.
Fixes a regression introduced by
http://trac.webkit.org/changeset/52530.
LayoutTests/storage/open-database-while-transaction-in-progress.html
should pass again (or rather, it should pass again when run after
open-database-set-empty-version.html).
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@52536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 7d0fcd2..009f67e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,25 @@
+2009-12-23 Dumitru Daniliuc <dumi at chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ A new database should be registered with the Document,
+ DatabaseTracker and DatabaseThread only after it was successfully
+ opened and its version was successfully verified.
+
+ Fixes a regression introduced by
+ http://trac.webkit.org/changeset/52530.
+
+ LayoutTests/storage/open-database-while-transaction-in-progress.html
+ should pass again (or rather, it should pass again when run after
+ open-database-set-empty-version.html).
+
+ https://bugs.webkit.org/show_bug.cgi?id=32913
+
+ * storage/Database.cpp:
+ (WebCore::Database::openDatabase):
+ (WebCore::Database::Database):
+ (WebCore::Database::performOpenAndVerify):
+
2009-12-23 David Levin <levin at chromium.org>
REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
diff --git a/WebCore/storage/Database.cpp b/WebCore/storage/Database.cpp
index 62d4039..aca66b0 100644
--- a/WebCore/storage/Database.cpp
+++ b/WebCore/storage/Database.cpp
@@ -132,11 +132,12 @@ 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();
@@ -188,9 +189,6 @@ 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)
@@ -462,10 +460,6 @@ 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);
@@ -525,6 +519,10 @@ 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