2011-02-03 Jeremy Orlow <jorlow@chromium.org>
Reviewed by Nate Chapin.
Refactor IDBRequest and IDBTransaction a bit
https://bugs.webkit.org/show_bug.cgi?id=53565
There were a lot of subtle issues with the way IDBTransaction
and IDBRequest used to be written. This cleans a lot of them up
and largely simplifies the logic. Using EventQueue rather than
timers is one example of the simplification.
* bindings/scripts/CodeGeneratorV8.pm:
* dom/EventQueue.cpp:
(WebCore::EventQueue::enqueueEvent):
(WebCore::EventQueue::dispatchEvent):
* storage/IDBCursor.cpp:
(WebCore::IDBCursor::continueFunction):
* storage/IDBRequest.cpp:
(WebCore::IDBRequest::create):
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::onError):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::enqueueEvent):
(WebCore::IDBRequest::eventTargetData):
(WebCore::IDBRequest::ensureEventTargetData):
* storage/IDBRequest.h:
(WebCore::IDBRequest::dispatchEvent):
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):
(WebCore::IDBTransaction::onTimeout):
(WebCore::IDBTransaction::canSuspend):
(WebCore::IDBTransaction::stop):
(WebCore::IDBTransaction::enqueueEvent):
(WebCore::IDBTransaction::eventTargetData):
(WebCore::IDBTransaction::ensureEventTargetData):
* storage/IDBTransaction.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77650
268f45cc-cd09-0410-ab3c-
d52691b4dbfc