makeUnique requires that the object being allocated contains the type'webkitFastMalloced' added by the macro `WTF_MAKE_FAST_ALLOCATED` and others. When dealing with system frameworks or 3rd party libraries it is not always possible to use makeUnique to allocate an object, and only std::make_unique<T> will do. Yet, the style checker will give you a red-tick with errors like: `Use 'WTF::makeUnique<AudioFormatVorbisModeInfo>' instead of 'std::make_unique<AudioFormatVorbisModeInfo>'. [runtime/wtf_make_unique] [4]` I created bug 261033 for having makeUnique deals with all objects, however, one could argue that if makeUnique worked with all objects, it would give no advantages over std::make_unique.
<rdar://problem/115916181>
looks like we have to use makeUniqueWithoutFastMallocCheck