Title: [136323] trunk
Revision
136323
Author
commit-qu...@webkit.org
Date
2012-12-02 02:31:42 -0800 (Sun, 02 Dec 2012)

Log Message

Need a method to close all idle localstorage databases immediately.
https://bugs.webkit.org/show_bug.cgi?id=103469

Patch by Yongjun Zhang <yongjun_zh...@apple.com> on 2012-12-02
Reviewed by David Kilzer.

Source/WebCore:

Add a new PageGroup method closeIdleLocalStorageDatabases, which walks through
all local storage areas that don't have document referencing to them and closes
their underlying databases.

Test: storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html

* WebCore.exp.in:
* page/PageGroup.cpp:
(WebCore::PageGroup::clearLocalStorageForOrigin):
(WebCore):
(WebCore::PageGroup::closeIdleLocalStorageDatabases): walking through all idle local storages and
    closing their databases.
* page/PageGroup.h:
(PageGroup):
* storage/StorageArea.h:
(WebCore::StorageArea::closeDatabaseIfIdle):
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::closeDatabaseIfIdle): close the database if it is idle.
(WebCore):
* storage/StorageAreaImpl.h:
(StorageAreaImpl):
* storage/StorageNamespace.h:
(StorageNamespace):
* storage/StorageNamespaceImpl.cpp:
(WebCore::StorageNamespaceImpl::closeIdleLocalStorageDatabases):
(WebCore):
* storage/StorageNamespaceImpl.h:
(StorageNamespaceImpl):

Source/WebKit/mac:

Add a new method to WebStorageManager that we can call to close all
idle local storage databases.

* Storage/WebStorageManager.mm:
(+[WebStorageManager closeIdleLocalStorageDatabases]):
* Storage/WebStorageManagerPrivate.h:

Tools:

Add an JS method to TestRunner, to enable testing closing idle local storage databases in
DumpRenderTree layout tests.

* DumpRenderTree/TestRunner.cpp:
(closeIdleLocalStorageDatabasesCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::closeIdleLocalStorageDatabases):
* DumpRenderTree/wx/TestRunnerWx.cpp:
(TestRunner::closeIdleLocalStorageDatabases):

LayoutTests:

* storage/domstorage/localstorage/close-idle-localstorage-databases-immediately-expected.txt: Added.
* storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html: Added.
* storage/resources/storage-close-idle-localstorage-databases-immediately.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (136322 => 136323)


--- trunk/LayoutTests/ChangeLog	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/LayoutTests/ChangeLog	2012-12-02 10:31:42 UTC (rev 136323)
@@ -1,3 +1,14 @@
+2012-12-02  Yongjun Zhang  <yongjun_zh...@apple.com>
+
+        Need a method to close all idle localstorage databases immediately.
+        https://bugs.webkit.org/show_bug.cgi?id=103469
+
+        Reviewed by David Kilzer.
+
+        * storage/domstorage/localstorage/close-idle-localstorage-databases-immediately-expected.txt: Added.
+        * storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html: Added.
+        * storage/resources/storage-close-idle-localstorage-databases-immediately.html: Added.
+
 2012-12-02  Sheriff Bot  <webkit.review....@gmail.com>
 
         Unreviewed, rolling out r136236.

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (136322 => 136323)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-12-02 10:31:42 UTC (rev 136323)
@@ -804,6 +804,7 @@
 # implement because we can't emulate the caching behaviors it expects.
 fast/dom/HTMLScriptElement/nested-execution.html [ WontFix ]
 storage/domstorage/storage-close-database-on-idle.html [ WontFix ]
+storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html [ WontFix ]
 
 # Deletion UI is a Mail-ism. We don't need to worry about this.
 editing/deleting/deletionUI-single-instance.html [ WontFix ]

Added: trunk/LayoutTests/storage/domstorage/localstorage/close-idle-localstorage-databases-immediately-expected.txt (0 => 136323)


--- trunk/LayoutTests/storage/domstorage/localstorage/close-idle-localstorage-databases-immediately-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/storage/domstorage/localstorage/close-idle-localstorage-databases-immediately-expected.txt	2012-12-02 10:31:42 UTC (rev 136323)
@@ -0,0 +1,3 @@
+PASS foo
+PASS bar
+

Added: trunk/LayoutTests/storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html (0 => 136323)


--- trunk/LayoutTests/storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html	                        (rev 0)
+++ trunk/LayoutTests/storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html	2012-12-02 10:31:42 UTC (rev 136323)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<script src=""
+<script>
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+}
+
+function loadNextPage()
+{
+    location.href = ""
+}
+
+function runTest()
+{
+    if (window.testRunner) {
+        testRunner.setCacheModel(0); // WebCacheModelDocumentViewer.
+    }
+
+    // Test to make sure the storage values don't change after the database is closed.
+    if ("localStorage" in window) {
+        var loadCount = window.sessionStorage['testPageLoadCount'];
+        if (loadCount !== undefined)
+            loadCount++;
+        else
+            loadCount = 1;
+
+        window.sessionStorage['testPageLoadCount'] = loadCount;
+
+        if (loadCount == 1) {
+            window.localStorage.clear();
+            window.localStorage['foo'] = 'FOO';
+            window.localStorage['bar'] = 'BAR';
+
+            setTimeout("loadNextPage()", 0);
+        } else {
+            // Test if we still have the right values.
+            if (window.localStorage['foo'] === 'FOO')
+                testPassed("foo");
+            else
+                testFailed("foo");
+
+            if (window.localStorage['bar'] === 'BAR')
+                testPassed("bar");
+            else
+                testFailed("bar");
+
+            window.sessionStorage.removeItem('testPageLoadCount');
+
+            if (window.testRunner) {
+                window.testRunner.notifyDone();
+            }
+        }
+    }
+}
+
+</script>
+</head>
+<body _onload_="runTest();">
+<p id="description"></p>
+<div id="console"></div>
+</body>
+</html>
+

Added: trunk/LayoutTests/storage/resources/storage-close-idle-localstorage-databases-immediately.html (0 => 136323)


--- trunk/LayoutTests/storage/resources/storage-close-idle-localstorage-databases-immediately.html	                        (rev 0)
+++ trunk/LayoutTests/storage/resources/storage-close-idle-localstorage-databases-immediately.html	2012-12-02 10:31:42 UTC (rev 136323)
@@ -0,0 +1,13 @@
+<html>
+<script>
+    function swingBack() 
+    {
+        if (window.testRunner) {
+            window.testRunner.closeIdleLocalStorageDatabases();
+        }
+        location.href='';
+    }
+</script>
+<body _onload_='setTimeout(swingBack(), 100);'>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (136322 => 136323)


--- trunk/Source/WebCore/ChangeLog	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/ChangeLog	2012-12-02 10:31:42 UTC (rev 136323)
@@ -1,3 +1,39 @@
+2012-12-02  Yongjun Zhang  <yongjun_zh...@apple.com>
+
+        Need a method to close all idle localstorage databases immediately.
+        https://bugs.webkit.org/show_bug.cgi?id=103469
+
+        Reviewed by David Kilzer.
+
+        Add a new PageGroup method closeIdleLocalStorageDatabases, which walks through
+        all local storage areas that don't have document referencing to them and closes
+        their underlying databases.
+
+        Test: storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html
+
+        * WebCore.exp.in:
+        * page/PageGroup.cpp:
+        (WebCore::PageGroup::clearLocalStorageForOrigin):
+        (WebCore):
+        (WebCore::PageGroup::closeIdleLocalStorageDatabases): walking through all idle local storages and
+            closing their databases.
+        * page/PageGroup.h:
+        (PageGroup):
+        * storage/StorageArea.h:
+        (WebCore::StorageArea::closeDatabaseIfIdle):
+        * storage/StorageAreaImpl.cpp:
+        (WebCore::StorageAreaImpl::closeDatabaseIfIdle): close the database if it is idle.
+        (WebCore):
+        * storage/StorageAreaImpl.h:
+        (StorageAreaImpl):
+        * storage/StorageNamespace.h:
+        (StorageNamespace):
+        * storage/StorageNamespaceImpl.cpp:
+        (WebCore::StorageNamespaceImpl::closeIdleLocalStorageDatabases):
+        (WebCore):
+        * storage/StorageNamespaceImpl.h:
+        (StorageNamespaceImpl):
+
 2012-12-02  Otto Derek Cheung  <otche...@rim.com>
 
         [BlackBerry] Adding checks for null when checking cookie status in CookieJarBlackBerry

Modified: trunk/Source/WebCore/WebCore.exp.in (136322 => 136323)


--- trunk/Source/WebCore/WebCore.exp.in	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/WebCore.exp.in	2012-12-02 10:31:42 UTC (rev 136323)
@@ -1089,6 +1089,7 @@
 __ZN7WebCore9PageGroup29removeUserStyleSheetFromWorldEPNS_15DOMWrapperWorldERKNS_4KURLE
 __ZN7WebCore9PageGroup30removeUserStyleSheetsFromWorldEPNS_15DOMWrapperWorldE
 __ZN7WebCore9PageGroup9pageGroupERKN3WTF6StringE
+__ZN7WebCore9PageGroup30closeIdleLocalStorageDatabasesEv
 __ZN7WebCore9Scrollbar10mouseMovedERKNS_18PlatformMouseEventE
 __ZN7WebCore9Scrollbar11mouseExitedEv
 __ZN7WebCore9Scrollbar12mouseEnteredEv

Modified: trunk/Source/WebCore/page/PageGroup.cpp (136322 => 136323)


--- trunk/Source/WebCore/page/PageGroup.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/page/PageGroup.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -144,9 +144,21 @@
     for (PageGroupMap::iterator it = pageGroups->begin(); it != end; ++it) {
         if (it->value->hasLocalStorage())
             it->value->localStorage()->clearOriginForDeletion(origin);
-    }    
+    }
 }
-    
+
+void PageGroup::closeIdleLocalStorageDatabases()
+{
+    if (!pageGroups)
+        return;
+
+    PageGroupMap::iterator end = pageGroups->end();
+    for (PageGroupMap::iterator it = pageGroups->begin(); it != end; ++it) {
+        if (it->value->hasLocalStorage())
+            it->value->localStorage()->closeIdleLocalStorageDatabases();
+    }
+}
+
 void PageGroup::syncLocalStorage()
 {
     if (!pageGroups)

Modified: trunk/Source/WebCore/page/PageGroup.h (136322 => 136323)


--- trunk/Source/WebCore/page/PageGroup.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/page/PageGroup.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -60,6 +60,7 @@
 
         static void clearLocalStorageForAllOrigins();
         static void clearLocalStorageForOrigin(SecurityOrigin*);
+        static void closeIdleLocalStorageDatabases();
         // DumpRenderTree helper that triggers a StorageArea sync.
         static void syncLocalStorage();
 

Modified: trunk/Source/WebCore/storage/StorageArea.h (136322 => 136323)


--- trunk/Source/WebCore/storage/StorageArea.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/storage/StorageArea.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -60,6 +60,7 @@
 
         virtual void incrementAccessCount() { }
         virtual void decrementAccessCount() { }
+        virtual void closeDatabaseIfIdle() { }
     };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/storage/StorageAreaImpl.cpp (136322 => 136323)


--- trunk/Source/WebCore/storage/StorageAreaImpl.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/storage/StorageAreaImpl.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -349,4 +349,14 @@
         m_storageAreaSync->scheduleCloseDatabase();
 }
 
+void StorageAreaImpl::closeDatabaseIfIdle()
+{
+    if (m_closeDatabaseTimer.isActive()) {
+        ASSERT(!m_accessCount);
+        m_closeDatabaseTimer.stop();
+
+        closeDatabaseTimerFired(&m_closeDatabaseTimer);
+    }
 }
+
+}

Modified: trunk/Source/WebCore/storage/StorageAreaImpl.h (136322 => 136323)


--- trunk/Source/WebCore/storage/StorageAreaImpl.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/storage/StorageAreaImpl.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -58,6 +58,7 @@
 
         virtual void incrementAccessCount();
         virtual void decrementAccessCount();
+        virtual void closeDatabaseIfIdle();
 
         PassRefPtr<StorageAreaImpl> copy();
         void close();

Modified: trunk/Source/WebCore/storage/StorageNamespace.h (136322 => 136323)


--- trunk/Source/WebCore/storage/StorageNamespace.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/storage/StorageNamespace.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -49,6 +49,7 @@
     virtual void clearOriginForDeletion(SecurityOrigin*) = 0;
     virtual void clearAllOriginsForDeletion() = 0;
     virtual void sync() = 0;
+    virtual void closeIdleLocalStorageDatabases()  { }
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/storage/StorageNamespaceImpl.cpp (136322 => 136323)


--- trunk/Source/WebCore/storage/StorageNamespaceImpl.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/storage/StorageNamespaceImpl.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -165,4 +165,12 @@
         it->value->sync();
 }
 
+void StorageNamespaceImpl::closeIdleLocalStorageDatabases()
+{
+    ASSERT(isMainThread());
+    StorageAreaMap::iterator end = m_storageAreaMap.end();
+    for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
+        it->value->closeDatabaseIfIdle();
+}
+
 } // namespace WebCore

Modified: trunk/Source/WebCore/storage/StorageNamespaceImpl.h (136322 => 136323)


--- trunk/Source/WebCore/storage/StorageNamespaceImpl.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebCore/storage/StorageNamespaceImpl.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -54,7 +54,8 @@
         virtual void clearOriginForDeletion(SecurityOrigin*);
         virtual void clearAllOriginsForDeletion();
         virtual void sync();
-        
+        virtual void closeIdleLocalStorageDatabases();
+
     private:
         StorageNamespaceImpl(StorageType, const String& path, unsigned quota);
 

Modified: trunk/Source/WebKit/mac/ChangeLog (136322 => 136323)


--- trunk/Source/WebKit/mac/ChangeLog	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebKit/mac/ChangeLog	2012-12-02 10:31:42 UTC (rev 136323)
@@ -1,3 +1,17 @@
+2012-12-02  Yongjun Zhang  <yongjun_zh...@apple.com>
+
+        Need a method to close all idle localstorage databases immediately.
+        https://bugs.webkit.org/show_bug.cgi?id=103469
+
+        Reviewed by David Kilzer.
+
+        Add a new method to WebStorageManager that we can call to close all
+        idle local storage databases.
+
+        * Storage/WebStorageManager.mm:
+        (+[WebStorageManager closeIdleLocalStorageDatabases]):
+        * Storage/WebStorageManagerPrivate.h:
+
 2012-11-30  Mihai Maerean  <mmaer...@adobe.com>
 
         [CSSRegions] when WebKit uses V8, there should be a single variable to store if the CSS Regions feature is enabled

Modified: trunk/Source/WebKit/mac/Storage/WebStorageManager.mm (136322 => 136323)


--- trunk/Source/WebKit/mac/Storage/WebStorageManager.mm	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebKit/mac/Storage/WebStorageManager.mm	2012-12-02 10:31:42 UTC (rev 136323)
@@ -28,6 +28,7 @@
 #import "WebStorageManagerInternal.h"
 #import "WebStorageTrackerClient.h"
 
+#import <WebCore/PageGroup.h>
 #import <WebCore/SecurityOrigin.h>
 #import <WebCore/StorageTracker.h>
 #import <pthread.h>
@@ -102,6 +103,11 @@
     StorageTracker::tracker().setStorageDatabaseIdleInterval(interval);
 }
 
++ (void)closeIdleLocalStorageDatabases
+{
+    PageGroup::closeIdleLocalStorageDatabases();
+}
+
 static void initializeLocalStoragePath()
 {
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

Modified: trunk/Source/WebKit/mac/Storage/WebStorageManagerPrivate.h (136322 => 136323)


--- trunk/Source/WebKit/mac/Storage/WebStorageManagerPrivate.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Source/WebKit/mac/Storage/WebStorageManagerPrivate.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -44,5 +44,6 @@
 
 + (NSString *)_storageDirectoryPath;
 + (void)setStorageDatabaseIdleInterval:(double)interval;
++ (void)closeIdleLocalStorageDatabases;
 @end
 

Modified: trunk/Tools/ChangeLog (136322 => 136323)


--- trunk/Tools/ChangeLog	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/ChangeLog	2012-12-02 10:31:42 UTC (rev 136323)
@@ -1,3 +1,31 @@
+2012-12-02  Yongjun Zhang  <yongjun_zh...@apple.com>
+
+        Need a method to close all idle localstorage databases immediately.
+        https://bugs.webkit.org/show_bug.cgi?id=103469
+
+        Reviewed by David Kilzer.
+
+        Add an JS method to TestRunner, to enable testing closing idle local storage databases in
+        DumpRenderTree layout tests.
+
+        * DumpRenderTree/TestRunner.cpp:
+        (closeIdleLocalStorageDatabasesCallback):
+        (TestRunner::staticFunctions):
+        * DumpRenderTree/TestRunner.h:
+        (TestRunner):
+        * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
+        (TestRunner::closeIdleLocalStorageDatabases):
+        * DumpRenderTree/efl/TestRunnerEfl.cpp:
+        (TestRunner::closeIdleLocalStorageDatabases):
+        * DumpRenderTree/gtk/TestRunnerGtk.cpp:
+        (TestRunner::closeIdleLocalStorageDatabases):
+        * DumpRenderTree/mac/TestRunnerMac.mm:
+        (TestRunner::closeIdleLocalStorageDatabases):
+        * DumpRenderTree/win/TestRunnerWin.cpp:
+        (TestRunner::closeIdleLocalStorageDatabases):
+        * DumpRenderTree/wx/TestRunnerWx.cpp:
+        (TestRunner::closeIdleLocalStorageDatabases):
+
 2012-12-02  Yael Aharon  <yael.aha...@intel.com>
 
         [EFL][WK2] MiniBrowser should have a legacy mode

Modified: trunk/Tools/DumpRenderTree/TestRunner.cpp (136322 => 136323)


--- trunk/Tools/DumpRenderTree/TestRunner.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/TestRunner.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -2079,6 +2079,14 @@
     return JSValueMakeUndefined(context);
 }
 
+static JSValueRef closeIdleLocalStorageDatabasesCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    TestRunner* controller = static_cast<TestRunner*>(JSObjectGetPrivate(thisObject));
+    controller->closeIdleLocalStorageDatabases();
+
+    return JSValueMakeUndefined(context);
+}
+
 static JSValueRef grantWebNotificationPermissionCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
     if (argumentCount < 1)
@@ -2344,6 +2352,7 @@
         { "preciseTime", preciseTimeCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "setHasCustomFullScreenBehavior", setHasCustomFullScreenBehaviorCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "setStorageDatabaseIdleInterval", setStorageDatabaseIdleIntervalCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "closeIdleLocalStorageDatabases", closeIdleLocalStorageDatabasesCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "grantWebNotificationPermission", grantWebNotificationPermissionCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "denyWebNotificationPermission", denyWebNotificationPermissionCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "removeAllWebNotificationPermissions", removeAllWebNotificationPermissionsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },

Modified: trunk/Tools/DumpRenderTree/TestRunner.h (136322 => 136323)


--- trunk/Tools/DumpRenderTree/TestRunner.h	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/TestRunner.h	2012-12-02 10:31:42 UTC (rev 136323)
@@ -362,6 +362,7 @@
     bool hasCustomFullScreenBehavior() const { return m_customFullScreenBehavior; }
 
     void setStorageDatabaseIdleInterval(double);
+    void closeIdleLocalStorageDatabases();
 
     bool hasPendingWebNotificationClick() const { return m_hasPendingWebNotificationClick; }
 

Modified: trunk/Tools/DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp (136322 => 136323)


--- trunk/Tools/DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -856,3 +856,8 @@
     // FIXME: Implement this.
     notImplemented();
 }
+
+void TestRunner::closeIdleLocalStorageDatabases()
+{
+    notImplemented();
+}

Modified: trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp (136322 => 136323)


--- trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/efl/TestRunnerEfl.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -924,3 +924,8 @@
 {
     notImplemented();
 }
+
+void TestRunner::closeIdleLocalStorageDatabases()
+{
+    notImplemented();
+}

Modified: trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp (136322 => 136323)


--- trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/gtk/TestRunnerGtk.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -997,3 +997,7 @@
 {
     // FIXME: Implement this.
 }
+
+void TestRunner::closeIdleLocalStorageDatabases()
+{
+}

Modified: trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm (136322 => 136323)


--- trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/mac/TestRunnerMac.mm	2012-12-02 10:31:42 UTC (rev 136323)
@@ -213,6 +213,11 @@
     [WebStorageManager setStorageDatabaseIdleInterval:interval];
 }
 
+void TestRunner::closeIdleLocalStorageDatabases()
+{
+    [WebStorageManager closeIdleLocalStorageDatabases];
+}
+
 JSValueRef TestRunner::originsWithLocalStorage(JSContextRef context)
 {
     return originsArrayToJS(context, [[WebStorageManager sharedWebStorageManager] origins]);

Modified: trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp (136322 => 136323)


--- trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/win/TestRunnerWin.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -1445,3 +1445,8 @@
 {
     // FIXME: Implement this.
 }
+
+void TestRunner::closeIdleLocalStorageDatabases()
+{
+    // FIXME: Implement this.
+}

Modified: trunk/Tools/DumpRenderTree/wx/TestRunnerWx.cpp (136322 => 136323)


--- trunk/Tools/DumpRenderTree/wx/TestRunnerWx.cpp	2012-12-02 10:29:38 UTC (rev 136322)
+++ trunk/Tools/DumpRenderTree/wx/TestRunnerWx.cpp	2012-12-02 10:31:42 UTC (rev 136323)
@@ -617,3 +617,8 @@
 {
     // FIXME: Implement this.
 }
+
+void TestRunner::closeIdleLocalStorageDatabases()
+{
+    // FIXME: Implement this.
+}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to