diff options
author | Ben Murdoch <benm@google.com> | 2010-07-22 15:37:06 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-07-27 10:20:25 +0100 |
commit | 967717af5423377c967781471ee106e2bb4e11c8 (patch) | |
tree | 1e701dc0a12f7f07cce1df4a7681717de77a211b /WebCore/storage/chromium | |
parent | dcc30a9fca45f634b1d3a12b276d3a0ccce99fc3 (diff) | |
download | external_webkit-967717af5423377c967781471ee106e2bb4e11c8.zip external_webkit-967717af5423377c967781471ee106e2bb4e11c8.tar.gz external_webkit-967717af5423377c967781471ee106e2bb4e11c8.tar.bz2 |
Merge WebKit at r63859 : Initial merge by git.
Change-Id: Ie8096c63ec7c991c9a9cba8bdd9c3b74a3b8ed62
Diffstat (limited to 'WebCore/storage/chromium')
-rw-r--r-- | WebCore/storage/chromium/DatabaseTrackerChromium.cpp | 6 | ||||
-rw-r--r-- | WebCore/storage/chromium/SQLTransactionClientChromium.cpp | 30 |
2 files changed, 15 insertions, 21 deletions
diff --git a/WebCore/storage/chromium/DatabaseTrackerChromium.cpp b/WebCore/storage/chromium/DatabaseTrackerChromium.cpp index 13c65cc..7d9c4de 100644 --- a/WebCore/storage/chromium/DatabaseTrackerChromium.cpp +++ b/WebCore/storage/chromium/DatabaseTrackerChromium.cpp @@ -33,16 +33,13 @@ #include "AbstractDatabase.h" #include "DatabaseObserver.h" -#include "DatabaseThread.h" #include "QuotaTracker.h" +#include "PlatformString.h" #include "ScriptExecutionContext.h" #include "SecurityOrigin.h" #include "SecurityOriginHash.h" #include "SQLiteFileSystem.h" -#include <wtf/HashSet.h> -#include <wtf/MainThread.h> #include <wtf/StdLibExtras.h> -#include <wtf/text/CString.h> namespace WebCore { @@ -167,7 +164,6 @@ void DatabaseTracker::getOpenDatabases(SecurityOrigin* origin, const String& nam unsigned long long DatabaseTracker::getMaxSizeForDatabase(const AbstractDatabase* database) { - ASSERT(currentThread() == database->scriptExecutionContext()->databaseThread()->getThreadID()); unsigned long long spaceAvailable = 0; unsigned long long databaseSize = 0; QuotaTracker::instance().getDatabaseSizeAndSpaceAvailableToOrigin( diff --git a/WebCore/storage/chromium/SQLTransactionClientChromium.cpp b/WebCore/storage/chromium/SQLTransactionClientChromium.cpp index a10ca3e..22d95e6 100644 --- a/WebCore/storage/chromium/SQLTransactionClientChromium.cpp +++ b/WebCore/storage/chromium/SQLTransactionClientChromium.cpp @@ -31,18 +31,15 @@ #include "config.h" #include "SQLTransactionClient.h" -#include "Database.h" +#include "AbstractDatabase.h" #include "DatabaseObserver.h" -#include "DatabaseThread.h" -#include "Document.h" -#include "SQLTransaction.h" -#include <wtf/MainThread.h> +#include "ScriptExecutionContext.h" namespace WebCore { class NotifyDatabaseChangedTask : public ScriptExecutionContext::Task { public: - static PassOwnPtr<NotifyDatabaseChangedTask> create(Database *database) + static PassOwnPtr<NotifyDatabaseChangedTask> create(AbstractDatabase *database) { return new NotifyDatabaseChangedTask(database); } @@ -53,34 +50,35 @@ public: } private: - NotifyDatabaseChangedTask(PassRefPtr<Database> database) + NotifyDatabaseChangedTask(PassRefPtr<AbstractDatabase> database) : m_database(database) { } - RefPtr<Database> m_database; + RefPtr<AbstractDatabase> m_database; }; -void SQLTransactionClient::didCommitTransaction(SQLTransaction* transaction) +void SQLTransactionClient::didCommitWriteTransaction(AbstractDatabase* database) { - ASSERT(currentThread() == transaction->database()->scriptExecutionContext()->databaseThread()->getThreadID()); - if (!transaction->isReadOnly()) { - transaction->database()->scriptExecutionContext()->postTask(NotifyDatabaseChangedTask::create(transaction->database())); + if (!database->scriptExecutionContext()->isContextThread()) { + database->scriptExecutionContext()->postTask(NotifyDatabaseChangedTask::create(database)); + return; } + + WebCore::DatabaseObserver::databaseModified(database); } -void SQLTransactionClient::didExecuteStatement(SQLTransaction* transaction) +void SQLTransactionClient::didExecuteStatement(AbstractDatabase* database) { // This method is called after executing every statement that changes the DB. // Chromium doesn't need to do anything at that point. - ASSERT(currentThread() == transaction->database()->scriptExecutionContext()->databaseThread()->getThreadID()); } -bool SQLTransactionClient::didExceedQuota(SQLTransaction* transaction) +bool SQLTransactionClient::didExceedQuota(AbstractDatabase* database) { // Chromium does not allow users to manually change the quota for an origin (for now, at least). // Don't do anything. - ASSERT(transaction->database()->scriptExecutionContext()->isContextThread()); + ASSERT(database->scriptExecutionContext()->isContextThread()); return false; } |