diff options
Diffstat (limited to 'Source/WebCore/storage/LocalStorageTask.cpp')
-rw-r--r-- | Source/WebCore/storage/LocalStorageTask.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Source/WebCore/storage/LocalStorageTask.cpp b/Source/WebCore/storage/LocalStorageTask.cpp index d31c991..5d2c807 100644 --- a/Source/WebCore/storage/LocalStorageTask.cpp +++ b/Source/WebCore/storage/LocalStorageTask.cpp @@ -30,6 +30,7 @@ #include "LocalStorageThread.h" #include "StorageAreaSync.h" +#include "StorageTracker.h" namespace WebCore { @@ -50,6 +51,27 @@ LocalStorageTask::LocalStorageTask(Type type, LocalStorageThread* thread) ASSERT(m_thread); ASSERT(m_type == TerminateThread); } + +LocalStorageTask::LocalStorageTask(Type type) + : m_type(type) +{ + ASSERT(m_type == ImportOrigins || m_type == DeleteAllOrigins); +} + +LocalStorageTask::LocalStorageTask(Type type, const String& originIdentifier) + : m_type(type) + , m_originIdentifier(originIdentifier) +{ + ASSERT(m_type == DeleteOrigin); +} + +LocalStorageTask::LocalStorageTask(Type type, const String& originIdentifier, const String& databaseFilename) + : m_type(type) + , m_originIdentifier(originIdentifier) + , m_databaseFilename(databaseFilename) +{ + ASSERT(m_type == SetOriginDetails); +} LocalStorageTask::~LocalStorageTask() { @@ -64,6 +86,18 @@ void LocalStorageTask::performTask() case AreaSync: m_area->performSync(); break; + case SetOriginDetails: + StorageTracker::tracker().syncSetOriginDetails(m_originIdentifier, m_databaseFilename); + break; + case ImportOrigins: + StorageTracker::tracker().syncImportOriginIdentifiers(); + break; + case DeleteAllOrigins: + StorageTracker::tracker().syncDeleteAllOrigins(); + break; + case DeleteOrigin: + StorageTracker::tracker().syncDeleteOrigin(m_originIdentifier); + break; case DeleteEmptyDatabase: m_area->deleteEmptyDatabase(); break; |