void InspectorResourceAgent::willSendResourceRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse) { String requestId = IdentifiersFactory::requestId(identifier); m_resourcesData->resourceCreated(requestId, m_pageAgent->loaderId(loader)); RefPtr<InspectorObject> headers = m_state->getObject(ResourceAgentState::extraRequestHeaders); if (headers) { InspectorObject::const_iterator end = headers->end(); for (InspectorObject::const_iterator it = headers->begin(); it != end; ++it) { String value; if (it->value->asString(&value)) request.setHTTPHeaderField(it->key, value); } } request.setReportLoadTiming(true); request.setReportRawHeaders(true); if (m_state->getBoolean(ResourceAgentState::cacheDisabled)) { request.setHTTPHeaderField("Pragma", "no-cache"); request.setCachePolicy(ReloadIgnoringCacheData); request.setHTTPHeaderField("Cache-Control", "no-cache"); } RefPtr<TypeBuilder::Network::Initiator> initiatorObject = buildInitiatorObject(loader->frame() ? loader->frame()->document() : 0); m_frontend->requestWillBeSent(requestId, m_pageAgent->frameId(loader->frame()), m_pageAgent->loaderId(loader), loader->url().string(), buildObjectForResourceRequest(request), currentTime(), initiatorObject, buildObjectForResourceResponse(redirectResponse, loader)); }
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); RefPtr<TypeBuilder::Network::Initiator> initiatorObject = buildInitiatorObject(loader->frame() ? loader->frame()->document() : 0); m_frontend->requestServedFromMemoryCache(requestId, frameId, loaderId, loader->url().string(), currentTime(), initiatorObject, buildObjectForCachedResource(*resource, loader)); }
void InspectorNetworkAgent::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); RefPtr<Inspector::Protocol::Network::Initiator> initiatorObject = buildInitiatorObject(loader.frame() ? loader.frame()->document() : nullptr); m_frontendDispatcher->requestServedFromMemoryCache(requestId, frameId, loaderId, loader.url().string(), timestamp(), initiatorObject, buildObjectForCachedResource(&resource, &loader)); }
void InspectorResourceAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest& request, const ResourceResponse& redirectResponse) { if (request.hiddenFromInspector()) { m_hiddenRequestIdentifiers.add(identifier); return; } String requestId = IdentifiersFactory::requestId(identifier); m_resourcesData->resourceCreated(requestId, m_pageAgent->loaderId(loader)); CachedResource* cachedResource = loader ? InspectorPageAgent::cachedResource(loader->frame(), request.url()) : nullptr; InspectorPageAgent::ResourceType type = cachedResource ? InspectorPageAgent::cachedResourceType(*cachedResource) : m_resourcesData->resourceType(requestId); if (type == InspectorPageAgent::OtherResource) { if (m_loadingXHRSynchronously) type = InspectorPageAgent::XHRResource; else if (equalIgnoringFragmentIdentifier(request.url(), loader->frameLoader()->icon().url())) type = InspectorPageAgent::ImageResource; else if (equalIgnoringFragmentIdentifier(request.url(), loader->url()) && !loader->isCommitted()) type = InspectorPageAgent::DocumentResource; } m_resourcesData->setResourceType(requestId, type); if (m_extraRequestHeaders) { InspectorObject::const_iterator end = m_extraRequestHeaders->end(); for (InspectorObject::const_iterator it = m_extraRequestHeaders->begin(); it != end; ++it) { String value; if (it->value->asString(value)) request.setHTTPHeaderField(it->key, value); } } request.setReportLoadTiming(true); request.setReportRawHeaders(true); if (m_cacheDisabled) { request.setHTTPHeaderField(HTTPHeaderName::Pragma, "no-cache"); request.setCachePolicy(ReloadIgnoringCacheData); request.setHTTPHeaderField(HTTPHeaderName::CacheControl, "no-cache"); } Inspector::Protocol::Page::ResourceType resourceType = InspectorPageAgent::resourceTypeJson(type); RefPtr<Inspector::Protocol::Network::Initiator> initiatorObject = buildInitiatorObject(loader->frame() ? loader->frame()->document() : nullptr); m_frontendDispatcher->requestWillBeSent(requestId, m_pageAgent->frameId(loader->frame()), m_pageAgent->loaderId(loader), loader->url().string(), buildObjectForResourceRequest(request), currentTime(), initiatorObject, buildObjectForResourceResponse(redirectResponse, loader), type != InspectorPageAgent::OtherResource ? &resourceType : nullptr); }
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)); }
void InspectorResourceAgent::didScheduleStyleRecalculation(Document* document) { if (!m_styleRecalculationInitiator) m_styleRecalculationInitiator = buildInitiatorObject(document); }
void InspectorNetworkAgent::didScheduleStyleRecalculation(Document& document) { if (!m_styleRecalculationInitiator) m_styleRecalculationInitiator = buildInitiatorObject(&document); }