void ResourceRequestBase::updateResourceRequest(HTTPBodyUpdatePolicy bodyPolicy) const { if (!m_resourceRequestUpdated) { ASSERT(m_platformRequestUpdated); const_cast<ResourceRequest&>(asResourceRequest()).doUpdateResourceRequest(); m_resourceRequestUpdated = true; } if (!m_resourceRequestBodyUpdated && bodyPolicy == UpdateHTTPBody) { ASSERT(m_platformRequestBodyUpdated); const_cast<ResourceRequest&>(asResourceRequest()).doUpdateResourceHTTPBody(); m_resourceRequestBodyUpdated = true; } }
void ResourceRequestBase::setAsIsolatedCopy(const ResourceRequest& other) { setURL(other.url().isolatedCopy()); setCachePolicy(other.cachePolicy()); setTimeoutInterval(other.timeoutInterval()); setFirstPartyForCookies(other.firstPartyForCookies().isolatedCopy()); setHTTPMethod(other.httpMethod().isolatedCopy()); setPriority(other.priority()); setRequester(other.requester()); updateResourceRequest(); m_httpHeaderFields = other.httpHeaderFields().isolatedCopy(); size_t encodingCount = other.m_responseContentDispositionEncodingFallbackArray.size(); if (encodingCount > 0) { String encoding1 = other.m_responseContentDispositionEncodingFallbackArray[0].isolatedCopy(); String encoding2; String encoding3; if (encodingCount > 1) { encoding2 = other.m_responseContentDispositionEncodingFallbackArray[1].isolatedCopy(); if (encodingCount > 2) encoding3 = other.m_responseContentDispositionEncodingFallbackArray[2].isolatedCopy(); } ASSERT(encodingCount <= 3); setResponseContentDispositionEncodingFallbackArray(encoding1, encoding2, encoding3); } if (other.m_httpBody) setHTTPBody(other.m_httpBody->isolatedCopy()); setAllowCookies(other.m_allowCookies); const_cast<ResourceRequest&>(asResourceRequest()).doPlatformSetAsIsolatedCopy(other); }
void ResourceRequestBase::updateResourceRequest() const { if (m_resourceRequestUpdated) return; const_cast<ResourceRequest&>(asResourceRequest()).doUpdateResourceRequest(); m_resourceRequestUpdated = true; }
void ResourceRequestBase::updatePlatformRequest() const { if (m_platformRequestUpdated) return; ASSERT(m_resourceRequestUpdated); const_cast<ResourceRequest&>(asResourceRequest()).doUpdatePlatformRequest(); m_platformRequestUpdated = true; }
PassOwnPtr<CrossThreadResourceRequestData> ResourceRequestBase::copyData() const { OwnPtr<CrossThreadResourceRequestData> data = adoptPtr(new CrossThreadResourceRequestData()); data->m_url = url().copy(); data->m_cachePolicy = cachePolicy(); data->m_timeoutInterval = timeoutInterval(); data->m_firstPartyForCookies = firstPartyForCookies().copy(); data->m_httpMethod = httpMethod().isolatedCopy(); data->m_httpHeaders = httpHeaderFields().copyData(); data->m_priority = priority(); data->m_responseContentDispositionEncodingFallbackArray.reserveInitialCapacity(m_responseContentDispositionEncodingFallbackArray.size()); size_t encodingArraySize = m_responseContentDispositionEncodingFallbackArray.size(); for (size_t index = 0; index < encodingArraySize; ++index) { data->m_responseContentDispositionEncodingFallbackArray.append(m_responseContentDispositionEncodingFallbackArray[index].isolatedCopy()); } if (m_httpBody) data->m_httpBody = m_httpBody->deepCopy(); data->m_allowCookies = m_allowCookies; return asResourceRequest().doPlatformCopyData(data.release()); }
ResourceRequest ResourceRequestBase::isolatedCopy() const { ResourceRequest request; request.setAsIsolatedCopy(asResourceRequest()); return request; }