[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:11 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 45f9a7bee4050d7bd8932f70b27d608752ef0c85
Author: andreip at google.com <andreip at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 3 10:43:59 2010 +0000
2010-07-30 Andrei Popescu <andreip at dhcp-172-16-14-12.lon.corp.google.com>
Reviewed by Jeremy Orlow.
Rename IDBDatabaseRequest to IDBDatabase
https://bugs.webkit.org/show_bug.cgi?id=43250
No new tests, 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.vcproj/WebCore.vcproj~: Added.
* WebCore.xcodeproj/project.pbxproj:
* WebCore.xcodeproj/project.pbxproj~: Added.
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* storage/IDBAny.cpp:
(WebCore::IDBAny::idbDatabase):
(WebCore::IDBAny::set):
* storage/IDBAny.h:
(WebCore::IDBAny::):
* storage/IDBCallbacks.h:
* storage/IDBDatabase.cpp: Added.
(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::~IDBDatabase):
(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::objectStore):
(WebCore::IDBDatabase::removeObjectStore):
* storage/IDBDatabase.h:
(WebCore::IDBDatabase::create):
(WebCore::IDBDatabase::name):
(WebCore::IDBDatabase::description):
(WebCore::IDBDatabase::version):
(WebCore::IDBDatabase::objectStores):
* storage/IDBDatabase.idl: Added.
* storage/IDBDatabaseBackendImpl.cpp: Added.
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::objectStores):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::objectStore):
(WebCore::IDBDatabaseBackendImpl::removeObjectStore):
* storage/IDBDatabaseBackendImpl.h: Added.
(WebCore::IDBDatabaseBackendImpl::create):
(WebCore::IDBDatabaseBackendImpl::name):
(WebCore::IDBDatabaseBackendImpl::description):
(WebCore::IDBDatabaseBackendImpl::version):
* storage/IDBDatabaseBackendInterface.h: Added.
(WebCore::IDBDatabaseBackendInterface::~IDBDatabaseBackendInterface):
* storage/IDBDatabaseImpl.cpp: Removed.
* storage/IDBDatabaseImpl.h: Removed.
* storage/IDBDatabaseRequest.cpp: Removed.
* storage/IDBDatabaseRequest.h: Removed.
* storage/IDBDatabaseRequest.idl: Removed.
* storage/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):
* storage/IDBFactoryBackendImpl.h:
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* storage/IDBRequest.h:
2010-07-30 Andrei Popescu <andreip at dhcp-172-16-14-12.lon.corp.google.com>
Reviewed by Jeremy Orlow.
Rename IDBDatabaseRequest to IDBDatabase
https://bugs.webkit.org/show_bug.cgi?id=43250
* src/IDBCallbacksProxy.cpp:
(WebCore::IDBCallbacksProxy::onSuccess):
* src/IDBCallbacksProxy.h:
* src/IDBDatabaseProxy.cpp:
(WebCore::IDBDatabaseProxy::create):
* src/IDBDatabaseProxy.h:
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl):
(WebKit::WebIDBDatabaseImpl::name):
(WebKit::WebIDBDatabaseImpl::description):
(WebKit::WebIDBDatabaseImpl::version):
(WebKit::WebIDBDatabaseImpl::objectStores):
(WebKit::WebIDBDatabaseImpl::createObjectStore):
(WebKit::WebIDBDatabaseImpl::objectStore):
(WebKit::WebIDBDatabaseImpl::removeObjectStore):
* src/WebIDBDatabaseImpl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/Android.derived.jscbindings.mk b/WebCore/Android.derived.jscbindings.mk
index 0da33d0..fc081d3 100644
--- a/WebCore/Android.derived.jscbindings.mk
+++ b/WebCore/Android.derived.jscbindings.mk
@@ -363,7 +363,7 @@ GEN := \
$(intermediates)/storage/JSIDBAny.h \
$(intermediates)/storage/JSIDBDatabaseError.h \
$(intermediates)/storage/JSIDBDatabaseException.h \
- $(intermediates)/storage/JSIDBDatabaseRequest.h \
+ $(intermediates)/storage/JSIDBDatabase.h \
$(intermediates)/storage/JSIDBErrorEvent.h \
$(intermediates)/storage/JSIDBEvent.h \
$(intermediates)/storage/JSIDBFactory.h \
diff --git a/WebCore/Android.derived.v8bindings.mk b/WebCore/Android.derived.v8bindings.mk
index 216cde9..7f922ed 100644
--- a/WebCore/Android.derived.v8bindings.mk
+++ b/WebCore/Android.derived.v8bindings.mk
@@ -344,7 +344,7 @@ GEN := \
$(intermediates)/bindings/V8IDBAny.h \
$(intermediates)/bindings/V8IDBDatabaseError.h \
$(intermediates)/bindings/V8IDBDatabaseException.h \
- $(intermediates)/bindings/V8IDBDatabaseRequest.h \
+ $(intermediates)/bindings/V8IDBDatabase.h \
$(intermediates)/bindings/V8IDBErrorEvent.h \
$(intermediates)/bindings/V8IDBEvent.h \
$(intermediates)/bindings/V8IDBFactory.h \
diff --git a/WebCore/Android.mk b/WebCore/Android.mk
index d75fd59..01c83c6 100644
--- a/WebCore/Android.mk
+++ b/WebCore/Android.mk
@@ -743,8 +743,8 @@ LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
storage/DatabaseThread.cpp \
storage/DatabaseTracker.cpp \
storage/IDBAny.cpp \
- storage/IDBDatabaseImpl.cpp \
- storage/IDBDatabaseRequest.cpp \
+ storage/IDBDatabase.cpp \
+ storage/IDBDatabaseBackendImpl.cpp \
storage/IDBErrorEvent.cpp \
storage/IDBEvent.cpp \
storage/IDBIndex.cpp \
diff --git a/WebCore/CMakeLists.txt b/WebCore/CMakeLists.txt
index 3010346..ca7749b 100644
--- a/WebCore/CMakeLists.txt
+++ b/WebCore/CMakeLists.txt
@@ -336,7 +336,7 @@ SET(WebCore_IDL_FILES
storage/IDBAny.idl
storage/IDBDatabaseError.idl
storage/IDBDatabaseException.idl
- storage/IDBDatabaseRequest.idl
+ storage/IDBDatabase.idl
storage/IDBErrorEvent.idl
storage/IDBEvent.idl
storage/IDBFactory.idl
@@ -1436,8 +1436,8 @@ SET(WebCore_SOURCES
storage/DatabaseThread.cpp
storage/DatabaseTracker.cpp
storage/IDBAny.cpp
- storage/IDBDatabaseImpl.cpp
- storage/IDBDatabaseRequest.cpp
+ storage/IDBDatabase.cpp
+ storage/IDBDatabaseBackendImpl.cpp
storage/IDBErrorEvent.cpp
storage/IDBEvent.cpp
storage/IDBIndex.cpp
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a4538b1..d5e22ea 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,75 @@
+2010-07-30 Andrei Popescu <andreip at dhcp-172-16-14-12.lon.corp.google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Rename IDBDatabaseRequest to IDBDatabase
+ https://bugs.webkit.org/show_bug.cgi?id=43250
+
+ No new tests, 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.vcproj/WebCore.vcproj~: Added.
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCore.xcodeproj/project.pbxproj~: Added.
+ * bindings/js/JSIDBAnyCustom.cpp:
+ (WebCore::toJS):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ (WebCore::toV8):
+ * storage/IDBAny.cpp:
+ (WebCore::IDBAny::idbDatabase):
+ (WebCore::IDBAny::set):
+ * storage/IDBAny.h:
+ (WebCore::IDBAny::):
+ * storage/IDBCallbacks.h:
+ * storage/IDBDatabase.cpp: Added.
+ (WebCore::IDBDatabase::IDBDatabase):
+ (WebCore::IDBDatabase::~IDBDatabase):
+ (WebCore::IDBDatabase::createObjectStore):
+ (WebCore::IDBDatabase::objectStore):
+ (WebCore::IDBDatabase::removeObjectStore):
+ * storage/IDBDatabase.h:
+ (WebCore::IDBDatabase::create):
+ (WebCore::IDBDatabase::name):
+ (WebCore::IDBDatabase::description):
+ (WebCore::IDBDatabase::version):
+ (WebCore::IDBDatabase::objectStores):
+ * storage/IDBDatabase.idl: Added.
+ * storage/IDBDatabaseBackendImpl.cpp: Added.
+ (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
+ (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
+ (WebCore::IDBDatabaseBackendImpl::objectStores):
+ (WebCore::IDBDatabaseBackendImpl::createObjectStore):
+ (WebCore::IDBDatabaseBackendImpl::objectStore):
+ (WebCore::IDBDatabaseBackendImpl::removeObjectStore):
+ * storage/IDBDatabaseBackendImpl.h: Added.
+ (WebCore::IDBDatabaseBackendImpl::create):
+ (WebCore::IDBDatabaseBackendImpl::name):
+ (WebCore::IDBDatabaseBackendImpl::description):
+ (WebCore::IDBDatabaseBackendImpl::version):
+ * storage/IDBDatabaseBackendInterface.h: Added.
+ (WebCore::IDBDatabaseBackendInterface::~IDBDatabaseBackendInterface):
+ * storage/IDBDatabaseImpl.cpp: Removed.
+ * storage/IDBDatabaseImpl.h: Removed.
+ * storage/IDBDatabaseRequest.cpp: Removed.
+ * storage/IDBDatabaseRequest.h: Removed.
+ * storage/IDBDatabaseRequest.idl: Removed.
+ * storage/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::open):
+ * storage/IDBFactoryBackendImpl.h:
+ * storage/IDBRequest.cpp:
+ (WebCore::IDBRequest::onSuccess):
+ * storage/IDBRequest.h:
+
2010-08-03 Satish Sampath <satish at chromium.org>
Reviewed by Kent Tamura.
diff --git a/WebCore/DerivedSources.cpp b/WebCore/DerivedSources.cpp
index 3e5fb60..4b85642 100644
--- a/WebCore/DerivedSources.cpp
+++ b/WebCore/DerivedSources.cpp
@@ -176,9 +176,9 @@
#include "JSHTMLUListElement.cpp"
#include "JSHTMLVideoElement.cpp"
#include "JSIDBAny.cpp"
+#include "JSIDBDatabase.cpp"
#include "JSIDBDatabaseError.cpp"
#include "JSIDBDatabaseException.cpp"
-#include "JSIDBDatabaseRequest.cpp"
#include "JSIDBErrorEvent.cpp"
#include "JSIDBEvent.cpp"
#include "JSIDBFactory.cpp"
diff --git a/WebCore/DerivedSources.make b/WebCore/DerivedSources.make
index d8a2269..baecb31 100644
--- a/WebCore/DerivedSources.make
+++ b/WebCore/DerivedSources.make
@@ -228,7 +228,7 @@ DOM_CLASSES = \
IDBAny \
IDBDatabaseError \
IDBDatabaseException \
- IDBDatabaseRequest \
+ IDBDatabase \
IDBErrorEvent \
IDBEvent \
IDBFactory \
diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
index 71b4cc8..8d1e6de 100644
--- a/WebCore/GNUmakefile.am
+++ b/WebCore/GNUmakefile.am
@@ -2837,8 +2837,8 @@ webcore_built_sources += \
DerivedSources/WebCore/JSIDBDatabaseError.h \
DerivedSources/WebCore/JSIDBDatabaseException.cpp \
DerivedSources/WebCore/JSIDBDatabaseException.h \
- DerivedSources/WebCore/JSIDBDatabaseRequest.cpp \
- DerivedSources/WebCore/JSIDBDatabaseRequest.h \
+ DerivedSources/WebCore/JSIDBDatabase.cpp \
+ DerivedSources/WebCore/JSIDBDatabase.h \
DerivedSources/WebCore/JSIDBErrorEvent.cpp \
DerivedSources/WebCore/JSIDBErrorEvent.h \
DerivedSources/WebCore/JSIDBEvent.cpp \
@@ -2860,13 +2860,13 @@ webcore_sources += \
WebCore/storage/IDBAny.cpp \
WebCore/storage/IDBAny.h \
WebCore/storage/IDBCallbacks.h \
+ WebCore/storage/IDBDatabase.cpp \
WebCore/storage/IDBDatabase.h \
- WebCore/storage/IDBDatabaseImpl.cpp \
- WebCore/storage/IDBDatabaseImpl.h \
+ WebCore/storage/IDBDatabaseBackendImpl.cpp \
+ WebCore/storage/IDBDatabaseBackendImpl.h \
+ WebCore/storage/IDBDatabaseBackendInterface.h \
WebCore/storage/IDBDatabaseError.h \
WebCore/storage/IDBDatabaseException.h \
- WebCore/storage/IDBDatabaseRequest.cpp \
- WebCore/storage/IDBDatabaseRequest.h \
WebCore/storage/IDBErrorEvent.cpp \
WebCore/storage/IDBErrorEvent.h \
WebCore/storage/IDBEvent.cpp \
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index 92c3c4e..1637157 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -239,7 +239,7 @@
'storage/IDBAny.idl',
'storage/IDBDatabaseError.idl',
'storage/IDBDatabaseException.idl',
- 'storage/IDBDatabaseRequest.idl',
+ 'storage/IDBDatabase.idl',
'storage/IDBErrorEvent.idl',
'storage/IDBEvent.idl',
'storage/IDBFactory.idl',
@@ -3498,12 +3498,12 @@
'storage/IDBAny.h',
'storage/IDBCallbacks.h',
'storage/IDBDatabase.h',
+ 'storage/IDBDatabase.cpp,
'storage/IDBDatabaseError.h',
'storage/IDBDatabaseException.h',
- 'storage/IDBDatabaseImpl.cpp',
- 'storage/IDBDatabaseImpl.h',
- 'storage/IDBDatabaseRequest.cpp',
- 'storage/IDBDatabaseRequest.h',
+ 'storage/IDBDatabaseBackendImpl.cpp',
+ 'storage/IDBDatabaseBackendImpl.h',
+ 'storage/IDBDatabaseBackendInterface.h',
'storage/IDBEvent.cpp',
'storage/IDBEvent.h',
'storage/IDBErrorEvent.cpp',
diff --git a/WebCore/WebCore.pri b/WebCore/WebCore.pri
index ff65cae..2fdfcd1 100644
--- a/WebCore/WebCore.pri
+++ b/WebCore/WebCore.pri
@@ -485,7 +485,7 @@ IDL_BINDINGS += \
storage/IDBAny.idl \
storage/IDBDatabaseError.idl \
storage/IDBDatabaseException.idl \
- storage/IDBDatabaseRequest.idl \
+ storage/IDBDatabase.idl \
storage/IDBErrorEvent.idl \
storage/IDBEvent.idl \
storage/IDBIndex.idl \
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 54bd3a3..0beb5ff 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2426,10 +2426,10 @@ contains(DEFINES, ENABLE_INDEXED_DATABASE=1) {
storage/IDBAny.h \
storage/IDBCallbacks.h \
storage/IDBDatabase.h \
- storage/IDBDatabaseImpl.h \
+ storage/IDBDatabaseBackendImpl.h \
+ storage/IDBDatabaseBackendInterface.h \
storage/IDBDatabaseError.h \
storage/IDBDatabaseException.h \
- storage/IDBDatabaseRequest.h \
storage/IDBErrorEvent.h \
storage/IDBEvent.h \
storage/IDBFactory.h \
@@ -2451,8 +2451,8 @@ contains(DEFINES, ENABLE_INDEXED_DATABASE=1) {
bindings/js/JSIDBAnyCustom.cpp \
bindings/js/JSIDBKeyCustom.cpp \
storage/IDBAny.cpp \
- storage/IDBDatabaseImpl.cpp \
- storage/IDBDatabaseRequest.cpp \
+ storage/IDBDatabase.cpp \
+ storage/IDBDatabaseBackendImpl.cpp \
storage/IDBErrorEvent.cpp \
storage/IDBEvent.cpp \
storage/IDBFactory.cpp \
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index 7b3b499..ba58737 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -44676,7 +44676,7 @@
>
</File>
<File
- RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabaseRequest.cpp"
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabase.cpp"
>
<FileConfiguration
Name="Debug|Win32"
@@ -44728,7 +44728,7 @@
</FileConfiguration>
</File>
<File
- RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabaseRequest.h"
+ RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabase.h"
>
</File>
<File
@@ -50141,27 +50141,27 @@
>
</File>
<File
- RelativePath="..\storage\IDBDatabaseError.h"
+ RelativePath="..\storage\IDBDatabase.cpp"
>
</File>
<File
- RelativePath="..\storage\IDBDatabaseException.h"
+ RelativePath="..\storage\IDBDatabaseBackendImpl.h"
>
</File>
<File
- RelativePath="..\storage\IDBDatabaseImpl.cpp"
+ RelativePath="..\storage\IDBDatabaseBackendImpl.cpp"
>
</File>
<File
- RelativePath="..\storage\IDBDatabaseImpl.h"
+ RelativePath="..\storage\IDBDatabaseBackendInterface.h"
>
</File>
<File
- RelativePath="..\storage\IDBDatabaseRequest.cpp"
+ RelativePath="..\storage\IDBDatabaseError.h"
>
</File>
<File
- RelativePath="..\storage\IDBDatabaseRequest.h"
+ RelativePath="..\storage\IDBDatabaseException.h"
>
</File>
<File
@@ -50252,14 +50252,14 @@
RelativePath="..\storage\IDBSuccessEvent.h"
>
</File>
- <File
- RelativePath="..\storage\IDBFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\IDBFactory.h"
- >
- </File>
+ <File
+ RelativePath="..\storage\IDBFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\IDBFactory.h"
+ >
+ </File>
<File
RelativePath="..\storage\IDBFactoryBackendInterface.cpp"
>
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 68ccca7..900a8b4 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -4356,6 +4356,9 @@
B5D31DFA11CF610B009F22B4 /* ActiveDOMCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B5D31DF811CF610B009F22B4 /* ActiveDOMCallback.cpp */; };
B5D31DFB11CF610B009F22B4 /* ActiveDOMCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B5D31DF911CF610B009F22B4 /* ActiveDOMCallback.h */; };
B5D3601A112F8B560048DEA8 /* DatabaseCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = B5D36019112F8B560048DEA8 /* DatabaseCallback.h */; };
+ B61762541203374F00EF9114 /* IDBDatabaseBackendInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = B61762531203374F00EF9114 /* IDBDatabaseBackendInterface.h */; };
+ B61762621203490800EF9114 /* IDBDatabaseBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = B61762611203490800EF9114 /* IDBDatabaseBackendImpl.h */; };
+ B691C1F91206D4A00025D980 /* IDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6A311D4FB3D004C3E4B /* IDBDatabase.cpp */; };
B71FE6DF11091CB300DAEF77 /* PrintContext.h in Headers */ = {isa = PBXBuildFile; fileRef = B776D43A1104525D00BEB0EC /* PrintContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
B734B181119B9911006587BD /* FontTranscoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B734B180119B9911006587BD /* FontTranscoder.cpp */; };
B734B183119B991D006587BD /* FontTranscoder.h in Headers */ = {isa = PBXBuildFile; fileRef = B734B182119B991D006587BD /* FontTranscoder.h */; };
@@ -4940,8 +4943,8 @@
C585A67F11D4FB08004C3E4B /* JSIDBDatabaseError.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A66711D4FB07004C3E4B /* JSIDBDatabaseError.h */; };
C585A68011D4FB08004C3E4B /* JSIDBDatabaseException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A66811D4FB07004C3E4B /* JSIDBDatabaseException.cpp */; };
C585A68111D4FB08004C3E4B /* JSIDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A66911D4FB07004C3E4B /* JSIDBDatabaseException.h */; };
- C585A68211D4FB08004C3E4B /* JSIDBDatabaseRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A66A11D4FB07004C3E4B /* JSIDBDatabaseRequest.cpp */; };
- C585A68311D4FB08004C3E4B /* JSIDBDatabaseRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A66B11D4FB07004C3E4B /* JSIDBDatabaseRequest.h */; };
+ C585A68211D4FB08004C3E4B /* JSIDBDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A66A11D4FB07004C3E4B /* JSIDBDatabase.cpp */; };
+ C585A68311D4FB08004C3E4B /* JSIDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A66B11D4FB07004C3E4B /* JSIDBDatabase.h */; };
C585A68411D4FB08004C3E4B /* JSIDBErrorEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A66C11D4FB07004C3E4B /* JSIDBErrorEvent.cpp */; };
C585A68511D4FB08004C3E4B /* JSIDBErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A66D11D4FB07004C3E4B /* JSIDBErrorEvent.h */; };
C585A68611D4FB08004C3E4B /* JSIDBEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A66E11D4FB07004C3E4B /* JSIDBEvent.cpp */; };
@@ -4961,13 +4964,10 @@
C585A6CC11D4FB3D004C3E4B /* IDBAny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A69811D4FB3D004C3E4B /* IDBAny.cpp */; };
C585A6CD11D4FB3D004C3E4B /* IDBAny.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A69911D4FB3D004C3E4B /* IDBAny.h */; };
C585A6CF11D4FB3D004C3E4B /* IDBCallbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A69B11D4FB3D004C3E4B /* IDBCallbacks.h */; };
- C585A6D011D4FB3D004C3E4B /* IDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A69C11D4FB3D004C3E4B /* IDBDatabase.h */; };
C585A6D111D4FB3D004C3E4B /* IDBDatabaseError.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A69D11D4FB3D004C3E4B /* IDBDatabaseError.h */; };
C585A6D311D4FB3D004C3E4B /* IDBDatabaseException.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A69F11D4FB3D004C3E4B /* IDBDatabaseException.h */; };
- C585A6D511D4FB3D004C3E4B /* IDBDatabaseImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6A111D4FB3D004C3E4B /* IDBDatabaseImpl.cpp */; };
- C585A6D611D4FB3D004C3E4B /* IDBDatabaseImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6A211D4FB3D004C3E4B /* IDBDatabaseImpl.h */; };
- C585A6D711D4FB3D004C3E4B /* IDBDatabaseRequest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6A311D4FB3D004C3E4B /* IDBDatabaseRequest.cpp */; };
- C585A6D811D4FB3D004C3E4B /* IDBDatabaseRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6A411D4FB3D004C3E4B /* IDBDatabaseRequest.h */; };
+ C585A6D511D4FB3D004C3E4B /* IDBDatabaseBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6A111D4FB3D004C3E4B /* IDBDatabaseBackendImpl.cpp */; };
+ C585A6D811D4FB3D004C3E4B /* IDBDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6A411D4FB3D004C3E4B /* IDBDatabase.h */; };
C585A6DA11D4FB3D004C3E4B /* IDBErrorEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6A611D4FB3D004C3E4B /* IDBErrorEvent.cpp */; };
C585A6DB11D4FB3D004C3E4B /* IDBErrorEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = C585A6A711D4FB3D004C3E4B /* IDBErrorEvent.h */; };
C585A6DD11D4FB3D004C3E4B /* IDBEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C585A6A911D4FB3D004C3E4B /* IDBEvent.cpp */; };
@@ -10022,6 +10022,8 @@
B5D31DF811CF610B009F22B4 /* ActiveDOMCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActiveDOMCallback.cpp; path = generic/ActiveDOMCallback.cpp; sourceTree = "<group>"; };
B5D31DF911CF610B009F22B4 /* ActiveDOMCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActiveDOMCallback.h; path = generic/ActiveDOMCallback.h; sourceTree = "<group>"; };
B5D36019112F8B560048DEA8 /* DatabaseCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatabaseCallback.h; sourceTree = "<group>"; };
+ B61762531203374F00EF9114 /* IDBDatabaseBackendInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseBackendInterface.h; sourceTree = "<group>"; };
+ B61762611203490800EF9114 /* IDBDatabaseBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseBackendImpl.h; sourceTree = "<group>"; };
B734B180119B9911006587BD /* FontTranscoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FontTranscoder.cpp; path = transcoder/FontTranscoder.cpp; sourceTree = "<group>"; };
B734B182119B991D006587BD /* FontTranscoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FontTranscoder.h; path = transcoder/FontTranscoder.h; sourceTree = "<group>"; };
B776D43A1104525D00BEB0EC /* PrintContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrintContext.h; sourceTree = "<group>"; };
@@ -10644,8 +10646,8 @@
C585A66711D4FB07004C3E4B /* JSIDBDatabaseError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBDatabaseError.h; sourceTree = "<group>"; };
C585A66811D4FB07004C3E4B /* JSIDBDatabaseException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBDatabaseException.cpp; sourceTree = "<group>"; };
C585A66911D4FB07004C3E4B /* JSIDBDatabaseException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBDatabaseException.h; sourceTree = "<group>"; };
- C585A66A11D4FB07004C3E4B /* JSIDBDatabaseRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBDatabaseRequest.cpp; sourceTree = "<group>"; };
- C585A66B11D4FB07004C3E4B /* JSIDBDatabaseRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBDatabaseRequest.h; sourceTree = "<group>"; };
+ C585A66A11D4FB07004C3E4B /* JSIDBDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBDatabase.cpp; sourceTree = "<group>"; };
+ C585A66B11D4FB07004C3E4B /* JSIDBDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBDatabase.h; sourceTree = "<group>"; };
C585A66C11D4FB07004C3E4B /* JSIDBErrorEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBErrorEvent.cpp; sourceTree = "<group>"; };
C585A66D11D4FB07004C3E4B /* JSIDBErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSIDBErrorEvent.h; sourceTree = "<group>"; };
C585A66E11D4FB07004C3E4B /* JSIDBEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSIDBEvent.cpp; sourceTree = "<group>"; };
@@ -10666,16 +10668,14 @@
C585A69911D4FB3D004C3E4B /* IDBAny.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBAny.h; sourceTree = "<group>"; };
C585A69A11D4FB3D004C3E4B /* IDBAny.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBAny.idl; sourceTree = "<group>"; };
C585A69B11D4FB3D004C3E4B /* IDBCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBCallbacks.h; sourceTree = "<group>"; };
- C585A69C11D4FB3D004C3E4B /* IDBDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabase.h; sourceTree = "<group>"; };
C585A69D11D4FB3D004C3E4B /* IDBDatabaseError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseError.h; sourceTree = "<group>"; };
C585A69E11D4FB3D004C3E4B /* IDBDatabaseError.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBDatabaseError.idl; sourceTree = "<group>"; };
C585A69F11D4FB3D004C3E4B /* IDBDatabaseException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseException.h; sourceTree = "<group>"; };
C585A6A011D4FB3D004C3E4B /* IDBDatabaseException.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBDatabaseException.idl; sourceTree = "<group>"; };
- C585A6A111D4FB3D004C3E4B /* IDBDatabaseImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseImpl.cpp; sourceTree = "<group>"; };
- C585A6A211D4FB3D004C3E4B /* IDBDatabaseImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseImpl.h; sourceTree = "<group>"; };
- C585A6A311D4FB3D004C3E4B /* IDBDatabaseRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseRequest.cpp; sourceTree = "<group>"; };
- C585A6A411D4FB3D004C3E4B /* IDBDatabaseRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabaseRequest.h; sourceTree = "<group>"; };
- C585A6A511D4FB3D004C3E4B /* IDBDatabaseRequest.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBDatabaseRequest.idl; sourceTree = "<group>"; };
+ C585A6A111D4FB3D004C3E4B /* IDBDatabaseBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabaseBackendImpl.cpp; sourceTree = "<group>"; };
+ C585A6A311D4FB3D004C3E4B /* IDBDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBDatabase.cpp; sourceTree = "<group>"; };
+ C585A6A411D4FB3D004C3E4B /* IDBDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBDatabase.h; sourceTree = "<group>"; };
+ C585A6A511D4FB3D004C3E4B /* IDBDatabase.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBDatabase.idl; sourceTree = "<group>"; };
C585A6A611D4FB3D004C3E4B /* IDBErrorEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBErrorEvent.cpp; sourceTree = "<group>"; };
C585A6A711D4FB3D004C3E4B /* IDBErrorEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBErrorEvent.h; sourceTree = "<group>"; };
C585A6A811D4FB3D004C3E4B /* IDBErrorEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = IDBErrorEvent.idl; sourceTree = "<group>"; };
@@ -11389,16 +11389,16 @@
C585A69911D4FB3D004C3E4B /* IDBAny.h */,
C585A69A11D4FB3D004C3E4B /* IDBAny.idl */,
C585A69B11D4FB3D004C3E4B /* IDBCallbacks.h */,
- C585A69C11D4FB3D004C3E4B /* IDBDatabase.h */,
+ C585A6A311D4FB3D004C3E4B /* IDBDatabase.cpp */,
+ C585A6A411D4FB3D004C3E4B /* IDBDatabase.h */,
+ C585A6A511D4FB3D004C3E4B /* IDBDatabase.idl */,
+ C585A6A111D4FB3D004C3E4B /* IDBDatabaseBackendImpl.cpp */,
+ B61762611203490800EF9114 /* IDBDatabaseBackendImpl.h */,
+ B61762531203374F00EF9114 /* IDBDatabaseBackendInterface.h */,
C585A69D11D4FB3D004C3E4B /* IDBDatabaseError.h */,
C585A69E11D4FB3D004C3E4B /* IDBDatabaseError.idl */,
C585A69F11D4FB3D004C3E4B /* IDBDatabaseException.h */,
C585A6A011D4FB3D004C3E4B /* IDBDatabaseException.idl */,
- C585A6A111D4FB3D004C3E4B /* IDBDatabaseImpl.cpp */,
- C585A6A211D4FB3D004C3E4B /* IDBDatabaseImpl.h */,
- C585A6A311D4FB3D004C3E4B /* IDBDatabaseRequest.cpp */,
- C585A6A411D4FB3D004C3E4B /* IDBDatabaseRequest.h */,
- C585A6A511D4FB3D004C3E4B /* IDBDatabaseRequest.idl */,
C585A6A611D4FB3D004C3E4B /* IDBErrorEvent.cpp */,
C585A6A711D4FB3D004C3E4B /* IDBErrorEvent.h */,
C585A6A811D4FB3D004C3E4B /* IDBErrorEvent.idl */,
@@ -14855,8 +14855,8 @@
C585A66711D4FB07004C3E4B /* JSIDBDatabaseError.h */,
C585A66811D4FB07004C3E4B /* JSIDBDatabaseException.cpp */,
C585A66911D4FB07004C3E4B /* JSIDBDatabaseException.h */,
- C585A66A11D4FB07004C3E4B /* JSIDBDatabaseRequest.cpp */,
- C585A66B11D4FB07004C3E4B /* JSIDBDatabaseRequest.h */,
+ C585A66A11D4FB07004C3E4B /* JSIDBDatabase.cpp */,
+ C585A66B11D4FB07004C3E4B /* JSIDBDatabase.h */,
C585A66C11D4FB07004C3E4B /* JSIDBErrorEvent.cpp */,
C585A66D11D4FB07004C3E4B /* JSIDBErrorEvent.h */,
C585A66E11D4FB07004C3E4B /* JSIDBEvent.cpp */,
@@ -18588,11 +18588,9 @@
C585A6CD11D4FB3D004C3E4B /* IDBAny.h in Headers */,
C585A66311D4FAC5004C3E4B /* IDBBindingUtilities.h in Headers */,
C585A6CF11D4FB3D004C3E4B /* IDBCallbacks.h in Headers */,
- C585A6D011D4FB3D004C3E4B /* IDBDatabase.h in Headers */,
+ C585A6D811D4FB3D004C3E4B /* IDBDatabase.h in Headers */,
C585A6D111D4FB3D004C3E4B /* IDBDatabaseError.h in Headers */,
C585A6D311D4FB3D004C3E4B /* IDBDatabaseException.h in Headers */,
- C585A6D611D4FB3D004C3E4B /* IDBDatabaseImpl.h in Headers */,
- C585A6D811D4FB3D004C3E4B /* IDBDatabaseRequest.h in Headers */,
C585A6DB11D4FB3D004C3E4B /* IDBErrorEvent.h in Headers */,
C585A6DE11D4FB3D004C3E4B /* IDBEvent.h in Headers */,
C585A6FE11D4FB3D004C3E4B /* IDBFactory.h in Headers */,
@@ -18845,7 +18843,7 @@
C585A67D11D4FB08004C3E4B /* JSIDBAny.h in Headers */,
C585A67F11D4FB08004C3E4B /* JSIDBDatabaseError.h in Headers */,
C585A68111D4FB08004C3E4B /* JSIDBDatabaseException.h in Headers */,
- C585A68311D4FB08004C3E4B /* JSIDBDatabaseRequest.h in Headers */,
+ C585A68311D4FB08004C3E4B /* JSIDBDatabase.h in Headers */,
C585A68511D4FB08004C3E4B /* JSIDBErrorEvent.h in Headers */,
C585A68711D4FB08004C3E4B /* JSIDBEvent.h in Headers */,
C585A69711D4FB13004C3E4B /* JSIDBFactory.h in Headers */,
@@ -19983,6 +19981,8 @@
515788C11207852C00A37C4A /* VisitedLinkStrategy.h in Headers */,
D39D006D11F8E308006041F2 /* PopupMenuMac.h in Headers */,
D39D009D11F907E6006041F2 /* SearchPopupMenuMac.h in Headers */,
+ B61762541203374F00EF9114 /* IDBDatabaseBackendInterface.h in Headers */,
+ B61762621203490800EF9114 /* IDBDatabaseBackendImpl.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -21021,8 +21021,8 @@
51E1ECC00C91C90400DC255B /* IconRecord.cpp in Sources */,
C585A6CC11D4FB3D004C3E4B /* IDBAny.cpp in Sources */,
C585A66211D4FAC5004C3E4B /* IDBBindingUtilities.cpp in Sources */,
- C585A6D511D4FB3D004C3E4B /* IDBDatabaseImpl.cpp in Sources */,
- C585A6D711D4FB3D004C3E4B /* IDBDatabaseRequest.cpp in Sources */,
+ B691C1F91206D4A00025D980 /* IDBDatabase.cpp in Sources */,
+ C585A6D511D4FB3D004C3E4B /* IDBDatabaseBackendImpl.cpp in Sources */,
C585A6DA11D4FB3D004C3E4B /* IDBErrorEvent.cpp in Sources */,
C585A6DD11D4FB3D004C3E4B /* IDBEvent.cpp in Sources */,
C585A6FD11D4FB3D004C3E4B /* IDBFactory.cpp in Sources */,
@@ -21315,7 +21315,7 @@
C585A65E11D4FAB2004C3E4B /* JSIDBAnyCustom.cpp in Sources */,
C585A67E11D4FB08004C3E4B /* JSIDBDatabaseError.cpp in Sources */,
C585A68011D4FB08004C3E4B /* JSIDBDatabaseException.cpp in Sources */,
- C585A68211D4FB08004C3E4B /* JSIDBDatabaseRequest.cpp in Sources */,
+ C585A68211D4FB08004C3E4B /* JSIDBDatabase.cpp in Sources */,
C585A68411D4FB08004C3E4B /* JSIDBErrorEvent.cpp in Sources */,
C585A68611D4FB08004C3E4B /* JSIDBEvent.cpp in Sources */,
C585A69611D4FB13004C3E4B /* JSIDBFactory.cpp in Sources */,
diff --git a/WebCore/bindings/js/JSIDBAnyCustom.cpp b/WebCore/bindings/js/JSIDBAnyCustom.cpp
index 92f725a..e5adbe3 100644
--- a/WebCore/bindings/js/JSIDBAnyCustom.cpp
+++ b/WebCore/bindings/js/JSIDBAnyCustom.cpp
@@ -32,12 +32,12 @@
#include "JSIDBAny.h"
#include "IDBAny.h"
-#include "IDBDatabaseRequest.h"
+#include "IDBDatabase.h"
#include "IDBFactory.h"
#include "IDBIndex.h"
#include "IDBKey.h"
#include "IDBObjectStoreRequest.h"
-#include "JSIDBDatabaseRequest.h"
+#include "JSIDBDatabase.h"
#include "JSIDBFactory.h"
#include "JSIDBIndex.h"
#include "JSIDBKey.h"
@@ -58,8 +58,8 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, IDBAny* idbAny)
return jsUndefined();
case IDBAny::NullType:
return jsNull();
- case IDBAny::IDBDatabaseRequestType:
- return toJS(exec, globalObject, idbAny->idbDatabaseRequest());
+ case IDBAny::IDBDatabaseType:
+ return toJS(exec, globalObject, idbAny->idbDatabase());
case IDBAny::IDBIndexType:
return toJS(exec, globalObject, idbAny->idbIndex());
case IDBAny::IDBKeyType:
diff --git a/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp b/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
index 2ec3dcd..11532e1 100644
--- a/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
@@ -32,7 +32,7 @@
#include "V8IDBAny.h"
#include "SerializedScriptValue.h"
-#include "V8IDBDatabaseRequest.h"
+#include "V8IDBDatabase.h"
#include "V8IDBFactory.h"
#include "V8IDBIndex.h"
#include "V8IDBKey.h"
@@ -50,8 +50,8 @@ v8::Handle<v8::Value> toV8(IDBAny* impl)
return v8::Undefined();
case IDBAny::NullType:
return v8::Null();
- case IDBAny::IDBDatabaseRequestType:
- return toV8(impl->idbDatabaseRequest());
+ case IDBAny::IDBDatabaseType:
+ return toV8(impl->idbDatabase());
case IDBAny::IDBIndexType:
return toV8(impl->idbIndex());
case IDBAny::IDBKeyType:
diff --git a/WebCore/storage/IDBAny.cpp b/WebCore/storage/IDBAny.cpp
index da0cb22..eafbf53 100644
--- a/WebCore/storage/IDBAny.cpp
+++ b/WebCore/storage/IDBAny.cpp
@@ -28,7 +28,7 @@
#if ENABLE(INDEXED_DATABASE)
-#include "IDBDatabaseRequest.h"
+#include "IDBDatabase.h"
#include "IDBFactory.h"
#include "IDBIndex.h"
#include "IDBObjectStoreRequest.h"
@@ -50,10 +50,10 @@ IDBAny::~IDBAny()
{
}
-PassRefPtr<IDBDatabaseRequest> IDBAny::idbDatabaseRequest()
+PassRefPtr<IDBDatabase> IDBAny::idbDatabase()
{
- ASSERT(m_type == IDBDatabaseRequestType);
- return m_idbDatabaseRequest;
+ ASSERT(m_type == IDBDatabaseType);
+ return m_idbDatabase;
}
PassRefPtr<IDBIndex> IDBAny::idbIndex()
@@ -92,17 +92,17 @@ void IDBAny::set()
m_type = NullType;
}
-void IDBAny::set(PassRefPtr<IDBDatabaseRequest> value)
+void IDBAny::set(PassRefPtr<IDBDatabase> value)
{
ASSERT(m_type == UndefinedType);
- m_type = IDBDatabaseRequestType;
- m_idbDatabaseRequest = value;
+ m_type = IDBDatabaseType;
+ m_idbDatabase = value;
}
void IDBAny::set(PassRefPtr<IDBIndex> value)
{
ASSERT(m_type == UndefinedType);
- m_type = IDBDatabaseRequestType;
+ m_type = IDBDatabaseType;
m_idbIndex = value;
}
diff --git a/WebCore/storage/IDBAny.h b/WebCore/storage/IDBAny.h
index a7859a1..d9022f1 100644
--- a/WebCore/storage/IDBAny.h
+++ b/WebCore/storage/IDBAny.h
@@ -34,7 +34,7 @@
namespace WebCore {
-class IDBDatabaseRequest;
+class IDBDatabase;
class IDBIndex;
class IDBKey;
class IDBObjectStoreRequest;
@@ -56,7 +56,7 @@ public:
enum Type {
UndefinedType = 0,
NullType,
- IDBDatabaseRequestType,
+ IDBDatabaseType,
IDBFactoryType,
IDBIndexType,
IDBKeyType,
@@ -66,7 +66,7 @@ public:
Type type() const { return m_type; }
// Use type() to figure out which one of these you're allowed to call.
- PassRefPtr<IDBDatabaseRequest> idbDatabaseRequest();
+ PassRefPtr<IDBDatabase> idbDatabase();
PassRefPtr<IDBFactory> idbFactory();
PassRefPtr<IDBIndex> idbIndex();
PassRefPtr<IDBKey> idbKey();
@@ -75,7 +75,7 @@ public:
// Set can only be called once.
void set(); // For "null".
- void set(PassRefPtr<IDBDatabaseRequest>);
+ void set(PassRefPtr<IDBDatabase>);
void set(PassRefPtr<IDBFactory>);
void set(PassRefPtr<IDBIndex>);
void set(PassRefPtr<IDBKey>);
@@ -88,7 +88,7 @@ private:
Type m_type;
// Only one of the following should ever be in use at any given time.
- RefPtr<IDBDatabaseRequest> m_idbDatabaseRequest;
+ RefPtr<IDBDatabase> m_idbDatabase;
RefPtr<IDBFactory> m_idbFactory;
RefPtr<IDBIndex> m_idbIndex;
RefPtr<IDBKey> m_idbKey;
diff --git a/WebCore/storage/IDBCallbacks.h b/WebCore/storage/IDBCallbacks.h
index d79cdec..871dd55 100644
--- a/WebCore/storage/IDBCallbacks.h
+++ b/WebCore/storage/IDBCallbacks.h
@@ -29,7 +29,7 @@
#ifndef IDBCallbacks_h
#define IDBCallbacks_h
-#include "IDBDatabase.h"
+#include "IDBDatabaseBackendInterface.h"
#include "IDBDatabaseError.h"
#include "IDBIndexBackendInterface.h"
#include "IDBKey.h"
@@ -47,7 +47,7 @@ public:
virtual void onError(PassRefPtr<IDBDatabaseError>) = 0;
virtual void onSuccess() = 0; // For "null".
- virtual void onSuccess(PassRefPtr<IDBDatabase>) = 0;
+ virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) = 0;
virtual void onSuccess(PassRefPtr<IDBIndexBackendInterface>) = 0;
virtual void onSuccess(PassRefPtr<IDBKey>) = 0;
virtual void onSuccess(PassRefPtr<IDBObjectStore>) = 0;
diff --git a/WebCore/storage/IDBDatabase.cpp b/WebCore/storage/IDBDatabase.cpp
new file mode 100644
index 0000000..03c0972
--- /dev/null
+++ b/WebCore/storage/IDBDatabase.cpp
@@ -0,0 +1,73 @@
+/*
+ * 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 "IDBDatabase.h"
+
+#include "IDBAny.h"
+#include "IDBFactoryBackendInterface.h"
+#include "IDBObjectStoreRequest.h"
+#include "IDBRequest.h"
+#include "ScriptExecutionContext.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBDatabase::IDBDatabase(PassRefPtr<IDBDatabaseBackendInterface> backend)
+ : m_backend(backend)
+{
+ // We pass a reference to this object before it can be adopted.
+ relaxAdoptionRequirement();
+}
+
+IDBDatabase::~IDBDatabase()
+{
+}
+
+PassRefPtr<IDBRequest> IDBDatabase::createObjectStore(ScriptExecutionContext* context, const String& name, const String& keyPath, bool autoIncrement)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_backend->createObjectStore(name, keyPath, autoIncrement, request);
+ return request;
+}
+
+PassRefPtr<IDBObjectStoreRequest> IDBDatabase::objectStore(const String& name, unsigned short mode)
+{
+ RefPtr<IDBObjectStore> 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());
+}
+
+PassRefPtr<IDBRequest> IDBDatabase::removeObjectStore(ScriptExecutionContext* context, const String& name)
+{
+ RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
+ m_backend->removeObjectStore(name, request);
+ return request;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBDatabase.h b/WebCore/storage/IDBDatabase.h
index 0055ad1..9f7b9af 100644
--- a/WebCore/storage/IDBDatabase.h
+++ b/WebCore/storage/IDBDatabase.h
@@ -26,37 +26,43 @@
#ifndef IDBDatabase_h
#define IDBDatabase_h
-#include "PlatformString.h"
+#include "DOMStringList.h"
+#include "IDBDatabaseBackendInterface.h"
#include <wtf/PassRefPtr.h>
-#include <wtf/Threading.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
#if ENABLE(INDEXED_DATABASE)
namespace WebCore {
-class DOMStringList;
-class Frame;
-class IDBCallbacks;
-class IDBObjectStore;
+class IDBAny;
+class IDBObjectStoreRequest;
+class IDBRequest;
+class ScriptExecutionContext;
-// This class is shared by IDBDatabaseRequest (async) and IDBDatabaseSync (sync).
-// This is implemented by IDBDatabaseImpl and optionally others (in order to proxy
-// calls across process barriers). All calls to these classes should be non-blocking and
-// trigger work on a background thread if necessary.
-class IDBDatabase : public ThreadSafeShared<IDBDatabase> {
+class IDBDatabase : public RefCounted<IDBDatabase> {
public:
- virtual ~IDBDatabase() { }
+ static PassRefPtr<IDBDatabase> create(PassRefPtr<IDBDatabaseBackendInterface> database)
+ {
+ return adoptRef(new IDBDatabase(database));
+ }
+ ~IDBDatabase();
- virtual String name() const = 0;
- virtual String description() const = 0;
- virtual String version() const = 0;
- virtual PassRefPtr<DOMStringList> objectStores() const = 0;
+ // Implement the IDL
+ String name() const { return m_backend->name(); }
+ String description() const { return m_backend->description(); }
+ String version() const { return m_backend->version(); }
+ PassRefPtr<DOMStringList> objectStores() const { return m_backend->objectStores(); }
- // FIXME: Add transaction and setVersion.
+ 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<IDBRequest> removeObjectStore(ScriptExecutionContext*, const String& name);
- 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 void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>) = 0;
+private:
+ IDBDatabase(PassRefPtr<IDBDatabaseBackendInterface>);
+
+ RefPtr<IDBDatabaseBackendInterface> m_backend;
};
} // namespace WebCore
diff --git a/WebCore/storage/IDBDatabase.idl b/WebCore/storage/IDBDatabase.idl
new file mode 100644
index 0000000..1bc121f
--- /dev/null
+++ b/WebCore/storage/IDBDatabase.idl
@@ -0,0 +1,45 @@
+/*
+ * 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
+ ] IDBDatabase {
+ readonly attribute DOMString name;
+ readonly attribute DOMString description;
+ readonly attribute DOMString version;
+ readonly attribute DOMStringList objectStores;
+
+ // FIXME: Add transaction.
+ // FIXME: Add setVersion.
+
+ [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);
+ [CallWith=ScriptExecutionContext] IDBRequest removeObjectStore(in DOMString name);
+ };
+
+}
diff --git a/WebCore/storage/IDBDatabaseBackendImpl.cpp b/WebCore/storage/IDBDatabaseBackendImpl.cpp
new file mode 100644
index 0000000..02e784c
--- /dev/null
+++ b/WebCore/storage/IDBDatabaseBackendImpl.cpp
@@ -0,0 +1,88 @@
+/*
+ * 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 "IDBDatabaseBackendImpl.h"
+
+#include "DOMStringList.h"
+#include "IDBDatabaseException.h"
+#include "IDBObjectStoreImpl.h"
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+IDBDatabaseBackendImpl::IDBDatabaseBackendImpl(const String& name, const String& description, const String& version)
+ : m_name(name)
+ , m_description(description)
+ , m_version(version)
+{
+}
+
+IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl()
+{
+}
+
+PassRefPtr<DOMStringList> IDBDatabaseBackendImpl::objectStores() const
+{
+ RefPtr<DOMStringList> objectStoreNames = DOMStringList::create();
+ for (ObjectStoreMap::const_iterator it = m_objectStores.begin(); it != m_objectStores.end(); ++it)
+ objectStoreNames->append(it->first);
+ return objectStoreNames.release();
+}
+
+void IDBDatabaseBackendImpl::createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks> callbacks)
+{
+ if (m_objectStores.contains(name)) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "An objectStore with that name already exists."));
+ return;
+ }
+
+ RefPtr<IDBObjectStore> objectStore = IDBObjectStoreImpl::create(name, keyPath, autoIncrement);
+ m_objectStores.set(name, objectStore);
+ callbacks->onSuccess(objectStore.release());
+}
+
+PassRefPtr<IDBObjectStore> 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.
+ return m_objectStores.get(name);
+}
+
+void IDBDatabaseBackendImpl::removeObjectStore(const String& name, PassRefPtr<IDBCallbacks> callbacks)
+{
+ if (!m_objectStores.contains(name)) {
+ callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "No objectStore with that name exists."));
+ return;
+ }
+
+ m_objectStores.remove(name);
+ callbacks->onSuccess();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBDatabaseBackendImpl.h b/WebCore/storage/IDBDatabaseBackendImpl.h
new file mode 100644
index 0000000..9f5ae4e
--- /dev/null
+++ b/WebCore/storage/IDBDatabaseBackendImpl.h
@@ -0,0 +1,71 @@
+/*
+ * 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 IDBDatabaseBackendImpl_h
+#define IDBDatabaseBackendImpl_h
+
+#include "IDBCallbacks.h"
+#include "IDBDatabase.h"
+#include "StringHash.h"
+#include <wtf/HashMap.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class IDBDatabaseBackendImpl : public IDBDatabaseBackendInterface {
+public:
+ static PassRefPtr<IDBDatabaseBackendInterface> create(const String& name, const String& description, const String& version)
+ {
+ return adoptRef(new IDBDatabaseBackendImpl(name, description, version));
+ }
+ virtual ~IDBDatabaseBackendImpl();
+
+ // Implements IDBDatabase
+ virtual String name() const { return m_name; }
+ virtual String description() const { return m_description; }
+ virtual String version() const { return m_version; }
+ 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 void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>);
+
+private:
+ IDBDatabaseBackendImpl(const String& name, const String& description, const String& version);
+
+ String m_name;
+ String m_description;
+ String m_version;
+
+ typedef HashMap<String, RefPtr<IDBObjectStore> > ObjectStoreMap;
+ ObjectStoreMap m_objectStores;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBDatabaseBackendImpl_h
diff --git a/WebCore/storage/IDBDatabaseBackendInterface.h b/WebCore/storage/IDBDatabaseBackendInterface.h
new file mode 100644
index 0000000..0e9ca1b
--- /dev/null
+++ b/WebCore/storage/IDBDatabaseBackendInterface.h
@@ -0,0 +1,66 @@
+/*
+ * 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 IDBDatabaseBackendInterface_h
+#define IDBDatabaseBackendInterface_h
+
+#include "PlatformString.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/Threading.h>
+
+#if ENABLE(INDEXED_DATABASE)
+
+namespace WebCore {
+
+class DOMStringList;
+class Frame;
+class IDBCallbacks;
+class IDBObjectStore;
+
+// This class is shared by IDBDatabase (async) and IDBDatabaseSync (sync).
+// This is implemented by IDBDatabaseBackendImpl and optionally others (in order to proxy
+// calls across process barriers). All calls to these classes should be non-blocking and
+// trigger work on a background thread if necessary.
+class IDBDatabaseBackendInterface : public ThreadSafeShared<IDBDatabaseBackendInterface> {
+public:
+ virtual ~IDBDatabaseBackendInterface() { }
+
+ virtual String name() const = 0;
+ virtual String description() const = 0;
+ virtual String version() const = 0;
+ virtual PassRefPtr<DOMStringList> objectStores() const = 0;
+
+ // 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 void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>) = 0;
+};
+
+} // namespace WebCore
+
+#endif
+
+#endif // IDBDatabaseBackendInterface_h
diff --git a/WebCore/storage/IDBDatabaseImpl.cpp b/WebCore/storage/IDBDatabaseImpl.cpp
deleted file mode 100644
index 162efab..0000000
--- a/WebCore/storage/IDBDatabaseImpl.cpp
+++ /dev/null
@@ -1,88 +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 "IDBDatabaseImpl.h"
-
-#include "DOMStringList.h"
-#include "IDBDatabaseException.h"
-#include "IDBObjectStoreImpl.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-IDBDatabaseImpl::IDBDatabaseImpl(const String& name, const String& description, const String& version)
- : m_name(name)
- , m_description(description)
- , m_version(version)
-{
-}
-
-IDBDatabaseImpl::~IDBDatabaseImpl()
-{
-}
-
-PassRefPtr<DOMStringList> IDBDatabaseImpl::objectStores() const
-{
- RefPtr<DOMStringList> objectStoreNames = DOMStringList::create();
- for (ObjectStoreMap::const_iterator it = m_objectStores.begin(); it != m_objectStores.end(); ++it)
- objectStoreNames->append(it->first);
- return objectStoreNames.release();
-}
-
-void IDBDatabaseImpl::createObjectStore(const String& name, const String& keyPath, bool autoIncrement, PassRefPtr<IDBCallbacks> callbacks)
-{
- if (m_objectStores.contains(name)) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::CONSTRAINT_ERR, "An objectStore with that name already exists."));
- return;
- }
-
- RefPtr<IDBObjectStore> objectStore = IDBObjectStoreImpl::create(name, keyPath, autoIncrement);
- m_objectStores.set(name, objectStore);
- callbacks->onSuccess(objectStore.release());
-}
-
-PassRefPtr<IDBObjectStore> IDBDatabaseImpl::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.
- return m_objectStores.get(name);
-}
-
-void IDBDatabaseImpl::removeObjectStore(const String& name, PassRefPtr<IDBCallbacks> callbacks)
-{
- if (!m_objectStores.contains(name)) {
- callbacks->onError(IDBDatabaseError::create(IDBDatabaseException::NOT_FOUND_ERR, "No objectStore with that name exists."));
- return;
- }
-
- m_objectStores.remove(name);
- callbacks->onSuccess();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBDatabaseImpl.h b/WebCore/storage/IDBDatabaseImpl.h
deleted file mode 100644
index 7203c5a..0000000
--- a/WebCore/storage/IDBDatabaseImpl.h
+++ /dev/null
@@ -1,71 +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 IDBDatabaseImpl_h
-#define IDBDatabaseImpl_h
-
-#include "IDBCallbacks.h"
-#include "IDBDatabase.h"
-#include "StringHash.h"
-#include <wtf/HashMap.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-class IDBDatabaseImpl : public IDBDatabase {
-public:
- static PassRefPtr<IDBDatabase> create(const String& name, const String& description, const String& version)
- {
- return adoptRef(new IDBDatabaseImpl(name, description, version));
- }
- virtual ~IDBDatabaseImpl();
-
- // Implements IDBDatabase
- virtual String name() const { return m_name; }
- virtual String description() const { return m_description; }
- virtual String version() const { return m_version; }
- 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 void removeObjectStore(const String& name, PassRefPtr<IDBCallbacks>);
-
-private:
- IDBDatabaseImpl(const String& name, const String& description, const String& version);
-
- String m_name;
- String m_description;
- String m_version;
-
- typedef HashMap<String, RefPtr<IDBObjectStore> > ObjectStoreMap;
- ObjectStoreMap m_objectStores;
-};
-
-} // namespace WebCore
-
-#endif
-
-#endif // IDBDatabaseImpl_h
diff --git a/WebCore/storage/IDBDatabaseRequest.cpp b/WebCore/storage/IDBDatabaseRequest.cpp
deleted file mode 100644
index 8a40e9e..0000000
--- a/WebCore/storage/IDBDatabaseRequest.cpp
+++ /dev/null
@@ -1,73 +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 "IDBDatabaseRequest.h"
-
-#include "IDBAny.h"
-#include "IDBFactoryBackendInterface.h"
-#include "IDBObjectStoreRequest.h"
-#include "IDBRequest.h"
-#include "ScriptExecutionContext.h"
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-IDBDatabaseRequest::IDBDatabaseRequest(PassRefPtr<IDBDatabase> database)
- : m_database(database)
-{
- // We pass a reference to this object before it can be adopted.
- relaxAdoptionRequirement();
-}
-
-IDBDatabaseRequest::~IDBDatabaseRequest()
-{
-}
-
-PassRefPtr<IDBRequest> IDBDatabaseRequest::createObjectStore(ScriptExecutionContext* context, const String& name, const String& keyPath, bool autoIncrement)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_database->createObjectStore(name, keyPath, autoIncrement, request);
- return request;
-}
-
-PassRefPtr<IDBObjectStoreRequest> IDBDatabaseRequest::objectStore(const String& name, unsigned short mode)
-{
- RefPtr<IDBObjectStore> objectStore = m_database->objectStore(name, mode);
- ASSERT(objectStore); // FIXME: If this is null, we should raise a NOT_FOUND_ERR.
- return IDBObjectStoreRequest::create(objectStore.release());
-}
-
-PassRefPtr<IDBRequest> IDBDatabaseRequest::removeObjectStore(ScriptExecutionContext* context, const String& name)
-{
- RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this));
- m_database->removeObjectStore(name, request);
- return request;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INDEXED_DATABASE)
diff --git a/WebCore/storage/IDBDatabaseRequest.h b/WebCore/storage/IDBDatabaseRequest.h
deleted file mode 100644
index fd19882..0000000
--- a/WebCore/storage/IDBDatabaseRequest.h
+++ /dev/null
@@ -1,72 +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 IDBDatabaseRequest_h
-#define IDBDatabaseRequest_h
-
-#include "DOMStringList.h"
-#include "IDBDatabase.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
-#if ENABLE(INDEXED_DATABASE)
-
-namespace WebCore {
-
-class IDBAny;
-class IDBObjectStoreRequest;
-class IDBRequest;
-class ScriptExecutionContext;
-
-class IDBDatabaseRequest : public RefCounted<IDBDatabaseRequest> {
-public:
- static PassRefPtr<IDBDatabaseRequest> create(PassRefPtr<IDBDatabase> database)
- {
- return adoptRef(new IDBDatabaseRequest(database));
- }
- ~IDBDatabaseRequest();
-
- // Implement the IDL
- String name() const { return m_database->name(); }
- String description() const { return m_database->description(); }
- String version() const { return m_database->version(); }
- PassRefPtr<DOMStringList> objectStores() const { return m_database->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<IDBRequest> removeObjectStore(ScriptExecutionContext*, const String& name);
-
-private:
- IDBDatabaseRequest(PassRefPtr<IDBDatabase>);
-
- RefPtr<IDBDatabase> m_database;
-};
-
-} // namespace WebCore
-
-#endif
-
-#endif // IDBDatabaseRequest_h
diff --git a/WebCore/storage/IDBDatabaseRequest.idl b/WebCore/storage/IDBDatabaseRequest.idl
deleted file mode 100644
index 548b221..0000000
--- a/WebCore/storage/IDBDatabaseRequest.idl
+++ /dev/null
@@ -1,45 +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
- ] IDBDatabaseRequest {
- readonly attribute DOMString name;
- readonly attribute DOMString description;
- readonly attribute DOMString version;
- readonly attribute DOMStringList objectStores;
-
- // FIXME: Add transaction.
- // FIXME: Add setVersion.
-
- [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);
- [CallWith=ScriptExecutionContext] IDBRequest removeObjectStore(in DOMString name);
- };
-
-}
diff --git a/WebCore/storage/IDBFactoryBackendImpl.cpp b/WebCore/storage/IDBFactoryBackendImpl.cpp
index e965c3f..7bdd70d 100644
--- a/WebCore/storage/IDBFactoryBackendImpl.cpp
+++ b/WebCore/storage/IDBFactoryBackendImpl.cpp
@@ -30,7 +30,7 @@
#include "IDBFactoryBackendImpl.h"
#include "DOMStringList.h"
-#include "IDBDatabaseImpl.h"
+#include "IDBDatabaseBackendImpl.h"
#include "SecurityOrigin.h"
#include <wtf/Threading.h>
#include <wtf/UnusedParam.h>
@@ -54,16 +54,16 @@ IDBFactoryBackendImpl::~IDBFactoryBackendImpl()
void IDBFactoryBackendImpl::open(const String& name, const String& description, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<SecurityOrigin>, Frame*)
{
- RefPtr<IDBDatabase> database;
- IDBDatabaseMap::iterator it = m_databaseMap.find(name);
- if (it == m_databaseMap.end()) {
+ RefPtr<IDBDatabaseBackendInterface> databaseBackend;
+ IDBDatabaseBackendMap::iterator it = m_databaseBackendMap.find(name);
+ if (it == m_databaseBackendMap.end()) {
// FIXME: What should the version be? The spec doesn't define it yet.
- database = IDBDatabaseImpl::create(name, description, "");
- m_databaseMap.set(name, database);
+ databaseBackend = IDBDatabaseBackendImpl::create(name, description, "");
+ m_databaseBackendMap.set(name, databaseBackend);
} else
- database = it->second;
+ databaseBackend = it->second;
- callbacks->onSuccess(database.release());
+ callbacks->onSuccess(databaseBackend.release());
}
} // namespace WebCore
diff --git a/WebCore/storage/IDBFactoryBackendImpl.h b/WebCore/storage/IDBFactoryBackendImpl.h
index bb28b6d..bbcc537 100644
--- a/WebCore/storage/IDBFactoryBackendImpl.h
+++ b/WebCore/storage/IDBFactoryBackendImpl.h
@@ -48,8 +48,8 @@ public:
private:
IDBFactoryBackendImpl();
- typedef HashMap<String, RefPtr<IDBDatabase> > IDBDatabaseMap;
- IDBDatabaseMap m_databaseMap;
+ typedef HashMap<String, RefPtr<IDBDatabaseBackendInterface> > IDBDatabaseBackendMap;
+ IDBDatabaseBackendMap m_databaseBackendMap;
// We only create one instance of this class at a time.
static IDBFactoryBackendImpl* idbFactoryBackendImpl;
diff --git a/WebCore/storage/IDBRequest.cpp b/WebCore/storage/IDBRequest.cpp
index b836cc3..b0be94b 100644
--- a/WebCore/storage/IDBRequest.cpp
+++ b/WebCore/storage/IDBRequest.cpp
@@ -35,7 +35,7 @@
#include "EventException.h"
#include "EventListener.h"
#include "EventNames.h"
-#include "IDBDatabaseRequest.h"
+#include "IDBDatabase.h"
#include "IDBIndex.h"
#include "IDBErrorEvent.h"
#include "IDBObjectStoreRequest.h"
@@ -73,10 +73,10 @@ void IDBRequest::onSuccess()
m_result->set();
}
-void IDBRequest::onSuccess(PassRefPtr<IDBDatabase> idbDatabase)
+void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> idbDatabaseBackend)
{
onEventCommon();
- m_result->set(IDBDatabaseRequest::create(idbDatabase));
+ m_result->set(IDBDatabase::create(idbDatabaseBackend));
}
void IDBRequest::onSuccess(PassRefPtr<IDBIndexBackendInterface> backend)
diff --git a/WebCore/storage/IDBRequest.h b/WebCore/storage/IDBRequest.h
index 39f6a51..255ae48 100644
--- a/WebCore/storage/IDBRequest.h
+++ b/WebCore/storage/IDBRequest.h
@@ -41,8 +41,6 @@
namespace WebCore {
-class IDBDatabaseRequest;
-
class IDBRequest : public IDBCallbacks, public EventTarget, public ActiveDOMObject {
public:
static PassRefPtr<IDBRequest> create(ScriptExecutionContext* context, PassRefPtr<IDBAny> source) { return adoptRef(new IDBRequest(context, source)); }
@@ -64,7 +62,7 @@ public:
// IDBCallbacks
virtual void onError(PassRefPtr<IDBDatabaseError>);
virtual void onSuccess(); // For "null".
- virtual void onSuccess(PassRefPtr<IDBDatabase>);
+ virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBIndexBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBKey>);
virtual void onSuccess(PassRefPtr<IDBObjectStore>);
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index db76b8e..58ba27d 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,27 @@
+2010-07-30 Andrei Popescu <andreip at dhcp-172-16-14-12.lon.corp.google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Rename IDBDatabaseRequest to IDBDatabase
+ https://bugs.webkit.org/show_bug.cgi?id=43250
+
+ * src/IDBCallbacksProxy.cpp:
+ (WebCore::IDBCallbacksProxy::onSuccess):
+ * src/IDBCallbacksProxy.h:
+ * src/IDBDatabaseProxy.cpp:
+ (WebCore::IDBDatabaseProxy::create):
+ * src/IDBDatabaseProxy.h:
+ * src/WebIDBDatabaseImpl.cpp:
+ (WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl):
+ (WebKit::WebIDBDatabaseImpl::name):
+ (WebKit::WebIDBDatabaseImpl::description):
+ (WebKit::WebIDBDatabaseImpl::version):
+ (WebKit::WebIDBDatabaseImpl::objectStores):
+ (WebKit::WebIDBDatabaseImpl::createObjectStore):
+ (WebKit::WebIDBDatabaseImpl::objectStore):
+ (WebKit::WebIDBDatabaseImpl::removeObjectStore):
+ * src/WebIDBDatabaseImpl.h:
+
2010-08-02 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Yury Semikhatsky.
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.cpp b/WebKit/chromium/src/IDBCallbacksProxy.cpp
index 4489e9b..a8d10c6 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<IDBDatabase> idbDatabase)
+void IDBCallbacksProxy::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> idbDatabaseBackend)
{
- m_callbacks->onSuccess(new WebKit::WebIDBDatabaseImpl(idbDatabase));
+ m_callbacks->onSuccess(new WebKit::WebIDBDatabaseImpl(idbDatabaseBackend));
m_callbacks.clear();
}
diff --git a/WebKit/chromium/src/IDBCallbacksProxy.h b/WebKit/chromium/src/IDBCallbacksProxy.h
index 10fc31a..a31f7af 100644
--- a/WebKit/chromium/src/IDBCallbacksProxy.h
+++ b/WebKit/chromium/src/IDBCallbacksProxy.h
@@ -49,7 +49,7 @@ public:
virtual void onError(PassRefPtr<IDBDatabaseError>);
virtual void onSuccess(); // For "null".
- virtual void onSuccess(PassRefPtr<IDBDatabase>);
+ virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBIndexBackendInterface>);
virtual void onSuccess(PassRefPtr<IDBKey>);
virtual void onSuccess(PassRefPtr<IDBObjectStore>);
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.cpp b/WebKit/chromium/src/IDBDatabaseProxy.cpp
index 9d009c0..aa3b562 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.cpp
+++ b/WebKit/chromium/src/IDBDatabaseProxy.cpp
@@ -39,7 +39,7 @@
namespace WebCore {
-PassRefPtr<IDBDatabase> IDBDatabaseProxy::create(PassOwnPtr<WebKit::WebIDBDatabase> database)
+PassRefPtr<IDBDatabaseBackendInterface> IDBDatabaseProxy::create(PassOwnPtr<WebKit::WebIDBDatabase> database)
{
return adoptRef(new IDBDatabaseProxy(database));
}
diff --git a/WebKit/chromium/src/IDBDatabaseProxy.h b/WebKit/chromium/src/IDBDatabaseProxy.h
index 36588f0..b9e4ad6 100644
--- a/WebKit/chromium/src/IDBDatabaseProxy.h
+++ b/WebKit/chromium/src/IDBDatabaseProxy.h
@@ -26,7 +26,7 @@
#ifndef IDBDatabaseProxy_h
#define IDBDatabaseProxy_h
-#include "IDBDatabase.h"
+#include "IDBDatabaseBackendInterface.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -37,9 +37,9 @@ namespace WebKit { class WebIDBDatabase; }
namespace WebCore {
-class IDBDatabaseProxy : public IDBDatabase {
+class IDBDatabaseProxy : public IDBDatabaseBackendInterface {
public:
- static PassRefPtr<IDBDatabase> create(PassOwnPtr<WebKit::WebIDBDatabase>);
+ static PassRefPtr<IDBDatabaseBackendInterface> create(PassOwnPtr<WebKit::WebIDBDatabase>);
virtual ~IDBDatabaseProxy();
virtual String name() const;
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
index e2f771a..742bfa0 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.cpp
@@ -28,7 +28,7 @@
#include "DOMStringList.h"
#include "IDBCallbacksProxy.h"
-#include "IDBDatabase.h"
+#include "IDBDatabaseBackendInterface.h"
#include "WebIDBCallbacks.h"
#include "WebIDBObjectStoreImpl.h"
@@ -38,8 +38,8 @@ using namespace WebCore;
namespace WebKit {
-WebIDBDatabaseImpl::WebIDBDatabaseImpl(PassRefPtr<IDBDatabase> database)
- : m_database(database)
+WebIDBDatabaseImpl::WebIDBDatabaseImpl(PassRefPtr<IDBDatabaseBackendInterface> databaseBackend)
+ : m_databaseBackend(databaseBackend)
{
}
@@ -49,32 +49,32 @@ WebIDBDatabaseImpl::~WebIDBDatabaseImpl()
WebString WebIDBDatabaseImpl::name() const
{
- return m_database->name();
+ return m_databaseBackend->name();
}
WebString WebIDBDatabaseImpl::description() const
{
- return m_database->description();
+ return m_databaseBackend->description();
}
WebString WebIDBDatabaseImpl::version() const
{
- return m_database->version();
+ return m_databaseBackend->version();
}
WebDOMStringList WebIDBDatabaseImpl::objectStores() const
{
- return m_database->objectStores();
+ return m_databaseBackend->objectStores();
}
void WebIDBDatabaseImpl::createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, WebIDBCallbacks* callbacks)
{
- m_database->createObjectStore(name, keyPath, autoIncrement, IDBCallbacksProxy::create(callbacks));
+ m_databaseBackend->createObjectStore(name, keyPath, autoIncrement, IDBCallbacksProxy::create(callbacks));
}
WebIDBObjectStore* WebIDBDatabaseImpl::objectStore(const WebString& name, unsigned short mode)
{
- RefPtr<IDBObjectStore> objectStore = m_database->objectStore(name, mode);
+ RefPtr<IDBObjectStore> objectStore = m_databaseBackend->objectStore(name, mode);
if (!objectStore)
return 0;
return new WebIDBObjectStoreImpl(objectStore);
@@ -82,7 +82,7 @@ WebIDBObjectStore* WebIDBDatabaseImpl::objectStore(const WebString& name, unsign
void WebIDBDatabaseImpl::removeObjectStore(const WebString& name, WebIDBCallbacks* callbacks)
{
- m_database->removeObjectStore(name, IDBCallbacksProxy::create(callbacks));
+ m_databaseBackend->removeObjectStore(name, IDBCallbacksProxy::create(callbacks));
}
} // namespace WebCore
diff --git a/WebKit/chromium/src/WebIDBDatabaseImpl.h b/WebKit/chromium/src/WebIDBDatabaseImpl.h
index c83d8d7..46a6609 100644
--- a/WebKit/chromium/src/WebIDBDatabaseImpl.h
+++ b/WebKit/chromium/src/WebIDBDatabaseImpl.h
@@ -31,7 +31,7 @@
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
-namespace WebCore { class IDBDatabase; }
+namespace WebCore { class IDBDatabaseBackendInterface; }
namespace WebKit {
@@ -40,7 +40,7 @@ class WebIDBObjectStore;
// See comment in WebIndexedDatabase for a high level overview these classes.
class WebIDBDatabaseImpl : public WebIDBDatabase {
public:
- WebIDBDatabaseImpl(WTF::PassRefPtr<WebCore::IDBDatabase> database);
+ WebIDBDatabaseImpl(WTF::PassRefPtr<WebCore::IDBDatabaseBackendInterface>);
virtual ~WebIDBDatabaseImpl();
virtual WebString name() const;
@@ -53,7 +53,7 @@ public:
virtual void removeObjectStore(const WebString& name, WebIDBCallbacks* callbacks);
private:
- WTF::RefPtr<WebCore::IDBDatabase> m_database;
+ WTF::RefPtr<WebCore::IDBDatabaseBackendInterface> m_databaseBackend;
};
} // namespace WebKit
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list