Bug 124183 - Make IDBTransaction tasks asynchronous
Summary: Make IDBTransaction tasks asynchronous
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Brady Eidson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-11 21:33 PST by Brady Eidson
Modified: 2013-11-11 22:35 PST (History)
7 users (show)

See Also:


Attachments
Patch v1 (38.73 KB, patch)
2013-11-11 21:51 PST, Brady Eidson
thorton: review+
eflews.bot: commit-queue-
Details | Formatted Diff | Diff
Patch v2 - Whoops on the <Functional> (38.72 KB, patch)
2013-11-11 22:11 PST, Brady Eidson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brady Eidson 2013-11-11 21:33:16 PST
Make IDBTransaction tasks asynchronous

This is almost zero change in behavior for now, but makes it much easier to continue fleshing out an asynchronous layer between the frontend/backend and the backing store.
Comment 1 Brady Eidson 2013-11-11 21:51:43 PST
Created attachment 216632 [details]
Patch v1
Comment 2 EFL EWS Bot 2013-11-11 21:56:33 PST
Comment on attachment 216632 [details]
Patch v1 

Attachment 216632 [details] did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/21249597
Comment 3 Tim Horton 2013-11-11 21:59:23 PST
Comment on attachment 216632 [details]
Patch v1 

View in context: https://bugs.webkit.org/attachment.cgi?id=216632&action=review

> Source/WebCore/Modules/indexeddb/IDBCursorBackend.cpp:44
> +class CallbackCaller {

I feel like there's a name for this.

> Source/WebCore/Modules/indexeddb/IDBOperation.h:29
> +#include <Functional>

capital F, really?

> Source/WebCore/Modules/indexeddb/IDBTransactionBackend.cpp:245
> +    // Take take a self reference to keep this object alive so that tasks can

Take take

> Source/WebCore/Modules/indexeddb/IDBTransactionBackend.cpp:254
> +        {

not sure if this belongs here or on the previous line.

> Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp:41
> +class CallbackCaller {

déjà vu?

> Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp:382
> +void IDBDatabaseBackend::VersionChangeOperation::perform(std::function<void()> completionCallback)

Wonder if your std::function deserves a typedef too.
Comment 4 Brady Eidson 2013-11-11 22:11:46 PST
Created attachment 216633 [details]
Patch v2 - Whoops on the <Functional>
Comment 5 Brady Eidson 2013-11-11 22:35:37 PST
http://trac.webkit.org/changeset/159095