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(); }