-
beidson@apple.com authored
Reviewed by Darin Adler Merge the StorageAreaClient into the StorageArea class itself as pure virtual methods. Add "LocalStorageArea" add "SessionStorageArea" implementations, and have SessionStorage and LocalStorage instantiate the appropriate type of StorageArea object. This purpose of this change is because while adding the persistent store to LocalStorage, it became obvious that the client approach wasn't scaling well. Additionally, a StorageArea backing a local storage area required vastly different data members compared to one backing a session storage area. This will be much cleaner going forward. * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): * storage/LocalStorage.h: * storage/LocalStorageArea.cpp: Added. (WebCore::LocalStorageArea::LocalStorageArea): (WebCore::LocalStorageArea::itemChanged): (WebCore::LocalStorageArea::itemRemoved): (WebCore::LocalStorageArea::dispatchStorageEvent): * storage/LocalStorageArea.h: Added. (WebCore::LocalStorageArea::create): * storage/SessionStorage.cpp: (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea): * storage/SessionStorage.h: * storage/SessionStorageArea.cpp: Added. (WebCore::SessionStorageArea::copy): (WebCore::SessionStorageArea::SessionStorageArea): (WebCore::SessionStorageArea::itemChanged): (WebCore::SessionStorageArea::itemRemoved): (WebCore::SessionStorageArea::dispatchStorageEvent): * storage/SessionStorageArea.h: Added. (WebCore::SessionStorageArea::create): (WebCore::SessionStorageArea::page): * storage/StorageArea.cpp: (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::storageMap): * storage/StorageArea.h: * storage/StorageAreaClient.h: Removed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
bb69e1eb