[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
andreip at google.com
andreip at google.com
Wed Dec 22 11:40:58 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 63e3331b987eeed585a0ae776f36abb916ef7091
Author: andreip at google.com <andreip at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 3 19:20:09 2010 +0000
2010-08-03 Andrei Popescu <andreip at google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
https://bugs.webkit.org/show_bug.cgi?id=43420
Renaming IDBObjectStoreRequest to IDBObjectStore.
No new tests needed, just refactoring.
* Android.derived.jscbindings.mk:
* Android.derived.v8bindings.mk:
* Android.mk:
* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbObjectStore):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::objectStore):
* storage/IDBDatabase.h:
* storage/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
* storage/IDBDatabaseBackendImpl.h:
* storage/IDBDatabaseBackendInterface.h:
* storage/IDBObjectStore.cpp: Added.
(WebCore::IDBObjectStore::IDBObjectStore):
(WebCore::IDBObjectStore::name):
(WebCore::IDBObjectStore::keyPath):
(WebCore::IDBObjectStore::indexNames):
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::remove):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::removeIndex):
* storage/IDBObjectStore.h:
(WebCore::IDBObjectStore::create):
(WebCore::IDBObjectStore::~IDBObjectStore):
* storage/IDBObjectStore.idl: Added.
* storage/IDBObjectStoreBackendImpl.cpp: Added.
(WebCore::IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::indexNames):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::remove):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::index):
(WebCore::IDBObjectStoreBackendImpl::removeIndex):
* storage/IDBObjectStoreBackendImpl.h: Added.
(WebCore::IDBObjectStoreBackendImpl::create):
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
* storage/IDBObjectStoreBackendInterface.h: Added.
(WebCore::IDBObjectStoreBackendInterface::~IDBObjectStoreBackendInterface):
* storage/IDBObjectStoreImpl.cpp: Removed.
* storage/IDBObjectStoreImpl.h: Removed.
* storage/IDBObjectStoreRequest.cpp: Removed.
* storage/IDBObjectStoreRequest.h: Removed.
* storage/IDBObjectStoreRequest.idl: Removed.
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-08-03 Andrei Popescu <andreip at google.com>
Reviewed by Jeremy Orlow.
[IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
https://bugs.webkit.org/show_bug.cgi?id=43420
* src/IDBCallbacksProxy.cpp:
(WebCore::IDBCallbacksProxy::onSuccess):
* src/IDBCallbacksProxy.h:
* src/IDBDatabaseProxy.cpp:
(WebCore::IDBDatabaseProxy::objectStore):
* src/IDBDatabaseProxy.h:
* src/IDBObjectStoreProxy.cpp:
(WebCore::IDBObjectStoreProxy::create):
* src/IDBObjectStoreProxy.h:
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::WebIDBObjectStoreImpl):
* src/WebIDBObjectStoreImpl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64577 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/Android.derived.jscbindings.mk b/WebCore/Android.derived.jscbindings.mk
index fc081d3..bea2e1d 100644
--- a/WebCore/Android.derived.jscbindings.mk
+++ b/WebCore/Android.derived.jscbindings.mk
@@ -370,6 +370,7 @@ GEN := \
$(intermediates)/storage/JSIDBIndex.h \
$(intermediates)/storage/JSIDBKey.h \
$(intermediates)/storage/JSIDBKeyRange.h \
+ $(intermediates)/storage/JSIDBObjectStore.h \
$(intermediates)/storage/JSIDBRequest.h \
$(intermediates)/storage/JSIDBSuccessEvent.h
diff --git a/WebCore/Android.derived.v8bindings.mk b/WebCore/Android.derived.v8bindings.mk
index 7f922ed..f7fa8d6 100644
--- a/WebCore/Android.derived.v8bindings.mk
+++ b/WebCore/Android.derived.v8bindings.mk
@@ -351,6 +351,7 @@ GEN := \
$(intermediates)/bindings/V8IDBIndex.h \
$(intermediates)/bindings/V8IDBKey.h \
$(intermediates)/bindings/V8IDBKeyRange.h \
+ $(intermediates)/bindings/V8IDBObjectStore.h \
$(intermediates)/bindings/V8IDBRequest.h \
$(intermediates)/bindings/V8IDBSuccessEvent.h
diff --git a/WebCore/Android.mk b/WebCore/Android.mk
index 01c83c6..c90d914 100644
--- a/WebCore/Android.mk
+++ b/WebCore/Android.mk
@@ -751,8 +751,8 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
storage/IDBIndexBackendImpl.cpp \
storage/IDBKey.cpp \
storage/IDBKeyRange.cpp \
- storage/IDBObjectStoreImpl.cpp \
- storage/IDBObjectStoreRequest.cpp \
+ storage/IDBObjectStore.cpp \
+ storage/IDBObjectStoreBackendImpl.cpp \
storage/IDBRequest.cpp \
storage/IDBSuccessEvent.cpp \
storage/IDBFactory.cpp \
diff --git a/WebCore/CMakeLists.txt b/WebCore/CMakeLists.txt
index ca7749b..dc2ad17 100644
--- a/WebCore/CMakeLists.txt
+++ b/WebCore/CMakeLists.txt
@@ -343,7 +343,7 @@ SET(WebCore_IDL_FILES
storage/IDBIndex.idl
storage/IDBKey.idl
storage/IDBKeyRange.idl
- storage/IDBObjectStoreRequest.idl
+ storage/IDBObjectStore.idl
storage/IDBRequest.idl
storage/IDBSuccessEvent.idl
storage/SQLError.idl
@@ -1445,8 +1445,8 @@ SET(WebCore_SOURCES
storage/IDBKey.cpp
storage/IDBKeyRange.cpp
storage/IDBRequest.cpp
- storage/IDBObjectStoreImpl.cpp
- storage/IDBObjectStoreRequest.cpp
+ storage/IDBObjectStore.cpp
+ storage/IDBObjectStoreBackendImpl.cpp
storage/IDBSuccessEvent.cpp
storage/IDBFactory.cpp
storage/IDBFactoryBackendInterface.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 30fd2b4..1a9b41a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,85 @@
+2010-08-03 Andrei Popescu <andreip at google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ [IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
+ https://bugs.webkit.org/show_bug.cgi?id=43420
+
+ Renaming IDBObjectStoreRequest to IDBObjectStore.
+
+ No new tests needed, just refactoring.
+
+ * Android.derived.jscbindings.mk:
+ * Android.derived.v8bindings.mk:
+ * Android.mk:
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSIDBAnyCustom.cpp:
+ (WebCore::toJS):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ (WebCore::toV8):
+ * storage/IDBAny.cpp:
+ (WebCore::IDBAny::idbObjectStore):
+ (WebCore::IDBAny::set):
+ * storage/IDBAny.h:
+ (WebCore::IDBAny::):
+ * storage/IDBCallbacks.h:
+ * storage/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::objectStore):
+ * storage/IDBDatabase.h:
+ * storage/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::objectStore):
+ * storage/IDBDatabaseBackendImpl.h:
+ * storage/IDBDatabaseBackendInterface.h:
+ * storage/IDBObjectStore.cpp: Added.
+ (WebCore::IDBObjectStore::IDBObjectStore):
+ (WebCore::IDBObjectStore::name):
+ (WebCore::IDBObjectStore::keyPath):
+ (WebCore::IDBObjectStore::indexNames):
+ (WebCore::IDBObjectStore::get):
+ (WebCore::IDBObjectStore::add):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::remove):
+ (WebCore::IDBObjectStore::createIndex):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::removeIndex):
+ * storage/IDBObjectStore.h:
+ (WebCore::IDBObjectStore::create):
+ (WebCore::IDBObjectStore::~IDBObjectStore):
+ * storage/IDBObjectStore.idl: Added.
+ * storage/IDBObjectStoreBackendImpl.cpp: Added.
+ (WebCore::IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl):
+ (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
+ (WebCore::IDBObjectStoreBackendImpl::indexNames):
+ (WebCore::IDBObjectStoreBackendImpl::get):
+ (WebCore::IDBObjectStoreBackendImpl::put):
+ (WebCore::IDBObjectStoreBackendImpl::remove):
+ (WebCore::IDBObjectStoreBackendImpl::createIndex):
+ (WebCore::IDBObjectStoreBackendImpl::index):
+ (WebCore::IDBObjectStoreBackendImpl::removeIndex):
+ * storage/IDBObjectStoreBackendImpl.h: Added.
+ (WebCore::IDBObjectStoreBackendImpl::create):
+ (WebCore::IDBObjectStoreBackendImpl::name):
+ (WebCore::IDBObjectStoreBackendImpl::keyPath):
+ * storage/IDBObjectStoreBackendInterface.h: Added.
+ (WebCore::IDBObjectStoreBackendInterface::~IDBObjectStoreBackendInterface):
+ * storage/IDBObjectStoreImpl.cpp: Removed.
+ * storage/IDBObjectStoreImpl.h: Removed.
+ * storage/IDBObjectStoreRequest.cpp: Removed.
+ * storage/IDBObjectStoreRequest.h: Removed.
+ * storage/IDBObjectStoreRequest.idl: Removed.
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess):
+ * storage/IDBRequest.h:
+
2010-08-03 Martin Robinson <mrobinson at igalia.com>
Reviewed by Ojan Vafai.
diff --git a/WebCore/DerivedSources.cpp b/WebCore/DerivedSources.cpp
index 4b85642..4bed568 100644
--- a/WebCore/DerivedSources.cpp
+++ b/WebCore/DerivedSources.cpp
@@ -185,7 +185,7 @@
#include "JSIDBIndex.cpp"
#include "JSIDBKey.cpp"
#include "JSIDBKeyRange.cpp"
-#include "JSIDBObjectStoreRequest.cpp"
+#include "JSIDBObjectStore.cpp"
#include "JSIDBRequest.cpp"
#include "JSIDBSuccessEvent.cpp"
#include "JSImageData.cpp"
diff --git a/WebCore/DerivedSources.make b/WebCore/DerivedSources.make
index baecb31..e263c7e 100644
--- a/WebCore/DerivedSources.make
+++ b/WebCore/DerivedSources.make
@@ -235,7 +235,7 @@ DOM_CLASSES = \
IDBIndex \
IDBKey \
IDBKeyRange \
- IDBObjectStoreRequest \
+ IDBObjectStore \
IDBRequest \
IDBSuccessEvent \
ImageData \
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index 8d1e6de..73474af 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -2849,8 +2849,8 @@ webcore_built_sources += \
DerivedSources/WebCore/JSIDBIndex.h \
DerivedSources/WebCore/JSIDBKeyRange.cpp \
DerivedSources/WebCore/JSIDBKeyRange.h \
- DerivedSources/WebCore/JSIDBObjectStoreRequest.cpp \
- DerivedSources/WebCore/JSIDBObjectStoreRequest.h \
+ DerivedSources/WebCore/JSIDBObjectStore.cpp \
+ DerivedSources/WebCore/JSIDBObjectStore.h \
DerivedSources/WebCore/JSIDBRequest.cpp \
DerivedSources/WebCore/JSIDBRequest.h \
DerivedSources/WebCore/JSIDBSuccessEvent.cpp \
@@ -2878,11 +2878,11 @@ webcore_sources += \
WebCore/storage/IDBIndexBackendImpl.h \
WebCore/storage/IDBKeyRange.cpp \
WebCore/storage/IDBKeyRange.h \
+ WebCore/storage/IDBObjectStore.cpp \
WebCore/storage/IDBObjectStore.h \
- WebCore/storage/IDBObjectStoreImpl.cpp \
- WebCore/storage/IDBObjectStoreImpl.h \
- WebCore/storage/IDBObjectStoreRequest.cpp \
- WebCore/storage/IDBObjectStoreRequest.h \
+ WebCore/storage/IDBObjectStoreBackendImpl.cpp \
+ WebCore/storage/IDBObjectStoreBackendImpl.h \
+ WebCore/storage/IDBObjectStoreBackendInterface.h \
WebCore/storage/IDBRequest.cpp \
WebCore/storage/IDBRequest.h \
WebCore/storage/IDBSuccessEvent.cpp \
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index 9f36c9d..52bfe1d 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -246,7 +246,7 @@
'storage/IDBIndex.idl',
'storage/IDBKey.idl',
'storage/IDBKeyRange.idl',
- 'storage/IDBObjectStoreRequest.idl',
+ 'storage/IDBObjectStore.idl',
'storage/IDBRequest.idl',
'storage/IDBSuccessEvent.idl',
'storage/Metadata.idl',
@@ -3524,11 +3524,11 @@
'storage/IDBKeyRange.cpp',
'storage/IDBKeyRange.h',
'storage/IDBKeyTree.h',
+ 'storage/IDBObjectStore.cpp',
'storage/IDBObjectStore.h',
- 'storage/IDBObjectStoreImpl.cpp',
- 'storage/IDBObjectStoreImpl.h',
- 'storage/IDBObjectStoreRequest.cpp',
- 'storage/IDBObjectStoreRequest.h',
+ 'storage/IDBObjectStoreBackendImpl.cpp',
+ 'storage/IDBObjectStoreBackendImpl.h',
+ 'storage/IDBObjectStoreBackendInterface.h',
'storage/IDBRequest.cpp',
'storage/IDBRequest.h',
'storage/IDBSuccessEvent.cpp',
diff --git a/WebCore/WebCore.pri b/WebCore/WebCore.pri
index 2fdfcd1..ce0f701 100644
--- a/WebCore/WebCore.pri
+++ b/WebCore/WebCore.pri
@@ -491,7 +491,7 @@ IDL_BINDINGS += \
storage/IDBIndex.idl \
storage/IDBKey.idl \
storage/IDBKeyRange.idl \
- storage/IDBObjectStoreRequest.idl \
+ storage/IDBObjectStore.idl \
storage/IDBRequest.idl \
storage/IDBSuccessEvent.idl \
storage/IDBFactory.idl \
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 0beb5ff..ed5e2da 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2441,8 +2441,8 @@ contains(DEFINES, ENABLE_INDEXED_DATABASE=1) {
storage/IDBKey.h \
storage/IDBKeyRange.h \
storage/IDBObjectStore.h \
- storage/IDBObjectStoreImpl.h \
- storage/IDBObjectStoreRequest.h \
+ storage/IDBObjectStoreBackendImpl.h \
+ storage/IDBObjectStoreBackendInterface.h \
storage/IDBRequest.h \
storage/IDBSuccessEvent.h
@@ -2462,8 +2462,8 @@ contains(DEFINES, ENABLE_INDEXED_DATABASE=1) {
storage/IDBIndexBackendImpl.cpp \
storage/IDBKey.cpp \
storage/IDBKeyRange.cpp \
- storage/IDBObjectStoreImpl.cpp \
- storage/IDBObjectStoreRequest.cpp \
+ storage/IDBObjectStore.cpp \
+ storage/IDBObjectStoreBackendImpl.cpp \
storage/IDBRequest.cpp \
storage/IDBSuccessEvent.cpp
}
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index ba58737..e723572 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -45012,7 +45012,7 @@
>
</File>
<File
- RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStoreRequest.cpp"
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.cpp"
>
<FileConfiguration
Name="Debug|Win32"
@@ -45064,7 +45064,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStoreRequest.cpp"
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.cpp"
>
<FileConfiguration
Name="Debug|Win32"
@@ -45116,7 +45116,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStoreRequest.h"
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.h"
>
</File>
<File
@@ -50217,23 +50217,23 @@
>
</File>
<File
- RelativePath="..\storage\IDBObjectStore.h"
+ RelativePath="..\storage\IDBObjectStore.cpp"
>
</File>
<File
- RelativePath="..\storage\IDBObjectStoreImpl.cpp"
+ RelativePath="..\storage\IDBObjectStore.h"
>
</File>
<File
- RelativePath="..\storage\IDBObjectStoreImpl.h"
+ RelativePath="..\storage\IDBObjectStoreBackendImpl.cpp"
>
</File>
<File
- RelativePath="..\storage\IDBObjectStoreRequest.cpp"
+ RelativePath="..\storage\IDBObjectStoreBackendImpl.h"
>
</File>
<File
- RelativePath="..\storage\IDBObjectStoreRequest.h"
+ RelativePath="..\storage\IDBObjectStoreBackendInterface.h"
>
</File>
<File
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 900a8b4..cb74928 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -4953,8 +4953,8 @@
C585A68B11D4FB08004C3E4B /* JSIDBKey.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A67311D4FB07004C3E4B /* JSIDBKey.h */; };
C585A68C11D4FB08004C3E4B /* JSIDBKeyRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A67411D4FB07004C3E4B /* JSIDBKeyRange.cpp */; };
C585A68D11D4FB08004C3E4B /* JSIDBKeyRange.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A67511D4FB07004C3E4B /* JSIDBKeyRange.h */; };
- C585A68E11D4FB08004C3E4B /* JSIDBObjectStoreRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A67611D4FB07004C3E4B /* JSIDBObjectStoreRequest.cpp */; };
- C585A68F11D4FB08004C3E4B /* JSIDBObjectStoreRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A67711D4FB07004C3E4B /* JSIDBObjectStoreRequest.h */; };
+ C585A68E11D4FB08004C3E4B /* JSIDBObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A67611D4FB07004C3E4B /* JSIDBObjectStore.cpp */; };
+ C585A68F11D4FB08004C3E4B /* JSIDBObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A67711D4FB07004C3E4B /* JSIDBObjectStore.h */; };
C585A69011D4FB08004C3E4B /* JSIDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A67811D4FB07004C3E4B /* JSIDBRequest.cpp */; };
C585A69111D4FB08004C3E4B /* JSIDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A67911D4FB07004C3E4B /* JSIDBRequest.h */; };
C585A69211D4FB08004C3E4B /* JSIDBSuccessEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A67A11D4FB07004C3E4B /* JSIDBSuccessEvent.cpp */; };
@@ -4978,10 +4978,10 @@
C585A6EA11D4FB3D004C3E4B /* IDBKeyRange.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6B611D4FB3D004C3E4B /* IDBKeyRange.h */; };
C585A6EC11D4FB3D004C3E4B /* IDBKeyTree.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6B811D4FB3D004C3E4B /* IDBKeyTree.h */; };
C585A6ED11D4FB3D004C3E4B /* IDBObjectStore.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6B911D4FB3D004C3E4B /* IDBObjectStore.h */; };
- C585A6EE11D4FB3D004C3E4B /* IDBObjectStoreImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6BA11D4FB3D004C3E4B /* IDBObjectStoreImpl.cpp */; };
- C585A6EF11D4FB3D004C3E4B /* IDBObjectStoreImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6BB11D4FB3D004C3E4B /* IDBObjectStoreImpl.h */; };
- C585A6F011D4FB3D004C3E4B /* IDBObjectStoreRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6BC11D4FB3D004C3E4B /* IDBObjectStoreRequest.cpp */; };
- C585A6F111D4FB3D004C3E4B /* IDBObjectStoreRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6BD11D4FB3D004C3E4B /* IDBObjectStoreRequest.h */; };
+ C585A6F011D4FB3D004C3E4B /* IDBObjectStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6BC11D4FB3D004C3E4B /* IDBObjectStore.cpp */; };
+ C585A6EE11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6BA11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.cpp */; };
+ C585A6EF11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6BB11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.h */; };
+ C585A6F111D4FB3D004C3E4B /* IDBObjectStoreBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6BD11D4FB3D004C3E4B /* IDBObjectStoreBackendInterface.h */; };
C585A6F311D4FB3D004C3E4B /* IDBRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6BF11D4FB3D004C3E4B /* IDBRequest.cpp */; };
C585A6F411D4FB3D004C3E4B /* IDBRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6C011D4FB3D004C3E4B /* IDBRequest.h */; };
C585A6F611D4FB3D004C3E4B /* IDBSuccessEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6C211D4FB3D004C3E4B /* IDBSuccessEvent.cpp */; };
@@ -10656,8 +10656,8 @@
C585A67311D4FB07004C3E4B /* JSIDBKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBKey.h; sourceTree = "<group>"; };
C585A67411D4FB07004C3E4B /* JSIDBKeyRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBKeyRange.cpp; sourceTree = "<group>"; };
C585A67511D4FB07004C3E4B /* JSIDBKeyRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBKeyRange.h; sourceTree = "<group>"; };
- C585A67611D4FB07004C3E4B /* JSIDBObjectStoreRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBObjectStoreRequest.cpp; sourceTree = "<group>"; };
- C585A67711D4FB07004C3E4B /* JSIDBObjectStoreRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBObjectStoreRequest.h; sourceTree = "<group>"; };
+ C585A67611D4FB07004C3E4B /* JSIDBObjectStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBObjectStore.cpp; sourceTree = "<group>"; };
+ C585A67711D4FB07004C3E4B /* JSIDBObjectStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBObjectStore.h; sourceTree = "<group>"; };
C585A67811D4FB07004C3E4B /* JSIDBRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBRequest.cpp; sourceTree = "<group>"; };
C585A67911D4FB07004C3E4B /* JSIDBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBRequest.h; sourceTree = "<group>"; };
C585A67A11D4FB07004C3E4B /* JSIDBSuccessEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBSuccessEvent.cpp; sourceTree = "<group>"; };
@@ -10689,12 +10689,12 @@
C585A6B611D4FB3D004C3E4B /* IDBKeyRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBKeyRange.h; sourceTree = "<group>"; };
C585A6B711D4FB3D004C3E4B /* IDBKeyRange.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBKeyRange.idl; sourceTree = "<group>"; };
C585A6B811D4FB3D004C3E4B /* IDBKeyTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBKeyTree.h; sourceTree = "<group>"; };
+ C585A6BC11D4FB3D004C3E4B /* IDBObjectStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBObjectStore.cpp; sourceTree = "<group>"; };
C585A6B911D4FB3D004C3E4B /* IDBObjectStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStore.h; sourceTree = "<group>"; };
- C585A6BA11D4FB3D004C3E4B /* IDBObjectStoreImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBObjectStoreImpl.cpp; sourceTree = "<group>"; };
- C585A6BB11D4FB3D004C3E4B /* IDBObjectStoreImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStoreImpl.h; sourceTree = "<group>"; };
- C585A6BC11D4FB3D004C3E4B /* IDBObjectStoreRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBObjectStoreRequest.cpp; sourceTree = "<group>"; };
- C585A6BD11D4FB3D004C3E4B /* IDBObjectStoreRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStoreRequest.h; sourceTree = "<group>"; };
- C585A6BE11D4FB3D004C3E4B /* IDBObjectStoreRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBObjectStoreRequest.idl; sourceTree = "<group>"; };
+ C585A6BE11D4FB3D004C3E4B /* IDBObjectStore.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBObjectStore.idl; sourceTree = "<group>"; };
+ C585A6BA11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBObjectStoreBackendImpl.cpp; sourceTree = "<group>"; };
+ C585A6BB11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStoreBackendImpl.h; sourceTree = "<group>"; };
+ C585A6BD11D4FB3D004C3E4B /* IDBObjectStoreBackendInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBObjectStoreBackendInterface.h; sourceTree = "<group>"; };
C585A6BF11D4FB3D004C3E4B /* IDBRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBRequest.cpp; sourceTree = "<group>"; };
C585A6C011D4FB3D004C3E4B /* IDBRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBRequest.h; sourceTree = "<group>"; };
C585A6C111D4FB3D004C3E4B /* IDBRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBRequest.idl; sourceTree = "<group>"; };
@@ -11425,12 +11425,12 @@
C585A6B611D4FB3D004C3E4B /* IDBKeyRange.h */,
C585A6B711D4FB3D004C3E4B /* IDBKeyRange.idl */,
C585A6B811D4FB3D004C3E4B /* IDBKeyTree.h */,
+ C585A6BC11D4FB3D004C3E4B /* IDBObjectStore.cpp */,
C585A6B911D4FB3D004C3E4B /* IDBObjectStore.h */,
- C585A6BA11D4FB3D004C3E4B /* IDBObjectStoreImpl.cpp */,
- C585A6BB11D4FB3D004C3E4B /* IDBObjectStoreImpl.h */,
- C585A6BC11D4FB3D004C3E4B /* IDBObjectStoreRequest.cpp */,
- C585A6BD11D4FB3D004C3E4B /* IDBObjectStoreRequest.h */,
- C585A6BE11D4FB3D004C3E4B /* IDBObjectStoreRequest.idl */,
+ C585A6BE11D4FB3D004C3E4B /* IDBObjectStore.idl */,
+ C585A6BA11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.cpp */,
+ C585A6BB11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.h */,
+ C585A6BD11D4FB3D004C3E4B /* IDBObjectStoreBackendInterface.h */,
C585A6BF11D4FB3D004C3E4B /* IDBRequest.cpp */,
C585A6C011D4FB3D004C3E4B /* IDBRequest.h */,
C585A6C111D4FB3D004C3E4B /* IDBRequest.idl */,
@@ -14869,8 +14869,8 @@
C585A67311D4FB07004C3E4B /* JSIDBKey.h */,
C585A67411D4FB07004C3E4B /* JSIDBKeyRange.cpp */,
C585A67511D4FB07004C3E4B /* JSIDBKeyRange.h */,
- C585A67611D4FB07004C3E4B /* JSIDBObjectStoreRequest.cpp */,
- C585A67711D4FB07004C3E4B /* JSIDBObjectStoreRequest.h */,
+ C585A67611D4FB07004C3E4B /* JSIDBObjectStore.cpp */,
+ C585A67711D4FB07004C3E4B /* JSIDBObjectStore.h */,
C585A67811D4FB07004C3E4B /* JSIDBRequest.cpp */,
C585A67911D4FB07004C3E4B /* JSIDBRequest.h */,
C585A67A11D4FB07004C3E4B /* JSIDBSuccessEvent.cpp */,
@@ -18603,8 +18603,8 @@
C585A6EA11D4FB3D004C3E4B /* IDBKeyRange.h in Headers */,
C585A6EC11D4FB3D004C3E4B /* IDBKeyTree.h in Headers */,
C585A6ED11D4FB3D004C3E4B /* IDBObjectStore.h in Headers */,
- C585A6EF11D4FB3D004C3E4B /* IDBObjectStoreImpl.h in Headers */,
- C585A6F111D4FB3D004C3E4B /* IDBObjectStoreRequest.h in Headers */,
+ C585A6EF11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.h in Headers */,
+ C585A6F111D4FB3D004C3E4B /* IDBObjectStoreBackendInterface.h in Headers */,
C585A6F411D4FB3D004C3E4B /* IDBRequest.h in Headers */,
C585A6F711D4FB3D004C3E4B /* IDBSuccessEvent.h in Headers */,
1A71D57C0F33819000F9CE4E /* IdentifierRep.h in Headers */,
@@ -18850,7 +18850,7 @@
C572EE1F1201C9BC007D8F82 /* JSIDBIndex.h in Headers */,
C585A68B11D4FB08004C3E4B /* JSIDBKey.h in Headers */,
C585A68D11D4FB08004C3E4B /* JSIDBKeyRange.h in Headers */,
- C585A68F11D4FB08004C3E4B /* JSIDBObjectStoreRequest.h in Headers */,
+ C585A68F11D4FB08004C3E4B /* JSIDBObjectStore.h in Headers */,
C585A69111D4FB08004C3E4B /* JSIDBRequest.h in Headers */,
C585A69311D4FB08004C3E4B /* JSIDBSuccessEvent.h in Headers */,
BC6C49F40D7DBA0500FFA558 /* JSImageConstructor.h in Headers */,
@@ -21032,8 +21032,8 @@
C572EE0D1201C736007D8F82 /* IDBIndexBackendImpl.cpp in Sources */,
C585A6E611D4FB3D004C3E4B /* IDBKey.cpp in Sources */,
C585A6E911D4FB3D004C3E4B /* IDBKeyRange.cpp in Sources */,
- C585A6EE11D4FB3D004C3E4B /* IDBObjectStoreImpl.cpp in Sources */,
- C585A6F011D4FB3D004C3E4B /* IDBObjectStoreRequest.cpp in Sources */,
+ C585A6F011D4FB3D004C3E4B /* IDBObjectStore.cpp in Sources */,
+ C585A6EE11D4FB3D004C3E4B /* IDBObjectStoreBackendImpl.cpp in Sources */,
C585A6F311D4FB3D004C3E4B /* IDBRequest.cpp in Sources */,
C585A6F611D4FB3D004C3E4B /* IDBSuccessEvent.cpp in Sources */,
1A71D57B0F33819000F9CE4E /* IdentifierRep.cpp in Sources */,
@@ -21323,7 +21323,7 @@
C585A68A11D4FB08004C3E4B /* JSIDBKey.cpp in Sources */,
C585A65F11D4FAB2004C3E4B /* JSIDBKeyCustom.cpp in Sources */,
C585A68C11D4FB08004C3E4B /* JSIDBKeyRange.cpp in Sources */,
- C585A68E11D4FB08004C3E4B /* JSIDBObjectStoreRequest.cpp in Sources */,
+ C585A68E11D4FB08004C3E4B /* JSIDBObjectStore.cpp in Sources */,
C585A69011D4FB08004C3E4B /* JSIDBRequest.cpp in Sources */,
C585A69211D4FB08004C3E4B /* JSIDBSuccessEvent.cpp in Sources */,
BC6C49F30D7DBA0500FFA558 /* JSImageConstructor.cpp in Sources */,
diff --git a/WebCore/bindings/js/JSIDBAnyCustom.cpp b/WebCore/bindings/js/JSIDBAnyCustom.cpp
index e5adbe3..0808b48 100644
--- a/WebCore/bindings/js/JSIDBAnyCustom.cpp
+++ b/WebCore/bindings/js/JSIDBAnyCustom.cpp
@@ -36,12 +36,12 @@
#include "IDBFactory.h"
#include "IDBIndex.h"
#include "IDBKey.h"
-#include "IDBObjectStoreRequest.h"
+#include "IDBObjectStore.h"
#include "JSIDBDatabase.h"
#include "JSIDBFactory.h"
#include "JSIDBIndex.h"
#include "JSIDBKey.h"
-#include "JSIDBObjectStoreRequest.h"
+#include "JSIDBObjectStore.h"
#include "SerializedScriptValue.h"
using namespace JSC;
@@ -64,8 +64,8 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, IDBAny* idbAny)
return toJS(exec, globalObject, idbAny->idbIndex());
case IDBAny::IDBKeyType:
return toJS(exec, globalObject, idbAny->idbKey());
- case IDBAny::IDBObjectStoreRequestType:
- return toJS(exec, globalObject, idbAny->idbObjectStoreRequest());
+ case IDBAny::IDBObjectStoreType:
+ return toJS(exec, globalObject, idbAny->idbObjectStore());
case IDBAny::IDBFactoryType:
return toJS(exec, globalObject, idbAny->idbFactory());
case IDBAny::SerializedScriptValueType:
diff --git a/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp b/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
index 11532e1..1abe870 100644
--- a/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
@@ -36,7 +36,7 @@
#include "V8IDBFactory.h"
#include "V8IDBIndex.h"
#include "V8IDBKey.h"
-#include "V8IDBObjectStoreRequest.h"
+#include "V8IDBObjectStore.h"
namespace WebCore {
@@ -56,8 +56,8 @@ v8::Handle<v8::Value> toV8(IDBAny* impl)
return toV8(impl->idbIndex());
case IDBAny::IDBKeyType:
return toV8(impl->idbKey());
- case IDBAny::IDBObjectStoreRequestType:
- return toV8(impl->idbObjectStoreRequest());
+ case IDBAny::IDBObjectStoreType:
+ return toV8(impl->idbObjectStore());
case IDBAny::IDBFactoryType:
return toV8(impl->idbFactory());
case IDBAny::SerializedScriptValueType:
diff --git a/WebCore/storage/IDBAny.cpp b/WebCore/storage/IDBAny.cpp
index eafbf53..852e831 100644
--- a/WebCore/storage/IDBAny.cpp
+++ b/WebCore/storage/IDBAny.cpp
@@ -31,7 +31,7 @@
#include "IDBDatabase.h"
#include "IDBFactory.h"
#include "IDBIndex.h"
-#include "IDBObjectStoreRequest.h"
+#include "IDBObjectStore.h"
#include "SerializedScriptValue.h"
namespace WebCore {
@@ -68,10 +68,10 @@ PassRefPtr<IDBKey> IDBAny::idbKey()
return m_idbKey;
}
-PassRefPtr<IDBObjectStoreRequest> IDBAny::idbObjectStoreRequest()
+PassRefPtr<IDBObjectStore> IDBAny::idbObjectStore()
{
- ASSERT(m_type == IDBObjectStoreRequestType);
- return m_idbObjectStoreRequest;
+ ASSERT(m_type == IDBObjectStoreType);
+ return m_idbObjectStore;
}
PassRefPtr<IDBFactory> IDBAny::idbFactory()
@@ -113,11 +113,11 @@ void IDBAny::set(PassRefPtr<IDBKey> value)
m_idbKey = value;
}
-void IDBAny::set(PassRefPtr<IDBObjectStoreRequest> value)
+void IDBAny::set(PassRefPtr<IDBObjectStore> value)
{
ASSERT(m_type == UndefinedType);
- m_type = IDBObjectStoreRequestType;
- m_idbObjectStoreRequest = value;
+ m_type = IDBObjectStoreType;
+ m_idbObjectStore = value;
}
void IDBAny::set(PassRefPtr<IDBFactory> value)
diff --git a/WebCore/storage/IDBAny.h b/WebCore/storage/IDBAny.h
index d9022f1..1f96500 100644
--- a/WebCore/storage/IDBAny.h
+++ b/WebCore/storage/IDBAny.h
@@ -37,7 +37,7 @@ namespace WebCore {
class IDBDatabase;
class IDBIndex;
class IDBKey;
-class IDBObjectStoreRequest;
+class IDBObjectStore;
class IDBFactory;
class SerializedScriptValue;
@@ -60,7 +60,7 @@ public:
IDBFactoryType,
IDBIndexType,
IDBKeyType,
- IDBObjectStoreRequestType,
+ IDBObjectStoreType,
SerializedScriptValueType
};
@@ -70,7 +70,7 @@ public:
PassRefPtr<IDBFactory> idbFactory();
PassRefPtr<IDBIndex> idbIndex();
PassRefPtr<IDBKey> idbKey();
- PassRefPtr<IDBObjectStoreRequest> idbObjectStoreRequest();
+ PassRefPtr<IDBObjectStore> idbObjectStore();
PassRefPtr<SerializedScriptValue> serializedScriptValue();
// Set can only be called once.
@@ -79,7 +79,7 @@ public:
void set(PassRefPtr<IDBFactory>);
void set(PassRefPtr<IDBIndex>);
void set(PassRefPtr<IDBKey>);
- void set(PassRefPtr<IDBObjectStoreRequest>);
+ void set(PassRefPtr<IDBObjectStore>);
void set(PassRefPtr<SerializedScriptValue>);
private:
@@ -92,7 +92,7 @@ private:
RefPtr<IDBFactory> m_idbFactory;
RefPtr<IDBIndex> m_idbIndex;
RefPtr<IDBKey> m_idbKey;
- RefPtr<IDBObjectStoreRequest> m_idbObjectStoreRequest;
+ RefPtr<IDBObjectStore> m_idbObjectStore;
RefPtr<SerializedScriptValue> m_serializedScriptValue;
};
diff --git a/WebCore/storage/IDBCallbacks.h b/WebCore/storage/IDBCallbacks.h
index 871dd55..47c3694 100644
--- a/WebCore/storage/IDBCallbacks.h
+++ b/WebCore/storage/IDBCallbacks.h
@@ -33,7 +33,7 @@
#include "IDBDatabaseError.h"
#include "IDBIndexBackendInterface.h"
#include "IDBKey.h"
-#include "IDBObjectStore.h"
+#include "IDBObjectStoreBackendInterface.h"
#include "SerializedScriptValue.h"
#include <wtf/RefCounted.h>
@@ -50,7 +50,7 @@ public:
virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) = 0;
virtual void onSuccess(PassRefPtr<IDBIndexBackendInterface>) = 0;
virtual void onSuccess(PassRefPtr<IDBKey>) = 0;
- virtual void onSuccess(PassRefPtr<IDBObjectStore>) = 0;
+ virtual void onSuccess(PassRefPtr<IDBObjectStoreBackendInterface>) = 0;
virtual void onSuccess(PassRefPtr<SerializedScriptValue>) = 0;
};
diff --git a/WebCore/storage/IDBDatabase.cpp b/WebCore/storage/IDBDatabase.cpp
index 03c0972..e4d4385 100644
--- a/WebCore/storage/IDBDatabase.cpp
+++ b/WebCore/storage/IDBDatabase.cpp
@@ -28,7 +28,7 @@
#include "IDBAny.h"
#include "IDBFactoryBackendInterface.h"
-#include "IDBObjectStoreRequest.h"
+#include "IDBObjectStore.h"
#include "IDBRequest.h"
#include "ScriptExecutionContext.h"
@@ -54,11 +54,11 @@ PassRefPtr<IDBRequest> IDBDatabase::createObjectStore(ScriptExecutionContext* co
return request;
}
-PassRefPtr<IDBObjectStoreRequest> IDBDatabase::objectStore(const String& name, unsigned short mode)
+PassRefPtr<IDBObjectStore> IDBDatabase::objectStore(const String& name, unsigned short mode)
{
- RefPtr<IDBObjectStore> objectStore = m_backend->objectStore(name, mode);
+ RefPtr<IDBObjectStoreBackendInterface> objectStore = m_backend->objectStore(name, mode);
ASSERT(objectStore); // FIXME: If this is null, we should raise a NOT_FOUND_ERR.
- return IDBObjectStoreRequest::create(objectStore.release());
+ return IDBObjectStore::create(objectStore.release());
}
PassRefPtr<IDBRequest> IDBDatabase::removeObjectStore(ScriptExecutionContext* context, const String& name)
diff --git a/WebCore/storage/IDBDatabase.h b/WebCore/storage/IDBDatabase.h
index 9f7b9af..cca20e3 100644
--- a/WebCore/storage/IDBDatabase.h
+++ b/WebCore/storage/IDBDatabase.h
@@ -37,7 +37,7 @@
namespace WebCore {
class IDBAny;
-class IDBObjectStoreRequest;
+class IDBObjectStore;
class IDBRequest;
class ScriptExecutionContext;
@@ -56,7 +56,7 @@ public:
PassRefPtr<DOMStringList> objectStores() const { return m_backend->objectStores(); }
PassRefPtr<IDBRequest> createObjectStore(ScriptExecutionContext*, const String& name, const String& keyPath = String(), bool autoIncrement = false);
- PassRefPtr<IDBObjectStoreRequest> objectStore(const String& name, unsigned short mode = 0); // FIXME: Use constant rather than 0.
+ PassRefPtr<IDBObjectStore> objectStore(const String& name, unsigned short mode = 0); // FIXME: Use constant rather than 0.
PassRefPtr<IDBRequest> removeObjectStore(ScriptExecutionContext*, const String& name);
private:
diff --git a/WebCore/storage/IDBDatabase.idl b/WebCore/storage/IDBDatabase.idl
index 1bc121f..d75ed55 100644
--- a/WebCore/storage/IDBDatabase.idl
+++ b/WebCore/storage/IDBDatabase.idl
@@ -38,7 +38,7 @@ module storage {
[CallWith=ScriptExecutionContext] IDBRequest createObjectStore(in DOMString name, in [Optional, ConvertNullToNullString] DOMString keyPath, in [Optional] boolean autoIncrement);
// FIXME: objectStore needs to be able to raise an IDBDatabaseException.
- IDBObjectStoreRequest objectStore(in DOMString name, in [Optional] unsigned short mode);
+ IDBObjectStore objectStore(in DOMString name, in [Optional] unsigned short mode);
[CallWith=ScriptExecutionContext] IDBRequest removeObjectStore(in DOMString name);
};
diff --git a/WebCore/storage/IDBDatabaseBackendImpl.cpp b/WebCore/storage/IDBDatabaseBackendImpl.cpp
index 02e784c..86228bd 100644
--- a/WebCore/storage/IDBDatabaseBackendImpl.cpp
+++ b/WebCore/storage/IDBDatabaseBackendImpl.cpp
@@ -28,7 +28,7 @@
#include "DOMStringList.h"
#include "IDBDatabaseException.h"
-#include "IDBObjectStoreImpl.h"
+#include "IDBObjectStoreBackendImpl.h"
#if ENABLE(INDEXED_DATABASE)
@@ -60,12 +60,12 @@ void IDBDatabaseBackendImpl::createObjectStore(const String& name, const String&
return;
}
- RefPtr<IDBObjectStore> objectStore = IDBObjectStoreImpl::create(name, keyPath, autoIncrement);
+ RefPtr<IDBObjectStoreBackendInterface> objectStore = IDBObjectStoreBackendImpl::create(name, keyPath, autoIncrement);
m_objectStores.set(name, objectStore);
callbacks->onSuccess(objectStore.release());
}
-PassRefPtr<IDBObjectStore> IDBDatabaseBackendImpl::objectStore(const String& name, unsigned short mode)
+PassRefPtr<IDBObjectStoreBackendInterface> IDBDatabaseBackendImpl::objectStore(const String& name, unsigned short mode)
{
// FIXME: If no transaction is running, this should implicitly start one.
ASSERT_UNUSED(mode, !mode); // FIXME: Handle non-standard modes.
diff --git a/WebCore/storage/IDBDatabaseBackendImpl.h b/WebCore/storage/IDBDatabaseBackendImpl.h
index 9f5ae4e..87e070a 100644
--- a/WebCore/storage/IDBDatabaseBackendImpl.h
+++ b/WebCore/storage/IDBDatabaseBackendImpl.h
@@ -50,7 +50,7 @@ public:
virtual PassRefPtr<DOMStringList> objectStores() const;
virtual void createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks>);
- virtual PassRefPtr<IDBObjectStore> objectStore(const String& name, unsigned short mode);
+ virtual PassRefPtr<IDBObjectStoreBackendInterface> objectStore(const String& name, unsigned short mode);
virtual void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>);
private:
@@ -60,7 +60,7 @@ private:
String m_description;
String m_version;
- typedef HashMap<String, RefPtr<IDBObjectStore> > ObjectStoreMap;
+ typedef HashMap<String, RefPtr<IDBObjectStoreBackendInterface> > ObjectStoreMap;
ObjectStoreMap m_objectStores;
};
diff --git a/WebCore/storage/IDBDatabaseBackendInterface.h b/WebCore/storage/IDBDatabaseBackendInterface.h
index 0e9ca1b..c2b08f1 100644
--- a/WebCore/storage/IDBDatabaseBackendInterface.h
+++ b/WebCore/storage/IDBDatabaseBackendInterface.h
@@ -37,7 +37,7 @@ namespace WebCore {
class DOMStringList;
class Frame;
class IDBCallbacks;
-class IDBObjectStore;
+class IDBObjectStoreBackendInterface;
// This class is shared by IDBDatabase (async) and IDBDatabaseSync (sync).
// This is implemented by IDBDatabaseBackendImpl and optionally others (in order to proxy
@@ -55,7 +55,7 @@ public:
// FIXME: Add transaction and setVersion.
virtual void createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks>) = 0;
- virtual PassRefPtr<IDBObjectStore> objectStore(const String& name, unsigned short mode) = 0;
+ virtual PassRefPtr<IDBObjectStoreBackendInterface> objectStore(const String& name, unsigned short mode) = 0;
virtual void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>) = 0;
};
diff --git a/WebCore/storage/IDBObjectStore.cpp b/WebCore/storage/IDBObjectStore.cpp
new file mode 100644
index 0000000..4b1de0a
--- /dev/null
+++ b/WebCore/storage/IDBObjectStore.cpp
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBObjectStore.h"
+
+#include "DOMStringList.h"
+#include "IDBAny.h"
+#include "IDBIndex.h"
+#include "IDBKey.h"
+#include "SerializedScriptValue.h"
+#include <wtf/UnusedParam.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBObjectStore::IDBObjectStore(PassRefPtr<IDBObjectStoreBackendInterface> idbObjectStore)
+ : m_objectStore(idbObjectStore)
+{
+ // We pass a reference to this object before it can be adopted.
+ relaxAdoptionRequirement();
+}
+
+String IDBObjectStore::name() const
+{
+ return m_objectStore->name();
+}
+
+String IDBObjectStore::keyPath() const
+{
+ return m_objectStore->keyPath();
+}
+
+PassRefPtr<DOMStringList> IDBObjectStore::indexNames() const
+{
+ return m_objectStore->indexNames();
+}
+
+PassRefPtr<IDBRequest> IDBObjectStore::get(ScriptExecutionContext* context, PassRefPtr<IDBKey> key)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_objectStore->get(key, request);
+ return request;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStore::add(ScriptExecutionContext* context, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_objectStore->put(value, key, true, request);
+ return request;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStore::put(ScriptExecutionContext* context, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_objectStore->put(value, key, false, request);
+ return request;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStore::remove(ScriptExecutionContext* context, PassRefPtr<IDBKey> key)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_objectStore->remove(key, request);
+ return request;
+}
+
+PassRefPtr<IDBRequest> IDBObjectStore::createIndex(ScriptExecutionContext* context, const String& name, const String& keyPath, bool unique)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_objectStore->createIndex(name, keyPath, unique, request);
+ return request;
+}
+
+PassRefPtr<IDBIndex> IDBObjectStore::index(const String& name)
+{
+ RefPtr<IDBIndexBackendInterface> index = m_objectStore->index(name);
+ ASSERT(index); // FIXME: If this is null, we should raise a NOT_FOUND_ERR.
+ return IDBIndex::create(index.release());
+}
+
+PassRefPtr<IDBRequest> IDBObjectStore::removeIndex(ScriptExecutionContext* context, const String& name)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_objectStore->removeIndex(name, request);
+ return request;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBObjectStore.h b/WebCore/storage/IDBObjectStore.h
index 4a53eb4..e354273 100644
--- a/WebCore/storage/IDBObjectStore.h
+++ b/WebCore/storage/IDBObjectStore.h
@@ -26,34 +26,48 @@
#ifndef IDBObjectStore_h
#define IDBObjectStore_h
+#include "IDBObjectStoreBackendInterface.h"
+#include "IDBRequest.h"
#include "PlatformString.h"
-#include <wtf/Threading.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
#if ENABLE(INDEXED_DATABASE)
namespace WebCore {
class DOMStringList;
-class IDBCallbacks;
-class IDBIndexBackendInterface;
+class IDBAny;
+class IDBIndexRequest;
class IDBKey;
class SerializedScriptValue;
-class IDBObjectStore : public ThreadSafeShared<IDBObjectStore> {
+class IDBObjectStore : public RefCounted<IDBObjectStore> {
public:
- virtual ~IDBObjectStore() { }
+ static PassRefPtr<IDBObjectStore> create(PassRefPtr<IDBObjectStoreBackendInterface> idbObjectStore)
+ {
+ return adoptRef(new IDBObjectStore(idbObjectStore));
+ }
+ ~IDBObjectStore() { }
- virtual String name() const = 0;
- virtual String keyPath() const = 0;
- virtual PassRefPtr<DOMStringList> indexNames() const = 0;
+ String name() const;
+ String keyPath() const;
+ PassRefPtr<DOMStringList> indexNames() const;
- virtual void get(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>) = 0;
- virtual void put(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key, bool addOnly, PassRefPtr<IDBCallbacks>) = 0;
- virtual void remove(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>) = 0;
+ PassRefPtr<IDBRequest> get(ScriptExecutionContext*, PassRefPtr<IDBKey> key);
+ PassRefPtr<IDBRequest> add(ScriptExecutionContext*, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key = 0);
+ PassRefPtr<IDBRequest> put(ScriptExecutionContext*, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key = 0);
+ PassRefPtr<IDBRequest> remove(ScriptExecutionContext*, PassRefPtr<IDBKey> key);
- virtual void createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks>) = 0;
- virtual PassRefPtr<IDBIndexBackendInterface> index(const String& name) = 0;
- virtual void removeIndex(const String& name, PassRefPtr<IDBCallbacks>) = 0;
+ PassRefPtr<IDBRequest> createIndex(ScriptExecutionContext*, const String& name, const String& keyPath, bool unique = false);
+ PassRefPtr<IDBIndex> index(const String& name);
+ PassRefPtr<IDBRequest> removeIndex(ScriptExecutionContext*, const String& name);
+
+private:
+ IDBObjectStore(PassRefPtr<IDBObjectStoreBackendInterface>);
+
+ RefPtr<IDBObjectStoreBackendInterface> m_objectStore;
};
} // namespace WebCore
diff --git a/WebCore/storage/IDBObjectStore.idl b/WebCore/storage/IDBObjectStore.idl
new file mode 100644
index 0000000..0a57c7d
--- /dev/null
+++ b/WebCore/storage/IDBObjectStore.idl
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module storage {
+
+ interface [
+ Conditional=INDEXED_DATABASE
+ ] IDBObjectStore {
+ [CallWith=ScriptExecutionContext] IDBRequest get(in IDBKey key);
+ // FIXME: Come to concensus re getAll.
+ // FIXME: SerializedScriptValue raises an exception if you pass in something that can't be serialized.
+ // We need to instead "raise" this error via an error callback.
+ [CallWith=ScriptExecutionContext] IDBRequest add(in SerializedScriptValue value, in [Optional] IDBKey key);
+ [CallWith=ScriptExecutionContext] IDBRequest put(in SerializedScriptValue value, in [Optional] IDBKey key);
+ [CallWith=ScriptExecutionContext] IDBRequest remove(in IDBKey key);
+ // FIXME: write openCursor
+ [CallWith=ScriptExecutionContext] IDBRequest createIndex(in DOMString name, in [ConvertNullToNullString] DOMString keyPath, in [Optional] boolean unique);
+ // FIXME: This needs to raise an IDBDatabaseException on errors.
+ IDBIndex index(in DOMString name);
+ [CallWith=ScriptExecutionContext] IDBRequest removeIndex(in DOMString name);
+
+ readonly attribute DOMString name;
+ readonly attribute [ConvertNullStringTo=Null] DOMString keyPath;
+ readonly attribute DOMStringList indexNames;
+ };
+}
diff --git a/WebCore/storage/IDBObjectStoreBackendImpl.cpp b/WebCore/storage/IDBObjectStoreBackendImpl.cpp
new file mode 100755
index 0000000..f6120ae
--- /dev/null
+++ b/WebCore/storage/IDBObjectStoreBackendImpl.cpp
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "IDBObjectStoreBackendImpl.h"
+
+#include "DOMStringList.h"
+#include "IDBBindingUtilities.h"
+#include "IDBCallbacks.h"
+#include "IDBDatabaseException.h"
+#include "IDBIndexBackendImpl.h"
+#include "IDBKeyTree.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBObjectStoreBackendImpl::~IDBObjectStoreBackendImpl()
+{
+}
+
+IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl(const String& name, const String& keyPath, bool autoIncrement)
+ : m_name(name)
+ , m_keyPath(keyPath)
+ , m_autoIncrement(autoIncrement)
+ , m_tree(Tree::create())
+{
+}
+
+PassRefPtr<DOMStringList> IDBObjectStoreBackendImpl::indexNames() const
+{
+ RefPtr<DOMStringList> indexNames = DOMStringList::create();
+ for (IndexMap::const_iterator it = m_indexes.begin(); it != m_indexes.end(); ++it)
+ indexNames->append(it->first);
+ return indexNames.release();
+}
+
+void IDBObjectStoreBackendImpl::get(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
+{
+ RefPtr<SerializedScriptValue> value = m_tree->get(key.get());
+ if (!value) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "Key does not exist in the object store."));
+ return;
+ }
+ callbacks->onSuccess(value.get());
+}
+
+void IDBObjectStoreBackendImpl::put(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> prpKey, bool addOnly, PassRefPtr<IDBCallbacks> callbacks)
+{
+ RefPtr<IDBKey> key = prpKey;
+
+ if (!m_keyPath.isNull()) {
+ if (key) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UNKNOWN_ERR, "A key was supplied for an objectStore that has a keyPath."));
+ return;
+ }
+ ASSERT_NOT_REACHED();
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UNKNOWN_ERR, "FIXME: keyPath not yet supported."));
+ return;
+ }
+
+ if (!key) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::DATA_ERR, "No key supplied."));
+ return;
+ }
+
+ if (addOnly && m_tree->get(key.get())) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "Key already exists in the object store."));
+ return;
+ }
+
+ m_tree->put(key.get(), value.get());
+ callbacks->onSuccess(key.get());
+}
+
+void IDBObjectStoreBackendImpl::remove(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
+{
+ m_tree->remove(key.get());
+ callbacks->onSuccess();
+}
+
+void IDBObjectStoreBackendImpl::createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks> callbacks)
+{
+ if (m_indexes.contains(name)) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "Index name already exists."));
+ return;
+ }
+
+ RefPtr<IDBIndexBackendInterface> index = IDBIndexBackendImpl::create(name, keyPath, unique);
+ ASSERT(index->name() == name);
+ m_indexes.set(name, index);
+ callbacks->onSuccess(index.release());
+}
+
+PassRefPtr<IDBIndexBackendInterface> IDBObjectStoreBackendImpl::index(const String& name)
+{
+ return m_indexes.get(name);
+}
+
+void IDBObjectStoreBackendImpl::removeIndex(const String& name, PassRefPtr<IDBCallbacks> callbacks)
+{
+ if (!m_indexes.contains(name)) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "Index name does not exist."));
+ return;
+ }
+
+ m_indexes.remove(name);
+ callbacks->onSuccess();
+}
+
+
+} // namespace WebCore
+
+#endif
diff --git a/WebCore/storage/IDBObjectStoreBackendImpl.h b/WebCore/storage/IDBObjectStoreBackendImpl.h
new file mode 100644
index 0000000..b0976c2
--- /dev/null
+++ b/WebCore/storage/IDBObjectStoreBackendImpl.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBObjectStoreBackendImpl_h
+#define IDBObjectStoreBackendImpl_h
+
+#include "IDBObjectStoreBackendInterface.h"
+#include "StringHash.h"
+#include <wtf/HashMap.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+template <typename ValueType> class IDBKeyTree;
+
+class IDBObjectStoreBackendImpl : public IDBObjectStoreBackendInterface {
+public:
+ static PassRefPtr<IDBObjectStoreBackendInterface> create(const String& name, const String& keyPath, bool autoIncrement)
+ {
+ return adoptRef(new IDBObjectStoreBackendImpl(name, keyPath, autoIncrement));
+ }
+ ~IDBObjectStoreBackendImpl();
+
+ String name() const { return m_name; }
+ String keyPath() const { return m_keyPath; }
+ PassRefPtr<DOMStringList> indexNames() const;
+
+ void get(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>);
+ void put(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key, bool addOnly, PassRefPtr<IDBCallbacks>);
+ void remove(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>);
+
+ void createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks>);
+ PassRefPtr<IDBIndexBackendInterface> index(const String& name);
+ void removeIndex(const String& name, PassRefPtr<IDBCallbacks>);
+
+private:
+ IDBObjectStoreBackendImpl(const String& name, const String& keyPath, bool autoIncrement);
+
+ String m_name;
+ String m_keyPath;
+ bool m_autoIncrement;
+
+ typedef HashMap<String, RefPtr<IDBIndexBackendInterface> > IndexMap;
+ IndexMap m_indexes;
+
+ typedef IDBKeyTree<SerializedScriptValue> Tree;
+ RefPtr<Tree> m_tree;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBObjectStoreBackendImpl_h
diff --git a/WebCore/storage/IDBObjectStoreBackendInterface.h b/WebCore/storage/IDBObjectStoreBackendInterface.h
new file mode 100644
index 0000000..66f9a71
--- /dev/null
+++ b/WebCore/storage/IDBObjectStoreBackendInterface.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2010 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef IDBObjectStoreBackendInterface_h
+#define IDBObjectStoreBackendInterface_h
+
+#include "PlatformString.h"
+#include <wtf/Threading.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class DOMStringList;
+class IDBCallbacks;
+class IDBIndexBackendInterface;
+class IDBKey;
+class SerializedScriptValue;
+
+class IDBObjectStoreBackendInterface : public ThreadSafeShared<IDBObjectStoreBackendInterface> {
+public:
+ virtual ~IDBObjectStoreBackendInterface() { }
+
+ virtual String name() const = 0;
+ virtual String keyPath() const = 0;
+ virtual PassRefPtr<DOMStringList> indexNames() const = 0;
+
+ virtual void get(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>) = 0;
+ virtual void put(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key, bool addOnly, PassRefPtr<IDBCallbacks>) = 0;
+ virtual void remove(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>) = 0;
+
+ virtual void createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks>) = 0;
+ virtual PassRefPtr<IDBIndexBackendInterface> index(const String& name) = 0;
+ virtual void removeIndex(const String& name, PassRefPtr<IDBCallbacks>) = 0;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBObjectStoreBackendInterface_h
+
diff --git a/WebCore/storage/IDBObjectStoreImpl.cpp b/WebCore/storage/IDBObjectStoreImpl.cpp
deleted file mode 100755
index 8c6444a..0000000
--- a/WebCore/storage/IDBObjectStoreImpl.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "IDBObjectStoreImpl.h"
-
-#include "DOMStringList.h"
-#include "IDBBindingUtilities.h"
-#include "IDBCallbacks.h"
-#include "IDBDatabaseException.h"
-#include "IDBIndexBackendImpl.h"
-#include "IDBKeyTree.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-IDBObjectStoreImpl::~IDBObjectStoreImpl()
-{
-}
-
-IDBObjectStoreImpl::IDBObjectStoreImpl(const String& name, const String& keyPath, bool autoIncrement)
- : m_name(name)
- , m_keyPath(keyPath)
- , m_autoIncrement(autoIncrement)
- , m_tree(Tree::create())
-{
-}
-
-PassRefPtr<DOMStringList> IDBObjectStoreImpl::indexNames() const
-{
- RefPtr<DOMStringList> indexNames = DOMStringList::create();
- for (IndexMap::const_iterator it = m_indexes.begin(); it != m_indexes.end(); ++it)
- indexNames->append(it->first);
- return indexNames.release();
-}
-
-void IDBObjectStoreImpl::get(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
-{
- RefPtr<SerializedScriptValue> value = m_tree->get(key.get());
- if (!value) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "Key does not exist in the object store."));
- return;
- }
- callbacks->onSuccess(value.get());
-}
-
-void IDBObjectStoreImpl::put(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> prpKey, bool addOnly, PassRefPtr<IDBCallbacks> callbacks)
-{
- RefPtr<IDBKey> key = prpKey;
-
- if (!m_keyPath.isNull()) {
- if (key) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UNKNOWN_ERR, "A key was supplied for an objectStore that has a keyPath."));
- return;
- }
- ASSERT_NOT_REACHED();
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::UNKNOWN_ERR, "FIXME: keyPath not yet supported."));
- return;
- }
-
- if (!key) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::DATA_ERR, "No key supplied."));
- return;
- }
-
- if (addOnly && m_tree->get(key.get())) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "Key already exists in the object store."));
- return;
- }
-
- m_tree->put(key.get(), value.get());
- callbacks->onSuccess(key.get());
-}
-
-void IDBObjectStoreImpl::remove(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks> callbacks)
-{
- m_tree->remove(key.get());
- callbacks->onSuccess();
-}
-
-void IDBObjectStoreImpl::createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks> callbacks)
-{
- if (m_indexes.contains(name)) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "Index name already exists."));
- return;
- }
-
- RefPtr<IDBIndexBackendInterface> index = IDBIndexBackendImpl::create(name, keyPath, unique);
- ASSERT(index->name() == name);
- m_indexes.set(name, index);
- callbacks->onSuccess(index.release());
-}
-
-PassRefPtr<IDBIndexBackendInterface> IDBObjectStoreImpl::index(const String& name)
-{
- return m_indexes.get(name);
-}
-
-void IDBObjectStoreImpl::removeIndex(const String& name, PassRefPtr<IDBCallbacks> callbacks)
-{
- if (!m_indexes.contains(name)) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "Index name does not exist."));
- return;
- }
-
- m_indexes.remove(name);
- callbacks->onSuccess();
-}
-
-
-} // namespace WebCore
-
-#endif
diff --git a/WebCore/storage/IDBObjectStoreImpl.h b/WebCore/storage/IDBObjectStoreImpl.h
deleted file mode 100644
index f2c2e03..0000000
--- a/WebCore/storage/IDBObjectStoreImpl.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef IDBObjectStoreImpl_h
-#define IDBObjectStoreImpl_h
-
-#include "IDBObjectStore.h"
-#include "StringHash.h"
-#include <wtf/HashMap.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-template <typename ValueType> class IDBKeyTree;
-
-class IDBObjectStoreImpl : public IDBObjectStore {
-public:
- static PassRefPtr<IDBObjectStore> create(const String& name, const String& keyPath, bool autoIncrement)
- {
- return adoptRef(new IDBObjectStoreImpl(name, keyPath, autoIncrement));
- }
- ~IDBObjectStoreImpl();
-
- String name() const { return m_name; }
- String keyPath() const { return m_keyPath; }
- PassRefPtr<DOMStringList> indexNames() const;
-
- void get(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>);
- void put(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key, bool addOnly, PassRefPtr<IDBCallbacks>);
- void remove(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>);
-
- void createIndex(const String& name, const String& keyPath, bool unique, PassRefPtr<IDBCallbacks>);
- PassRefPtr<IDBIndexBackendInterface> index(const String& name);
- void removeIndex(const String& name, PassRefPtr<IDBCallbacks>);
-
-private:
- IDBObjectStoreImpl(const String& name, const String& keyPath, bool autoIncrement);
-
- String m_name;
- String m_keyPath;
- bool m_autoIncrement;
-
- typedef HashMap<String, RefPtr<IDBIndexBackendInterface> > IndexMap;
- IndexMap m_indexes;
-
- typedef IDBKeyTree<SerializedScriptValue> Tree;
- RefPtr<Tree> m_tree;
-};
-
-} // namespace WebCore
-
-#endif
-
-#endif // IDBObjectStoreImpl_h
diff --git a/WebCore/storage/IDBObjectStoreRequest.cpp b/WebCore/storage/IDBObjectStoreRequest.cpp
deleted file mode 100644
index 0778214..0000000
--- a/WebCore/storage/IDBObjectStoreRequest.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "IDBObjectStoreRequest.h"
-
-#include "DOMStringList.h"
-#include "IDBAny.h"
-#include "IDBIndex.h"
-#include "IDBKey.h"
-#include "SerializedScriptValue.h"
-#include <wtf/UnusedParam.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-IDBObjectStoreRequest::IDBObjectStoreRequest(PassRefPtr<IDBObjectStore> idbObjectStore)
- : m_objectStore(idbObjectStore)
-{
- // We pass a reference to this object before it can be adopted.
- relaxAdoptionRequirement();
-}
-
-String IDBObjectStoreRequest::name() const
-{
- return m_objectStore->name();
-}
-
-String IDBObjectStoreRequest::keyPath() const
-{
- return m_objectStore->keyPath();
-}
-
-PassRefPtr<DOMStringList> IDBObjectStoreRequest::indexNames() const
-{
- return m_objectStore->indexNames();
-}
-
-PassRefPtr<IDBRequest> IDBObjectStoreRequest::get(ScriptExecutionContext* context, PassRefPtr<IDBKey> key)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_objectStore->get(key, request);
- return request;
-}
-
-PassRefPtr<IDBRequest> IDBObjectStoreRequest::add(ScriptExecutionContext* context, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_objectStore->put(value, key, true, request);
- return request;
-}
-
-PassRefPtr<IDBRequest> IDBObjectStoreRequest::put(ScriptExecutionContext* context, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_objectStore->put(value, key, false, request);
- return request;
-}
-
-PassRefPtr<IDBRequest> IDBObjectStoreRequest::remove(ScriptExecutionContext* context, PassRefPtr<IDBKey> key)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_objectStore->remove(key, request);
- return request;
-}
-
-PassRefPtr<IDBRequest> IDBObjectStoreRequest::createIndex(ScriptExecutionContext* context, const String& name, const String& keyPath, bool unique)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_objectStore->createIndex(name, keyPath, unique, request);
- return request;
-}
-
-PassRefPtr<IDBIndex> IDBObjectStoreRequest::index(const String& name)
-{
- RefPtr<IDBIndexBackendInterface> index = m_objectStore->index(name);
- ASSERT(index); // FIXME: If this is null, we should raise a NOT_FOUND_ERR.
- return IDBIndex::create(index.release());
-}
-
-PassRefPtr<IDBRequest> IDBObjectStoreRequest::removeIndex(ScriptExecutionContext* context, const String& name)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_objectStore->removeIndex(name, request);
- return request;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBObjectStoreRequest.h b/WebCore/storage/IDBObjectStoreRequest.h
deleted file mode 100644
index bfd01f0..0000000
--- a/WebCore/storage/IDBObjectStoreRequest.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef IDBObjectStoreRequest_h
-#define IDBObjectStoreRequest_h
-
-#include "IDBObjectStore.h"
-#include "IDBRequest.h"
-#include "PlatformString.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-class DOMStringList;
-class IDBAny;
-class IDBIndexRequest;
-class IDBKey;
-class SerializedScriptValue;
-
-class IDBObjectStoreRequest : public RefCounted<IDBObjectStoreRequest> {
-public:
- static PassRefPtr<IDBObjectStoreRequest> create(PassRefPtr<IDBObjectStore> idbObjectStore)
- {
- return adoptRef(new IDBObjectStoreRequest(idbObjectStore));
- }
- ~IDBObjectStoreRequest() { }
-
- String name() const;
- String keyPath() const;
- PassRefPtr<DOMStringList> indexNames() const;
-
- PassRefPtr<IDBRequest> get(ScriptExecutionContext*, PassRefPtr<IDBKey> key);
- PassRefPtr<IDBRequest> add(ScriptExecutionContext*, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key = 0);
- PassRefPtr<IDBRequest> put(ScriptExecutionContext*, PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBKey> key = 0);
- PassRefPtr<IDBRequest> remove(ScriptExecutionContext*, PassRefPtr<IDBKey> key);
-
- PassRefPtr<IDBRequest> createIndex(ScriptExecutionContext*, const String& name, const String& keyPath, bool unique = false);
- PassRefPtr<IDBIndex> index(const String& name);
- PassRefPtr<IDBRequest> removeIndex(ScriptExecutionContext*, const String& name);
-
-private:
- IDBObjectStoreRequest(PassRefPtr<IDBObjectStore>);
-
- RefPtr<IDBObjectStore> m_objectStore;
-};
-
-} // namespace WebCore
-
-#endif
-
-#endif // IDBObjectStoreRequest_h
-
diff --git a/WebCore/storage/IDBObjectStoreRequest.idl b/WebCore/storage/IDBObjectStoreRequest.idl
deleted file mode 100644
index 6db6ad8..0000000
--- a/WebCore/storage/IDBObjectStoreRequest.idl
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-module storage {
-
- interface [
- Conditional=INDEXED_DATABASE
- ] IDBObjectStoreRequest {
- [CallWith=ScriptExecutionContext] IDBRequest get(in IDBKey key);
- // FIXME: Come to concensus re getAll.
- // FIXME: SerializedScriptValue raises an exception if you pass in something that can't be serialized.
- // We need to instead "raise" this error via an error callback.
- [CallWith=ScriptExecutionContext] IDBRequest add(in SerializedScriptValue value, in [Optional] IDBKey key);
- [CallWith=ScriptExecutionContext] IDBRequest put(in SerializedScriptValue value, in [Optional] IDBKey key);
- [CallWith=ScriptExecutionContext] IDBRequest remove(in IDBKey key);
- // FIXME: write openCursor
- [CallWith=ScriptExecutionContext] IDBRequest createIndex(in DOMString name, in [ConvertNullToNullString] DOMString keyPath, in [Optional] boolean unique);
- // FIXME: This needs to raise an IDBDatabaseException on errors.
- IDBIndex index(in DOMString name);
- [CallWith=ScriptExecutionContext] IDBRequest removeIndex(in DOMString name);
-
- readonly attribute DOMString name;
- readonly attribute [ConvertNullStringTo=Null] DOMString keyPath;
- readonly attribute DOMStringList indexNames;
- };
-}
diff --git a/WebCore/storage/IDBRequest.cpp b/WebCore/storage/IDBRequest.cpp
index b0be94b..c29fc5b 100644
--- a/WebCore/storage/IDBRequest.cpp
+++ b/WebCore/storage/IDBRequest.cpp
@@ -38,7 +38,7 @@
#include "IDBDatabase.h"
#include "IDBIndex.h"
#include "IDBErrorEvent.h"
-#include "IDBObjectStoreRequest.h"
+#include "IDBObjectStore.h"
#include "IDBSuccessEvent.h"
#include "ScriptExecutionContext.h"
@@ -73,10 +73,10 @@ void IDBRequest::onSuccess()
m_result->set();
}
-void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> idbDatabaseBackend)
+void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend)
{
onEventCommon();
- m_result->set(IDBDatabase::create(idbDatabaseBackend));
+ m_result->set(IDBDatabase::create(backend));
}
void IDBRequest::onSuccess(PassRefPtr<IDBIndexBackendInterface> backend)
@@ -91,10 +91,10 @@ void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey)
m_result->set(idbKey);
}
-void IDBRequest::onSuccess(PassRefPtr<IDBObjectStore> idbObjectStore)
+void IDBRequest::onSuccess(PassRefPtr<IDBObjectStoreBackendInterface> backend)
{
onEventCommon();
- m_result->set(IDBObjectStoreRequest::create(idbObjectStore));
+ m_result->set(IDBObjectStore::create(backend));
}
void IDBRequest::onSuccess(PassRefPtr<SerializedScriptValue> serializedScriptValue)
diff --git a/WebCore/storage/IDBRequest.h b/WebCore/storage/IDBRequest.h
index 255ae48..d38da57 100644
--- a/WebCore/storage/IDBRequest.h
+++ b/WebCore/storage/IDBRequest.h
@@ -65,7 +65,7 @@ public:
virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBIndexBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBKey>);
- virtual void onSuccess(PassRefPtr<IDBObjectStore>);
+ virtual void onSuccess(PassRefPtr<IDBObjectStoreBackendInterface>);
virtual void onSuccess(PassRefPtr<SerializedScriptValue>);
// EventTarget
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 5003e53..df05526 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,23 @@
+2010-08-03 Andrei Popescu <andreip at google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ [IndexedDB] IDBObjectStoreRequest should be called IDBObjectStore
+ https://bugs.webkit.org/show_bug.cgi?id=43420
+
+ * src/IDBCallbacksProxy.cpp:
+ (WebCore::IDBCallbacksProxy::onSuccess):
+ * src/IDBCallbacksProxy.h:
+ * src/IDBDatabaseProxy.cpp:
+ (WebCore::IDBDatabaseProxy::objectStore):
+ * src/IDBDatabaseProxy.h:
+ * src/IDBObjectStoreProxy.cpp:
+ (WebCore::IDBObjectStoreProxy::create):
+ * src/IDBObjectStoreProxy.h:
+ * src/WebIDBObjectStoreImpl.cpp:
+ (WebKit::WebIDBObjectStoreImpl::WebIDBObjectStoreImpl):
+ * src/WebIDBObjectStoreImpl.h:
+
2010-08-03 Yury Semikhatsky <yurys at chromium.org>
Unreviewed. Fix Chromium interactive UI tests.
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.cpp b/WebKit/chromium/src/IDBCallbacksProxy.cpp
index a8d10c6..0375c6b 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.cpp
+++ b/WebKit/chromium/src/IDBCallbacksProxy.cpp
@@ -69,9 +69,9 @@ void IDBCallbacksProxy::onSuccess()
m_callbacks.clear();
}
-void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> idbDatabaseBackend)
+void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend)
{
- m_callbacks->onSuccess(new WebKit::WebIDBDatabaseImpl(idbDatabaseBackend));
+ m_callbacks->onSuccess(new WebKit::WebIDBDatabaseImpl(backend));
m_callbacks.clear();
}
@@ -87,9 +87,9 @@ void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBKey> idbKey)
m_callbacks.clear();
}
-void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBObjectStore> idbObjectStore)
+void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBObjectStoreBackendInterface> backend)
{
- m_callbacks->onSuccess(new WebKit::WebIDBObjectStoreImpl(idbObjectStore));
+ m_callbacks->onSuccess(new WebKit::WebIDBObjectStoreImpl(backend));
m_callbacks.clear();
}
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.h b/WebKit/chromium/src/IDBCallbacksProxy.h
index a31f7af..40bb947 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.h
+++ b/WebKit/chromium/src/IDBCallbacksProxy.h
@@ -52,7 +52,7 @@ public:
virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBIndexBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBKey>);
- virtual void onSuccess(PassRefPtr<IDBObjectStore>);
+ virtual void onSuccess(PassRefPtr<IDBObjectStoreBackendInterface>);
virtual void onSuccess(PassRefPtr<SerializedScriptValue>);
private:
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp
index aa3b562..f995b3c 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp
@@ -78,7 +78,7 @@ void IDBDatabaseProxy::createObjectStore(const String& name, const String& keyPa
m_webIDBDatabase->createObjectStore(name, keyPath, autoIncrement, new WebIDBCallbacksImpl(callbacks));
}
-PassRefPtr<IDBObjectStore> IDBDatabaseProxy::objectStore(const String& name, unsigned short mode)
+PassRefPtr<IDBObjectStoreBackendInterface> IDBDatabaseProxy::objectStore(const String& name, unsigned short mode)
{
WebKit::WebIDBObjectStore* objectStore = m_webIDBDatabase->objectStore(name, mode);
if (!objectStore)
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h
index b9e4ad6..03311f2 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.h
+++ b/WebKit/chromium/src/IDBDatabaseProxy.h
@@ -50,7 +50,7 @@ public:
// FIXME: Add transaction and setVersion.
virtual void createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks>);
- virtual PassRefPtr<IDBObjectStore> objectStore(const String& name, unsigned short mode);
+ virtual PassRefPtr<IDBObjectStoreBackendInterface> objectStore(const String& name, unsigned short mode);
virtual void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>);
private:
diff --git a/WebKit/chromium/src/IDBObjectStoreProxy.cpp b/WebKit/chromium/src/IDBObjectStoreProxy.cpp
index 858ed20..0e1a599 100755
--- a/WebKit/chromium/src/IDBObjectStoreProxy.cpp
+++ b/WebKit/chromium/src/IDBObjectStoreProxy.cpp
@@ -39,7 +39,7 @@
namespace WebCore {
-PassRefPtr<IDBObjectStore> IDBObjectStoreProxy::create(PassOwnPtr<WebKit::WebIDBObjectStore> objectStore)
+PassRefPtr<IDBObjectStoreBackendInterface> IDBObjectStoreProxy::create(PassOwnPtr<WebKit::WebIDBObjectStore> objectStore)
{
return adoptRef(new IDBObjectStoreProxy(objectStore));
}
diff --git a/WebKit/chromium/src/IDBObjectStoreProxy.h b/WebKit/chromium/src/IDBObjectStoreProxy.h
index b380bdc..f569166 100755
--- a/WebKit/chromium/src/IDBObjectStoreProxy.h
+++ b/WebKit/chromium/src/IDBObjectStoreProxy.h
@@ -26,7 +26,7 @@
#ifndef IDBObjectStoreProxy_h
#define IDBObjectStoreProxy_h
-#include "IDBObjectStore.h"
+#include "IDBObjectStoreBackendInterface.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -37,9 +37,9 @@ namespace WebKit { class WebIDBObjectStore; }
namespace WebCore {
-class IDBObjectStoreProxy : public IDBObjectStore {
+class IDBObjectStoreProxy : public IDBObjectStoreBackendInterface {
public:
- static PassRefPtr<IDBObjectStore> create(PassOwnPtr<WebKit::WebIDBObjectStore>);
+ static PassRefPtr<IDBObjectStoreBackendInterface> create(PassOwnPtr<WebKit::WebIDBObjectStore>);
~IDBObjectStoreProxy();
String name() const;
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
index 742bfa0..8c8e30a 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
@@ -74,7 +74,7 @@ void WebIDBDatabaseImpl::createObjectStore(const WebString& name, const WebStrin
WebIDBObjectStore* WebIDBDatabaseImpl::objectStore(const WebString& name, unsigned short mode)
{
- RefPtr<IDBObjectStore> objectStore = m_databaseBackend->objectStore(name, mode);
+ RefPtr<IDBObjectStoreBackendInterface> objectStore = m_databaseBackend->objectStore(name, mode);
if (!objectStore)
return 0;
return new WebIDBObjectStoreImpl(objectStore);
diff --git a/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp b/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp
index 7b6a32a..2c347a8 100755
--- a/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp
+++ b/WebKit/chromium/src/WebIDBObjectStoreImpl.cpp
@@ -28,7 +28,7 @@
#include "DOMStringList.h"
#include "IDBCallbacksProxy.h"
-#include "IDBObjectStore.h"
+#include "IDBObjectStoreBackendInterface.h"
#include "WebIDBIndexImpl.h"
#include "WebIDBKey.h"
#include "WebSerializedScriptValue.h"
@@ -39,7 +39,7 @@ using namespace WebCore;
namespace WebKit {
-WebIDBObjectStoreImpl::WebIDBObjectStoreImpl(PassRefPtr<IDBObjectStore> objectStore)
+WebIDBObjectStoreImpl::WebIDBObjectStoreImpl(PassRefPtr<IDBObjectStoreBackendInterface> objectStore)
: m_objectStore(objectStore)
{
}
diff --git a/WebKit/chromium/src/WebIDBObjectStoreImpl.h b/WebKit/chromium/src/WebIDBObjectStoreImpl.h
index 4064b7f..6fd345a 100755
--- a/WebKit/chromium/src/WebIDBObjectStoreImpl.h
+++ b/WebKit/chromium/src/WebIDBObjectStoreImpl.h
@@ -31,7 +31,7 @@
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
-namespace WebCore { class IDBObjectStore; }
+namespace WebCore { class IDBObjectStoreBackendInterface; }
namespace WebKit {
@@ -40,7 +40,7 @@ class WebIDBIndex;
// See comment in WebIndexedObjectStore for a high level overview these classes.
class WebIDBObjectStoreImpl : public WebIDBObjectStore {
public:
- WebIDBObjectStoreImpl(WTF::PassRefPtr<WebCore::IDBObjectStore> objectStore);
+ WebIDBObjectStoreImpl(WTF::PassRefPtr<WebCore::IDBObjectStoreBackendInterface>);
~WebIDBObjectStoreImpl();
WebString name() const;
@@ -56,7 +56,7 @@ public:
void removeIndex(const WebString& name, WebIDBCallbacks* callbacks);
private:
- WTF::RefPtr<WebCore::IDBObjectStore> m_objectStore;
+ WTF::RefPtr<WebCore::IDBObjectStoreBackendInterface> m_objectStore;
};
} // namespace WebKit
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list