Bug 156810 - Modern IDB (Workers): Introduce "IDBConnectionProxy" for future threading abstraction, and adopt it in IDBFactory
Summary: Modern IDB (Workers): Introduce "IDBConnectionProxy" for future threading abs...
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Brady Eidson
Depends on:
Blocks: 149117 149953
  Show dependency treegraph
Reported: 2016-04-20 14:47 PDT by Brady Eidson
Modified: 2016-04-20 16:46 PDT (History)
1 user (show)

See Also:

Patch v1 (39.47 KB, patch)
2016-04-20 15:06 PDT, Brady Eidson
achristensen: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brady Eidson 2016-04-20 14:47:26 PDT
Modern IDB (Workers): Introduce "IDBConnectionProxy" for future threading abstraction

You can get to your IDBConnectionProxy from your ScriptExecutionContext, which will work on both main and worker threads.

IDBConnectionProxy will hold on to the IDBConnectionToServer, which will remain a main-thread-only construct.

Slowly, IDB* objects getting to their IDBConnectionProxy will replace them holding on to an IDBConnectionToServer directly.
Comment 1 Brady Eidson 2016-04-20 14:48:55 PDT
While I'm touching IDBFactory, I'm going to modernize it a bit by replacing ExceptionCode with ExceptionCodeWithMessage.
Comment 2 Brady Eidson 2016-04-20 15:06:37 PDT
Created attachment 276856 [details]
Patch v1
Comment 3 Brady Eidson 2016-04-20 15:33:03 PDT
Seems to have recked havoc on mac-wk2 tests (of course everything works great locally *sigh*)

Will fix before landing.
Comment 4 Brady Eidson 2016-04-20 16:40:40 PDT
NM! Things are fine. Yay.
Comment 5 Brady Eidson 2016-04-20 16:46:23 PDT