CFURLRequestRef cfURLRequest(const ResourceRequest& request) { CFURLRef url = request.url().createCFURL(); CFURLRef mainDocumentURL = request.mainDocumentURL().createCFURL(); CFMutableURLRequestRef cfRequest = CFURLRequestCreateMutable(0, url, (CFURLRequestCachePolicy)request.cachePolicy(), request.timeoutInterval(), mainDocumentURL); CFRelease(url); CFRelease(mainDocumentURL); CFStringRef requestMethod = request.httpMethod().createCFString(); CFURLRequestSetHTTPRequestMethod(cfRequest, requestMethod); CFRelease(requestMethod); addHeadersFromHashMap(cfRequest, request.httpHeaderFields()); setHTTPBody(cfRequest, request.httpBody()); CFURLRequestSetShouldHandleHTTPCookies(cfRequest, request.allowHTTPCookies()); return cfRequest; }
ResourceRequest::ResourceRequest(CrossThreadResourceRequestData* data) : ResourceRequest() { setURL(data->m_url); setCachePolicy(data->m_cachePolicy); setTimeoutInterval(data->m_timeoutInterval); setFirstPartyForCookies(data->m_firstPartyForCookies); setRequestorOrigin(data->m_requestorOrigin); setHTTPMethod(AtomicString(data->m_httpMethod)); setPriority(data->m_priority, data->m_intraPriorityValue); m_httpHeaderFields.adopt(data->m_httpHeaders.release()); setHTTPBody(data->m_httpBody); setAllowStoredCredentials(data->m_allowStoredCredentials); setReportUploadProgress(data->m_reportUploadProgress); setHasUserGesture(data->m_hasUserGesture); setDownloadToFile(data->m_downloadToFile); setUseStreamOnResponse(data->m_useStreamOnResponse); setSkipServiceWorker(data->m_skipServiceWorker); setShouldResetAppCache(data->m_shouldResetAppCache); setRequestorID(data->m_requestorID); setRequestorProcessID(data->m_requestorProcessID); setAppCacheHostID(data->m_appCacheHostID); setRequestContext(data->m_requestContext); setFrameType(data->m_frameType); setFetchRequestMode(data->m_fetchRequestMode); setFetchCredentialsMode(data->m_fetchCredentialsMode); setFetchRedirectMode(data->m_fetchRedirectMode); setLoFiState(data->m_loFiState); m_referrerPolicy = data->m_referrerPolicy; m_didSetHTTPReferrer = data->m_didSetHTTPReferrer; m_checkForBrowserSideNavigation = data->m_checkForBrowserSideNavigation; m_uiStartTime = data->m_uiStartTime; m_isExternalRequest = data->m_isExternalRequest; m_inputPerfMetricReportPolicy = data->m_inputPerfMetricReportPolicy; m_followedRedirect = data->m_followedRedirect; }