diff options
Diffstat (limited to 'Source/WebCore/storage/IDBDatabase.cpp')
-rw-r--r-- | Source/WebCore/storage/IDBDatabase.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/WebCore/storage/IDBDatabase.cpp b/Source/WebCore/storage/IDBDatabase.cpp index c4b73cec5..cc53a882a 100644 --- a/Source/WebCore/storage/IDBDatabase.cpp +++ b/Source/WebCore/storage/IDBDatabase.cpp @@ -26,6 +26,8 @@ #include "config.h" #include "IDBDatabase.h" +#if ENABLE(INDEXED_DATABASE) + #include "EventQueue.h" #include "ExceptionCode.h" #include "EventQueue.h" @@ -38,19 +40,20 @@ #include "IDBIndex.h" #include "IDBKeyPath.h" #include "IDBObjectStore.h" +#include "IDBTracing.h" +#include "IDBTransaction.h" #include "IDBVersionChangeEvent.h" #include "IDBVersionChangeRequest.h" -#include "IDBTransaction.h" #include "ScriptExecutionContext.h" #include <limits> -#if ENABLE(INDEXED_DATABASE) - namespace WebCore { PassRefPtr<IDBDatabase> IDBDatabase::create(ScriptExecutionContext* context, PassRefPtr<IDBDatabaseBackendInterface> database) { - return adoptRef(new IDBDatabase(context, database)); + RefPtr<IDBDatabase> idbDatabase(adoptRef(new IDBDatabase(context, database))); + idbDatabase->suspendIfNeeded(); + return idbDatabase.release(); } IDBDatabase::IDBDatabase(ScriptExecutionContext* context, PassRefPtr<IDBDatabaseBackendInterface> backend) @@ -219,6 +222,7 @@ void IDBDatabase::enqueueEvent(PassRefPtr<Event> event) bool IDBDatabase::dispatchEvent(PassRefPtr<Event> event) { + IDB_TRACE("IDBDatabase::dispatchEvent"); ASSERT(event->type() == eventNames().versionchangeEvent); for (size_t i = 0; i < m_enqueuedEvents.size(); ++i) { if (m_enqueuedEvents[i].get() == event.get()) |