Add specialization for encoding/decoding WebCore::CertificateInfos in the Network Cache
Created attachment 284447 [details] Patch
<rdar://problem/27409315>
Comment on attachment 284447 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=284447&action=review r=me % nits. > Source/WebKit2/NetworkProcess/cache/NetworkCacheCoders.cpp:169 > + data = adoptCF(CFDataCreate(0, vector.data(), vector.size())); 0 -> nullptr > Source/WebKit2/NetworkProcess/cache/NetworkCacheCoders.cpp:200 > + if (!trustData) Looks like this could be an assertion instead? decodeCFData() would have returned value if trustData were null. > Source/WebKit2/NetworkProcess/cache/NetworkCacheCoders.cpp:225 > + RetainPtr<CFDataRef> data = adoptCF(SecCertificateCopyData((SecCertificateRef)values[i])); Could use auto > Source/WebKit2/NetworkProcess/cache/NetworkCacheCoders.cpp:236 > + RetainPtr<CFMutableArrayRef> array = adoptCF(CFArrayCreateMutable(0, 0, &kCFTypeArrayCallBacks)); could use auto. > Source/WebKit2/NetworkProcess/cache/NetworkCacheCoders.cpp:247 > + certificateChain = adoptCF(array.leakRef()); certificateChain = WTFMove(array); may be a bit nicer.
Created attachment 284452 [details] Patch
Created attachment 284454 [details] Patch
Fixed in https://trac.webkit.org/r203671.
Debug WK2 tests are exiting early after failing an assertion added with this change: ASSERT(CFGetTypeID(values[i]) != SecCertificateGetTypeID()); https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK2%20(Tests)/r203684%20(6840)/results.html
Fixed assertion in https://trac.webkit.org/r203692.