Bug 124183

Summary: Make IDBTransaction tasks asynchronous
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebCore Misc.Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, commit-queue, eflews.bot, gyuyoung.kim, jsbell, philn, xan.lopez
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch v1
thorton: review+, eflews.bot: commit-queue-
Patch v2 - Whoops on the <Functional> none

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