void NetworkResourcesData::maybeAddResourceData(const String& requestId, const char* data, int dataLength) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (!resourceData) return; if (!resourceData->decoder()) return; if (resourceData->dataLength() + dataLength > m_maximumSingleResourceContentSize) m_contentSize -= resourceData->purgeContent(); if (resourceData->isContentPurged()) return; if (ensureFreeSpace(dataLength) && !resourceData->isContentPurged()) { m_requestIdsDeque.append(requestId); resourceData->appendData(data, dataLength); 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; } }