summaryrefslogtreecommitdiffstats
path: root/WebCore/storage/chromium
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-07-22 15:37:06 +0100
committerBen Murdoch <benm@google.com>2010-07-27 10:20:25 +0100
commit967717af5423377c967781471ee106e2bb4e11c8 (patch)
tree1e701dc0a12f7f07cce1df4a7681717de77a211b /WebCore/storage/chromium
parentdcc30a9fca45f634b1d3a12b276d3a0ccce99fc3 (diff)
downloadexternal_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.cpp6
-rw-r--r--WebCore/storage/chromium/SQLTransactionClientChromium.cpp30
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;
}