-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=103469 Patch by Yongjun Zhang <yongjun_zhang@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. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
eb3a703e