PassOwnPtr<CrossThreadResourceResponseData> ResourceResponse::copyData() const { OwnPtr<CrossThreadResourceResponseData> data = adoptPtr(new CrossThreadResourceResponseData); data->m_url = url().copy(); data->m_mimeType = mimeType().string().isolatedCopy(); data->m_expectedContentLength = expectedContentLength(); data->m_textEncodingName = textEncodingName().string().isolatedCopy(); data->m_suggestedFilename = suggestedFilename().isolatedCopy(); data->m_httpStatusCode = httpStatusCode(); data->m_httpStatusText = httpStatusText().string().isolatedCopy(); data->m_httpHeaders = httpHeaderFields().copyData(); data->m_lastModifiedDate = lastModifiedDate(); if (m_resourceLoadTiming) data->m_resourceLoadTiming = m_resourceLoadTiming->deepCopy(); data->m_securityInfo = CString(m_securityInfo.data(), m_securityInfo.length()); data->m_httpVersion = m_httpVersion; data->m_appCacheID = m_appCacheID; data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); data->m_isMultipartPayload = m_isMultipartPayload; data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; data->m_wasNpnNegotiated = m_wasNpnNegotiated; data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; data->m_responseTime = m_responseTime; data->m_remoteIPAddress = m_remoteIPAddress.string().isolatedCopy(); data->m_remotePort = m_remotePort; // Bug https://bugs.webkit.org/show_bug.cgi?id=60397 this doesn't support m_downloadedFile, // or whatever values may be present in the opaque m_extraData structure. return data.release(); }
PassOwnPtr<CrossThreadResourceResponseData> ResourceResponseBase::copyData() const { OwnPtr<CrossThreadResourceResponseData> data = adoptPtr(new CrossThreadResourceResponseData); data->m_url = url().copy(); data->m_mimeType = mimeType().isolatedCopy(); data->m_expectedContentLength = expectedContentLength(); data->m_textEncodingName = textEncodingName().isolatedCopy(); data->m_suggestedFilename = suggestedFilename().isolatedCopy(); data->m_httpStatusCode = httpStatusCode(); data->m_httpStatusText = httpStatusText().isolatedCopy(); data->m_httpHeaders = httpHeaderFields().copyData(); data->m_resourceLoadTiming = m_resourceLoadTiming; return asResourceResponse().doPlatformCopyData(data.release()); }
PassOwnPtr<CrossThreadResourceResponseData> ResourceResponse::copyData() const { OwnPtr<CrossThreadResourceResponseData> data = adoptPtr(new CrossThreadResourceResponseData); data->m_url = url().copy(); data->m_mimeType = mimeType().string().isolatedCopy(); data->m_expectedContentLength = expectedContentLength(); data->m_textEncodingName = textEncodingName().string().isolatedCopy(); data->m_suggestedFilename = suggestedFilename().isolatedCopy(); data->m_httpStatusCode = httpStatusCode(); data->m_httpStatusText = httpStatusText().string().isolatedCopy(); data->m_httpHeaders = httpHeaderFields().copyData(); data->m_lastModifiedDate = lastModifiedDate(); if (m_resourceLoadTiming) data->m_resourceLoadTiming = m_resourceLoadTiming->deepCopy(); data->m_securityInfo = CString(m_securityInfo.data(), m_securityInfo.length()); data->m_hasMajorCertificateErrors = m_hasMajorCertificateErrors; data->m_securityStyle = m_securityStyle; data->m_securityDetails.protocol = m_securityDetails.protocol.isolatedCopy(); data->m_securityDetails.cipher = m_securityDetails.cipher.isolatedCopy(); data->m_securityDetails.keyExchange = m_securityDetails.keyExchange.isolatedCopy(); data->m_securityDetails.mac = m_securityDetails.mac.isolatedCopy(); data->m_securityDetails.certID = m_securityDetails.certID; data->m_httpVersion = m_httpVersion; data->m_appCacheID = m_appCacheID; data->m_appCacheManifestURL = m_appCacheManifestURL.copy(); data->m_isMultipartPayload = m_isMultipartPayload; data->m_wasFetchedViaSPDY = m_wasFetchedViaSPDY; data->m_wasNpnNegotiated = m_wasNpnNegotiated; data->m_wasAlternateProtocolAvailable = m_wasAlternateProtocolAvailable; data->m_wasFetchedViaProxy = m_wasFetchedViaProxy; data->m_wasFetchedViaServiceWorker = m_wasFetchedViaServiceWorker; data->m_wasFallbackRequiredByServiceWorker = m_wasFallbackRequiredByServiceWorker; data->m_serviceWorkerResponseType = m_serviceWorkerResponseType; data->m_originalURLViaServiceWorker = m_originalURLViaServiceWorker.copy(); data->m_responseTime = m_responseTime; data->m_remoteIPAddress = m_remoteIPAddress.string().isolatedCopy(); data->m_remotePort = m_remotePort; data->m_downloadedFilePath = m_downloadedFilePath.isolatedCopy(); data->m_downloadedFileHandle = m_downloadedFileHandle; // Bug https://bugs.webkit.org/show_bug.cgi?id=60397 this doesn't support // whatever values may be present in the opaque m_extraData structure. return data.release(); }
SoupMessage* ResourceResponse::toSoupMessage() const { // This GET here is just because SoupMessage wants it, we dn't really know. SoupMessage* soupMessage = soup_message_new("GET", url().string().utf8().data()); if (!soupMessage) return 0; soupMessage->status_code = httpStatusCode(); HTTPHeaderMap headers = httpHeaderFields(); SoupMessageHeaders* soupHeaders = soupMessage->response_headers; if (!headers.isEmpty()) { HTTPHeaderMap::const_iterator end = headers.end(); for (HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it) soup_message_headers_append(soupHeaders, it->first.string().utf8().data(), it->second.utf8().data()); } // Body data is not in the message. return soupMessage; }
SoupMessage* ResourceResponse::toSoupMessage() const { // This GET here is just because SoupMessage wants it, we dn't really know. SoupMessage* soupMessage = soup_message_new("GET", url().string().utf8().data()); if (!soupMessage) return 0; soupMessage->status_code = httpStatusCode(); const HTTPHeaderMap& headers = httpHeaderFields(); SoupMessageHeaders* soupHeaders = soupMessage->response_headers; if (!headers.isEmpty()) { HTTPHeaderMap::const_iterator end = headers.end(); for (HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it) soup_message_headers_append(soupHeaders, it->key.string().utf8().data(), it->value.utf8().data()); } soup_message_set_flags(soupMessage, m_soupFlags); g_object_set(G_OBJECT(soupMessage), "tls-certificate", m_certificate.get(), "tls-errors", m_tlsErrors, NULL); // Body data is not in the message. return soupMessage; }