static RefPtr<API::Data> createData(const IPC::DataReference& data) { if (data.isEmpty()) return 0; return API::Data::create(data.data(), data.size()); }
bool decode(ArgumentDecoder& decoder, RetainPtr<CFURLRef>& result) { RetainPtr<CFURLRef> baseURL; bool hasBaseURL; if (!decoder.decode(hasBaseURL)) return false; if (hasBaseURL) { if (!decode(decoder, baseURL)) return false; } IPC::DataReference urlBytes; if (!decoder.decode(urlBytes)) return false; #if USE(FOUNDATION) // FIXME: Move this to ArgumentCodersCFMac.mm and change this file back to be C++ // instead of Objective-C++. if (urlBytes.isEmpty()) { // CFURL can't hold an empty URL, unlike NSURL. // FIXME: This discards base URL, which seems incorrect. result = reinterpret_cast<CFURLRef>([NSURL URLWithString:@""]); return true; }