2010-05-14 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Finish up IndexedDB events
https://bugs.webkit.org/show_bug.cgi?id=39117
Add the beginnings of a test for IndexedDB. It currently fails, but we'll
update this (and/or add other tests) as things start passing.
Disable it on all !Chromium platforms since none of them compile it
in. (Note that Chromium keeps it behind a runtime flag at the moment,
despite compiling it in...so don't worry.)
This also makes evalAndLog return the result of the evaluation. I think
this was just an oversight when I originally added it, and it's going to
come in useful for these tests.
* fast/js/resources/js-test-pre.js:
(evalAndLog):
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-tiger/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* storage/indexeddb/basics-expected.txt: Added.
* storage/indexeddb/basics.html: Added.
* storage/indexeddb/script-tests/TEMPLATE.html: Copied from LayoutTests/storage/domstorage/script-tests/TEMPLATE.html.
* storage/indexeddb/script-tests/basics.js: Added.
(eventShared):
(successFunction):
(errorFunction):
(test):
2010-05-14 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Finish up IndexedDB events
https://bugs.webkit.org/show_bug.cgi?id=39117
Implement the indexed database event interfaces as proposed by Mozilla.
Refactor the run time type detection code that was in IDBRequest into its own
class named IDBAny. Use this new class within the new event classes and
IDBResults.
Test: storage/indexeddb/basics.html
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventCustom.cpp:
(WebCore::toJS):
* bindings/js/JSEventTarget.cpp:
(WebCore::toJS):
* bindings/js/JSIDBAnyCustom.cpp: Added.
(WebCore::toJS):
* bindings/js/JSIDBRequestCustom.cpp: Removed.
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
(WebCore::toV8):
* bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
* dom/Event.cpp:
(WebCore::Event::isIDBErrorEvent):
(WebCore::Event::isIDBSuccessEvent):
* dom/Event.h:
* storage/IDBAny.cpp: Added.
(WebCore::IDBAny::create):
(WebCore::IDBAny::IDBAny):
(WebCore::IDBAny::~IDBAny):
(WebCore::IDBAny::idbDatabaseRequest):
(WebCore::IDBAny::indexedDatabaseRequest):
(WebCore::IDBAny::serializedScriptValue):
(WebCore::IDBAny::set):
* storage/IDBAny.h: Added.
(WebCore::IDBAny::):
(WebCore::IDBAny::type):
* storage/IDBAny.idl: Added.
* storage/IDBErrorEvent.cpp: Added.
(WebCore::IDBErrorEvent::create):
(WebCore::IDBErrorEvent::IDBErrorEvent):
(WebCore::IDBErrorEvent::~IDBErrorEvent):
* storage/IDBErrorEvent.h: Added.
(WebCore::IDBErrorEvent::code):
(WebCore::IDBErrorEvent::message):
(WebCore::IDBErrorEvent::isIDBErrorEvent):
* storage/IDBErrorEvent.idl: Added.
* storage/IDBEvent.cpp: Added.
(WebCore::IDBEvent::IDBEvent):
(WebCore::IDBEvent::~IDBEvent):
(WebCore::IDBEvent::source):
* storage/IDBEvent.h: Added.
* storage/IDBEvent.idl: Added.
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::timerFired):
(WebCore::IDBRequest::onEventCommon):
* storage/IDBRequest.h:
(WebCore::IDBRequest::create):
(WebCore::IDBRequest::result):
* storage/IDBRequest.idl:
* storage/IDBSuccessEvent.cpp: Added.
(WebCore::IDBSuccessEvent::create):
(WebCore::IDBSuccessEvent::IDBSuccessEvent):
(WebCore::IDBSuccessEvent::~IDBSuccessEvent):
(WebCore::IDBSuccessEvent::result):
* storage/IDBSuccessEvent.h: Added.
(WebCore::IDBSuccessEvent::isIDBSuccessEvent):
* storage/IDBSuccessEvent.idl: Added.
* storage/IndexedDatabaseImpl.cpp:
(WebCore::IndexedDatabaseImpl::open):
* storage/IndexedDatabaseRequest.cpp:
(WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
(WebCore::IndexedDatabaseRequest::open):
* storage/IndexedDatabaseRequest.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/DerivedSources.cpp b/WebCore/DerivedSources.cpp
index a47007c..38f9e10 100644
--- a/WebCore/DerivedSources.cpp
+++ b/WebCore/DerivedSources.cpp
@@ -166,10 +166,14 @@
#include "JSHTMLTitleElement.cpp"
#include "JSHTMLUListElement.cpp"
#include "JSHTMLVideoElement.cpp"
+#include "JSIDBAny.cpp"
#include "JSIDBDatabaseError.cpp"
#include "JSIDBDatabaseException.cpp"
#include "JSIDBDatabaseRequest.cpp"
+#include "JSIDBErrorEvent.cpp"
+#include "JSIDBEvent.cpp"
#include "JSIDBRequest.cpp"
+#include "JSIDBSuccessEvent.cpp"
#include "JSImageData.cpp"
#include "JSIndexedDatabaseRequest.cpp"
#include "JSJavaScriptCallFrame.cpp"