Do not reduce web database quota when open database for worker
authorJihye Kang <jye.kang@samsung.com>
Thu, 11 Apr 2013 05:27:04 +0000 (14:27 +0900)
committerGerrit Code Review <gerrit2@kim11>
Thu, 11 Apr 2013 07:16:15 +0000 (16:16 +0900)
[Title] Do not reduce web database quota when open database for worker
[Issue#] N/A
[Problem] If openDatabase for worker is requested when current quota for origin is larger than default quota(5M), current quota is overwritten as defaut quota.
[Cause]
[Solution] Check current quota before set quota for worker

Change-Id: I6502f193b5b76c77f1c023095c8a6c62372eaf00

Source/WebCore/Modules/webdatabase/DatabaseContext.cpp

index d0150c4..46f1d9d 100644 (file)
@@ -136,10 +136,12 @@ void DatabaseContext::databaseExceededQuota(const String& name)
     const unsigned long long defaultQuota = 5 * 1024 * 1024;
 #if ENABLE(TIZEN_SQL_DATABASE)
     SecurityOrigin* origin = m_scriptExecutionContext->securityOrigin();
-    DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(name, origin);
     unsigned long long currentQuota = DatabaseTracker::tracker().quotaForOrigin(origin);
-    unsigned long long requirement = currentQuota + details.expectedUsage();
+    if (currentQuota >= defaultQuota)
+        return;
 
+    DatabaseDetails details = DatabaseTracker::tracker().detailsForNameAndOrigin(name, origin);
+    unsigned long long requirement = currentQuota + details.expectedUsage();
     if (requirement <= defaultQuota)
         DatabaseTracker::tracker().setQuota(origin, requirement);
     else