summaryrefslogtreecommitdiffstats
path: root/WebCore/storage/DatabaseTracker.cpp
diff options
context:
space:
mode:
authorLeon Clarke <leonclarke@google.com>2010-06-03 14:33:32 +0100
committerLeon Clarke <leonclarke@google.com>2010-06-08 12:24:51 +0100
commit5af96e2c7b73ebc627c6894727826a7576d31758 (patch)
treef9d5e6f6175ccd7e3d14de9b290f08937a0d17ba /WebCore/storage/DatabaseTracker.cpp
parent8cc4fcf4f6adcbc0e0aebfc24fbad9a4cddf2cfb (diff)
downloadexternal_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.cpp23
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.