void CachedRawResource::switchClientsToRevalidatedResource() { ASSERT(m_loader); // If we're in the middle of a successful revalidation, responseReceived() hasn't been called, so we haven't set m_identifier. ASSERT(!m_identifier); toCachedRawResource(resourceToRevalidate())->m_identifier = m_loader->identifier(); CachedResource::switchClientsToRevalidatedResource(); }
void InspectorResourceAgent::didLoadResourceFromMemoryCache(DocumentLoader* loader, CachedResource* resource) { String loaderId = m_pageAgent->loaderId(loader); String frameId = m_pageAgent->frameId(loader->frame()); unsigned long identifier = loader->frame()->page()->progress().createUniqueIdentifier(); String requestId = IdentifiersFactory::requestId(identifier); m_resourcesData->resourceCreated(requestId, loaderId); m_resourcesData->addCachedResource(requestId, resource); if (resource->type() == CachedResource::RawResource) { CachedRawResource* rawResource = toCachedRawResource(resource); String rawRequestId = IdentifiersFactory::requestId(rawResource->identifier()); m_resourcesData->reuseXHRReplayData(requestId, rawRequestId); } RefPtr<Inspector::Protocol::Network::Initiator> initiatorObject = buildInitiatorObject(loader->frame() ? loader->frame()->document() : nullptr); m_frontendDispatcher->requestServedFromMemoryCache(requestId, frameId, loaderId, loader->url().string(), currentTime(), initiatorObject, buildObjectForCachedResource(resource, loader)); }