[Webkit-unassigned] [Bug 158391] Do everything necessary to make IDBConnectionToServer::putOrAdd pass it's key by rvalue

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 6 19:49:13 PDT 2016


https://bugs.webkit.org/show_bug.cgi?id=158391

Brady Eidson <beidson at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #1 from Brady Eidson <beidson at apple.com> ---
(In reply to comment #0)
> Do everything necessary to make IDBConnectionToServer::putOrAdd pass it's
> key by rvalue
> 
> This is a spinoff from https://bugs.webkit.org/show_bug.cgi?id=158124
> 
> It seems simple to do this, but it opens a can of worms making templated
> objects and lambdas handle it.
> 
> But we should still do it.

Actually... this is unlikely to be possible: The can of worms that opens is once that IDBKeyData rvalue hits CrossThreadCopier/CrossThreadTask.

But when an object hits those, we *have* to make an isolatedCopy.

So whether we WTFMove the IDBKeyData&& all the way along the chain, or just pass it by const IDBKeyData& all the way along the chain, we get no benefit - We have to make an isolatedCopy in the end.

That said, while exploring this I came up with some great enhancements to CrossThreadTask.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160607/76d5496f/attachment.html>


More information about the webkit-unassigned mailing list