Bug 156916

Summary: Modern IDB: Rework the ownership/RefCounting model of IDBConnectionToServer and IDBConnectionProxy
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebCore Misc.Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, cdumez, commit-queue, esprehn+autocc, jsbell, kangil.han
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 149117, 149953    
Attachments:
Description Flags
Patch v1 thorton: review+

Description Brady Eidson 2016-04-22 10:18:05 PDT
Modern IDB: Rework the ownership/RefCounting model of IDBConnectionToServer and IDBConnectionProxy

The ConnectionToServer should own its own ConnectionProxy, and ref()'ing the proxy should simply ref() the connection itself.
Comment 1 Brady Eidson 2016-04-22 10:20:56 PDT
Created attachment 277070 [details]
Patch v1
Comment 2 Tim Horton 2016-04-22 10:28:46 PDT
Comment on attachment 277070 [details]
Patch v1

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

> Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp:51
> +    m_proxy = std::make_unique<IDBConnectionProxy>(*this);

Can't you do this in the initializer list? I feel like e.g. WebPageProxy does.
Comment 3 Brady Eidson 2016-04-22 10:29:45 PDT
(In reply to comment #2)
> Comment on attachment 277070 [details]
> Patch v1
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=277070&action=review
> 
> > Source/WebCore/Modules/indexeddb/client/IDBConnectionToServer.cpp:51
> > +    m_proxy = std::make_unique<IDBConnectionProxy>(*this);
> 
> Can't you do this in the initializer list? I feel like e.g. WebPageProxy
> does.

Yah.
Comment 4 Brady Eidson 2016-04-22 11:04:41 PDT
Build breakage was due to missing an exported header from WebCore.

Fixed.

Also, had to reorder one clause in WK2 to make the identifier available at the time the connection is created.
Comment 5 Brady Eidson 2016-04-22 11:06:10 PDT
http://trac.webkit.org/changeset/199882