[Webkit-unassigned] [Bug 173266] Objects owning API clients should use UniqueRef

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 13 22:24:00 PDT 2017


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

--- Comment #10 from Carlos Garcia Campos <cgarcia at igalia.com> ---
(In reply to Alex Christensen from comment #8)
> I think it's better to use UniqueRef and to use makeUniqueRef to make them. 
> If you can't go to the source of these std::unique_ptrs and replace them
> with makeUniqueRef, let's leave them as std::unique_ptrs for now.

The problem is not the source of the unique_ptrs, but the setters. This is what we do:

void setClient(std::unique_ptr<Client> client)
{
    if (!client)
        m_client = std::make_unique<Client>();
    else
        m_client = WTFMove(client);
}

There's no problem in using makeUniqueRef there, the problem is that the setter can't receive a null client if we use UniqueRef as the parameter. I guess we can still do this, keeping the unique_ptr as the parameter and leaking it to adopt it by the UniqueRef. I added the UniqueRef just for convenience.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170614/b1caec9d/attachment-0001.html>


More information about the webkit-unassigned mailing list