2011-02-03 Jeremy Orlow <jorlow@chromium.org>
authorjorlow@chromium.org <jorlow@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Feb 2011 19:50:24 +0000 (19:50 +0000)
committerjorlow@chromium.org <jorlow@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Feb 2011 19:50:24 +0000 (19:50 +0000)
commitdf87cdfdc0c34d461397e8885ada2851067d4e6a
treee958ef202ed3ea327f6fd4e367b9a27ae8453d2f
parent05e8c3d767f0c9d40096273fb4d81824d3659fb7
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
Source/WebCore/ChangeLog
Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
Source/WebCore/dom/EventQueue.cpp
Source/WebCore/storage/IDBCursor.cpp
Source/WebCore/storage/IDBRequest.cpp
Source/WebCore/storage/IDBRequest.h
Source/WebCore/storage/IDBTransaction.cpp
Source/WebCore/storage/IDBTransaction.h