Fix IndexedDB build with JSC
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Mar 2012 05:38:59 +0000 (05:38 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 13 Mar 2012 05:38:59 +0000 (05:38 +0000)
commit9913e3c0a0a0beba551bdc37e4e6f00b28362cfc
tree7c18fd96d44461ab9628fa836fd419947e42c7c8
parent9c9902b3464a9e7a3bc7486377639be78b9e8840
Fix IndexedDB build with JSC
https://bugs.webkit.org/show_bug.cgi?id=80207

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-03-12
Reviewed by Adam Barth.

This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
empty implementation, it compiles but IndexedDB is not working.

* DerivedSources.make: Added missing IDL files.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
(WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
* Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
(WebCore::IDBFactoryBackendImpl::openBackingStore):
* Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
(WebCore::IDBIndexBackendImpl::countInternal):
* Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
an empty implementation.
(WebCore):
(WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
(WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
(WebCore::IDBObjectStoreBackendImpl::countInternal):
* Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
(WebCore::transactions):
* Modules/indexeddb/IDBRequest.cpp: ditto.
(WebCore::IDBRequest::resetReadyState):
* Modules/indexeddb/IDBRequest.h: ditto.
(WebCore::IDBRequest::onSuccessWithPrefetch):
(WebCore):
(WebCore::JSIDBVersionChangeRequest::visitChildren):
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
(WebCore::createOptionsObjectFromValue): Add an empty implementation of
the handling of database options (IDBObjectStoreParameters).
(WebCore):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS): Add the missing IDBAny's types.
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS): Add the missing IDBKey's types.
* bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
IDBVersionChangeRequest has the attribute EventTarget so it requires
the visitChildren() function. An empty implementation was added.
* bindings/js/OptionsObject.h: Add an empty implementation.
(WebCore):
(OptionsObject):
(WebCore::OptionsObject::OptionsObject):
(WebCore::OptionsObject::isObject):
(WebCore::OptionsObject::isUndefinedOrNull):
(WebCore::OptionsObject::get):
(WebCore::OptionsObject::getWithUndefinedOrNullCheck):
* bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
(WebCore):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::toWireString):
(WebCore::SerializedScriptValue::createFromWire):
(WebCore::SerializedScriptValue::numberValue):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/SerializedScriptValue.h:
(SerializedScriptValue):
* bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
-Support the IDBKey type correctly.
-Support the OptionsObject type.
-Generate valid function call for static functions.
(GenerateImplementationFunctionCall):
(JSValueToNative):
(NativeToJSValue):
* inspector/InspectorIndexedDBAgent.cpp:
(WebCore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@110539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
22 files changed:
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.make
Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h
Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp
Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp
Source/WebCore/Modules/indexeddb/IDBIndexBackendImpl.cpp
Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.cpp
Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp
Source/WebCore/Modules/indexeddb/IDBPendingTransactionMonitor.cpp
Source/WebCore/Modules/indexeddb/IDBRequest.cpp
Source/WebCore/Modules/indexeddb/IDBRequest.h
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/js/IDBBindingUtilities.cpp
Source/WebCore/bindings/js/IDBBindingUtilities.h
Source/WebCore/bindings/js/JSIDBAnyCustom.cpp
Source/WebCore/bindings/js/JSIDBKeyCustom.cpp
Source/WebCore/bindings/js/JSIDBVersionChangeRequestCustom.cpp [new file with mode: 0644]
Source/WebCore/bindings/js/OptionsObject.h
Source/WebCore/bindings/js/SerializedScriptValue.cpp
Source/WebCore/bindings/js/SerializedScriptValue.h
Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
Source/WebCore/inspector/InspectorIndexedDBAgent.cpp