void NetworkResourcesData::ensureNoDataForRequestId(const String& requestId) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; if (resourceData->hasContent() || resourceData->hasData()) m_contentSize -= resourceData->evictContent(); delete resourceData; m_requestIdToResourceDataMap.remove(requestId); }
void NetworkResourcesData::ensureNoDataForRequestId(const String& requestId) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (resourceData) { if (resourceData->hasContent() || resourceData->hasData()) m_contentSize -= resourceData->purgeContent(); delete resourceData; m_requestIdToResourceDataMap.remove(requestId); } }
void NetworkResourcesData::maybeDecodeDataToContent(const String& requestId) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; if (!resourceData->hasData()) return; m_contentSize += resourceData->decodeDataToContent(); size_t dataLength = contentSizeInBytes(resourceData->content()); if (dataLength > m_maximumSingleResourceContentSize) m_contentSize -= resourceData->evictContent(); }
void NetworkResourcesData::maybeDecodeDataToContent(const String& requestId) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (!resourceData) return; if (!resourceData->hasData()) return; m_contentSize += resourceData->decodeDataToContent(); int dataLength = 2 * resourceData->content().length(); if (dataLength > m_maximumSingleResourceContentSize) m_contentSize -= resourceData->purgeContent(); }
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; } }