base::WrapUnique and base::MakeUnique can both be used to construct a variable and assign it to a std::unique_ptr. There is general consensus that MakeUnique is better in most cases. See https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/iQgMedVA8-k for discussion.
In most cases, calls to WrapUnique can be mechanically converted to calls to MakeUnique.
Exceptions are where the method calling the constructor has special visibility privileges, usually because they are the same class, but sometimes because of nested classes or explicit friend statements. MakeUnique doesn't work here, and WrapUnique is preferable.
There are some cases where WrapUnique is used to put an existing pointer in a unique_ptr. These are not candidates for automatic conversion.
Comment 1 by bugdroid1@chromium.org
, Aug 18 2016