diff options
author | Leon Clarke <leonclarke@google.com> | 2010-06-03 14:33:32 +0100 |
---|---|---|
committer | Leon Clarke <leonclarke@google.com> | 2010-06-08 12:24:51 +0100 |
commit | 5af96e2c7b73ebc627c6894727826a7576d31758 (patch) | |
tree | f9d5e6f6175ccd7e3d14de9b290f08937a0d17ba /WebCore/storage/DatabaseTracker.cpp | |
parent | 8cc4fcf4f6adcbc0e0aebfc24fbad9a4cddf2cfb (diff) | |
download | external_webkit-5af96e2c7b73ebc627c6894727826a7576d31758.zip external_webkit-5af96e2c7b73ebc627c6894727826a7576d31758.tar.gz external_webkit-5af96e2c7b73ebc627c6894727826a7576d31758.tar.bz2 |
Merge webkit.org at r60469 : Initial merge by git.
Change-Id: I66a0047aa2af802f66bb0c7f2a8b02247a596234
Diffstat (limited to 'WebCore/storage/DatabaseTracker.cpp')
-rw-r--r-- | WebCore/storage/DatabaseTracker.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/WebCore/storage/DatabaseTracker.cpp b/WebCore/storage/DatabaseTracker.cpp index 8e2e3f3..752dbe6 100644 --- a/WebCore/storage/DatabaseTracker.cpp +++ b/WebCore/storage/DatabaseTracker.cpp @@ -57,15 +57,30 @@ static WebCore::OriginQuotaManager& originQuotaManager() namespace WebCore { +static DatabaseTracker* staticTracker = 0; + +void DatabaseTracker::initializeTracker(const String& databasePath) +{ + ASSERT(!staticTracker); + if (staticTracker) + return; + + staticTracker = new DatabaseTracker(databasePath); +} + DatabaseTracker& DatabaseTracker::tracker() { - DEFINE_STATIC_LOCAL(DatabaseTracker, tracker, ()); - return tracker; + if (!staticTracker) + staticTracker = new DatabaseTracker(""); + + return *staticTracker; } -DatabaseTracker::DatabaseTracker() +DatabaseTracker::DatabaseTracker(const String& databasePath) : m_client(0) { + setDatabaseDirectoryPath(databasePath); + SQLiteFileSystem::registerSQLiteVFS(); MutexLocker lockDatabase(m_databaseGuard); @@ -126,7 +141,6 @@ bool DatabaseTracker::canEstablishDatabase(ScriptExecutionContext* context, cons ProposedDatabase details; unsigned long long requirement; - unsigned long long tempUsage; { MutexLocker lockDatabase(m_databaseGuard); Locker<OriginQuotaManager> quotaManagerLocker(originQuotaManager()); @@ -146,7 +160,6 @@ bool DatabaseTracker::canEstablishDatabase(ScriptExecutionContext* context, cons // If the database will fit, allow its creation. requirement = usage + max(1UL, estimatedSize); - tempUsage = usage; if (requirement < usage) { doneCreatingDatabase(origin, name); return false; // If the estimated size is so big it causes an overflow, don't allow creation. |