void NetworkResourcesData::maybeAddResourceData(const String& requestId, const char* data, size_t dataLength) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; if (!resourceData->decoder()) return; if (resourceData->dataLength() + dataLength > m_maximumSingleResourceContentSize) m_contentSize -= resourceData->evictContent(); if (resourceData->isContentEvicted()) return; if (ensureFreeSpace(dataLength) && !resourceData->isContentEvicted()) { m_requestIdsDeque.append(requestId); resourceData->appendData(data, dataLength); m_contentSize += dataLength; } }
void NetworkResourcesData::setResourceContent(const String& requestId, const String& content, bool base64Encoded) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; size_t dataLength = contentSizeInBytes(content); if (dataLength > m_maximumSingleResourceContentSize) return; if (resourceData->isContentEvicted()) return; if (ensureFreeSpace(dataLength) && !resourceData->isContentEvicted()) { // We can not be sure that we didn't try to save this request data while it was loading, so remove it, if any. if (resourceData->hasContent() || resourceData->hasData()) m_contentSize -= resourceData->removeContent(); m_requestIdsDeque.append(requestId); resourceData->setContent(content, base64Encoded); m_contentSize += dataLength; } }
void NetworkResourcesData::setResourceContent(const String& requestId, const String& content) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (!resourceData) return; int dataLength = 2 * content.length(); if (dataLength > m_maximumSingleResourceContentSize) return; if (resourceData->isContentPurged()) return; if (ensureFreeSpace(dataLength) && !resourceData->isContentPurged()) { // We can not be sure that we didn't try to save this request data while it was loading, so remove it, if any. if (resourceData->hasContent()) m_contentSize -= resourceData->removeContent(); m_requestIdsDeque.append(requestId); resourceData->setContent(content); m_contentSize += dataLength; } }