X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=blobdiff_plain;f=WebCore%2Fplatform%2Fnetwork%2Fcf%2FResourceRequestCFNet.cpp;h=b317f8e00cc274c9ab402db48e64ffde5380f5fe;hp=44d3c435081a9b95415837b370eda1a42bbe3399;hb=93dfe141d89924fb3b97eae42be168ac63aa3a03;hpb=ad12ee614382a4882ba40b16f548bf016676dd45 diff --git a/WebCore/platform/network/cf/ResourceRequestCFNet.cpp b/WebCore/platform/network/cf/ResourceRequestCFNet.cpp index 44d3c435081a..b317f8e00cc2 100644 --- a/WebCore/platform/network/cf/ResourceRequestCFNet.cpp +++ b/WebCore/platform/network/cf/ResourceRequestCFNet.cpp @@ -57,10 +57,17 @@ static inline void addHeadersFromHashMap(CFMutableURLRequestRef request, const H void ResourceRequest::doUpdatePlatformRequest() { + CFMutableURLRequestRef cfRequest; + RetainPtr url(AdoptCF, ResourceRequest::url().createCFURL()); RetainPtr mainDocumentURL(AdoptCF, ResourceRequest::mainDocumentURL().createCFURL()); - - CFMutableURLRequestRef cfRequest = CFURLRequestCreateMutable(0, url.get(), (CFURLRequestCachePolicy)cachePolicy(), timeoutInterval(), mainDocumentURL.get()); + if (m_cfRequest) { + cfRequest = CFURLRequestCreateMutableCopy(0, m_cfRequest.get()); + CFURLRequestSetURL(cfRequest, url.get()); + CFURLRequestSetMainDocumentURL(cfRequest, mainDocumentURL.get()); + } else { + cfRequest = CFURLRequestCreateMutable(0, url.get(), (CFURLRequestCachePolicy)cachePolicy(), timeoutInterval(), mainDocumentURL.get()); + } RetainPtr requestMethod(AdoptCF, httpMethod().createCFString()); CFURLRequestSetHTTPRequestMethod(cfRequest, requestMethod.get()); @@ -70,11 +77,7 @@ void ResourceRequest::doUpdatePlatformRequest() CFURLRequestSetShouldHandleHTTPCookies(cfRequest, allowHTTPCookies()); if (m_cfRequest) { -#ifdef CFNETWORK_HAS_NEW_COOKIE_FUNCTIONS - RetainPtr cookieStorage(AdoptCF, CFURLRequestCopyHTTPCookieStorage(m_cfRequest.get())); - CFURLRequestSetHTTPCookieStorage(cfRequest, cookieStorage.get()); CFURLRequestSetHTTPCookieStorageAcceptPolicy(cfRequest, CFURLRequestGetHTTPCookieStorageAcceptPolicy(m_cfRequest.get())); -#endif CFURLRequestSetSSLProperties(cfRequest, CFURLRequestGetSSLProperties(m_cfRequest.get())); }