[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
hamaji at chromium.org
hamaji at chromium.org
Wed Jan 6 00:00:09 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 4271cac985a93402e5d79bbd2da15bcfa5e7e504
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