void WebResourceLoader::didReceiveResource(const ShareableResource::Handle& handle, double finishTime) { LOG(Network, "(WebProcess) WebResourceLoader::didReceiveResource for '%s'", m_coreLoader->url().string().utf8().data()); #if USE(QUICK_LOOK) if (QuickLookHandle* quickLookHandle = m_coreLoader->documentLoader()->quickLookHandle()) { RetainPtr<CFDataRef> cfBuffer = handle.tryWrapInCFData(); if (cfBuffer) { if (quickLookHandle->didReceiveData(cfBuffer.get())) { quickLookHandle->didFinishLoading(); return; } } else quickLookHandle->didFail(); } #endif RefPtr<SharedBuffer> buffer = handle.tryWrapInSharedBuffer(); if (!buffer) { LOG_ERROR("Unable to create buffer from ShareableResource sent from the network process."); m_coreLoader->didFail(internalError(m_coreLoader->request().url())); return; } Ref<WebResourceLoader> protect(*this); // Only send data to the didReceiveData callback if it exists. if (buffer->size()) m_coreLoader->didReceiveBuffer(buffer.get(), buffer->size(), DataPayloadWholeResource); if (!m_coreLoader) return; m_coreLoader->didFinishLoading(finishTime); }
void NetworkProcessConnection::didCacheResource(const ResourceRequest& request, const ShareableResource::Handle& handle, SessionID sessionID) { CachedResource* resource = MemoryCache::singleton().resourceForRequest(request, sessionID); if (!resource) return; RefPtr<SharedBuffer> buffer = handle.tryWrapInSharedBuffer(); if (!buffer) { LOG_ERROR("Unable to create SharedBuffer from ShareableResource handle for resource url %s", request.url().string().utf8().data()); return; } resource->tryReplaceEncodedData(*buffer); }
void WebResourceLoader::didReceiveResource(const ShareableResource::Handle& handle, double finishTime) { LOG(Network, "(WebProcess) WebResourceLoader::didReceiveResource for '%s'", m_coreLoader->url().string().utf8().data()); RefPtr<SharedBuffer> buffer = handle.tryWrapInSharedBuffer(); if (!buffer) { LOG_ERROR("Unable to create buffer from ShareableResource sent from the network process."); m_coreLoader->didFail(internalError(m_coreLoader->request().url())); return; } // Only send data to the didReceiveData callback if it exists. if (buffer->size()) m_coreLoader->didReceiveBuffer(buffer.get(), buffer->size(), DataPayloadWholeResource); m_coreLoader->didFinishLoading(finishTime); }
void WebResourceLoader::didReceiveResource(const ShareableResource::Handle& handle, double finishTime) { LOG(Network, "(WebProcess) WebResourceLoader::didReceiveResource for '%s'", m_coreLoader->url().string().latin1().data()); RELEASE_LOG_IF_ALLOWED("WebResourceLoader::didReceiveResource, WebResourceLoader = %p", this); RefPtr<SharedBuffer> buffer = handle.tryWrapInSharedBuffer(); #if USE(QUICK_LOOK) if (QuickLookHandle* quickLookHandle = m_coreLoader->documentLoader()->quickLookHandle()) { if (buffer) { if (quickLookHandle->didReceiveData(buffer->existingCFData())) { quickLookHandle->didFinishLoading(); return; } } else quickLookHandle->didFail(); } #endif if (!buffer) { LOG_ERROR("Unable to create buffer from ShareableResource sent from the network process."); m_coreLoader->didFail(internalError(m_coreLoader->request().url())); return; } Ref<WebResourceLoader> protect(*this); // Only send data to the didReceiveData callback if it exists. if (unsigned bufferSize = buffer->size()) m_coreLoader->didReceiveBuffer(buffer.releaseNonNull(), bufferSize, DataPayloadWholeResource); if (!m_coreLoader) return; m_coreLoader->didFinishLoading(finishTime); }