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.
+}