bool ResourceErrorBase::compare(const ResourceError& a, const ResourceError& b) { if (a.isNull() && b.isNull()) return true; if (a.isNull() || b.isNull()) return false; if (a.domain() != b.domain()) return false; if (a.errorCode() != b.errorCode()) return false; if (a.failingURL() != b.failingURL()) return false; if (a.localizedDescription() != b.localizedDescription()) return false; if (a.isCancellation() != b.isCancellation()) return false; return platformCompare(a, b); }
void FrameLoaderClientEfl::dispatchDidFailProvisionalLoad(const ResourceError& err) { Ewk_Frame_Load_Error error; CString errorDomain = err.domain().utf8(); CString errorDescription = err.localizedDescription().utf8(); CString failingUrl = err.failingURL().utf8(); DBG("ewkFrame=%p, error=%s (%d, cancellation=%hhu) \"%s\", url=%s", m_frame, errorDomain.data(), err.errorCode(), err.isCancellation(), errorDescription.data(), failingUrl.data()); error.code = err.errorCode(); error.is_cancellation = err.isCancellation(); error.domain = errorDomain.data(); error.description = errorDescription.data(); error.failing_url = failingUrl.data(); error.resource_identifier = 0; error.frame = m_frame; ewk_frame_load_provisional_failed(m_frame, &error); if (isLoadingMainFrame()) ewk_view_load_provisional_failed(m_view, &error); dispatchDidFailLoad(err); }
void FrameLoaderClientEfl::dispatchDidFailLoad(const ResourceError& err) { ewk_frame_load_error(m_frame, err.domain().utf8().data(), err.errorCode(), err.isCancellation(), err.localizedDescription().utf8().data(), err.failingURL().utf8().data()); ewk_frame_load_finished(m_frame, err.domain().utf8().data(), err.errorCode(), err.isCancellation(), err.localizedDescription().utf8().data(), err.failingURL().utf8().data()); }
bool ApplicationCacheHost::maybeLoadFallbackForError(ResourceLoader* resourceLoader, const ResourceError& error) { if (!error.isCancellation()) if (scheduleLoadFallbackResourceFromApplicationCache(resourceLoader)) return true; return false; }
void XMLHttpRequest::loadRequestSynchronously(ResourceRequest& request, ExceptionCode& ec) { ASSERT(!m_async); Vector<char> data; ResourceError error; ResourceResponse response; { // avoid deadlock in case the loader wants to use JS on a background thread KJS::JSLock::DropAllLocks dropLocks; if (m_doc->frame()) m_identifier = m_doc->frame()->loader()->loadResourceSynchronously(request, error, response, data); } m_loader = 0; // No exception for file:/// resources, see <rdar://problem/4962298>. // Also, if we have an HTTP response, then it wasn't a network error in fact. if (error.isNull() || request.url().isLocalFile() || response.httpStatusCode() > 0) { processSyncLoadResults(data, response, ec); return; } if (error.isCancellation()) { abortError(); ec = XMLHttpRequestException::ABORT_ERR; return; } networkError(); ec = XMLHttpRequestException::NETWORK_ERR; }
void FetchManager::Loader::didFailAccessControlCheck(const ResourceError& error) { if (error.isCancellation() || error.isTimeout() || error.domain() != errorDomainBlinkInternal) failed(String()); else failed("Fetch API cannot load " + error.failingURL() + ". " + error.localizedDescription()); }
void XMLHttpRequest::loadRequestSynchronously(ResourceRequest& request, ExceptionCode& ec) { ASSERT(!m_async); Vector<char> data; ResourceError error; ResourceResponse response; unsigned long identifier = ThreadableLoader::loadResourceSynchronously(scriptExecutionContext(), request, error, response, data); m_loader = 0; // No exception for file:/// resources, see <rdar://problem/4962298>. // Also, if we have an HTTP response, then it wasn't a network error in fact. if (error.isNull() || request.url().isLocalFile() || response.httpStatusCode() > 0) { processSyncLoadResults(identifier, data, response, ec); return; } if (error.isCancellation()) { abortError(); ec = XMLHttpRequestException::ABORT_ERR; return; } networkError(); ec = XMLHttpRequestException::NETWORK_ERR; }
void EventSource::didFail(const ResourceError& error) { int canceled = error.isCancellation(); if (((m_state == CONNECTING) && !canceled) || ((m_state == OPEN) && canceled)) m_state = CLOSED; endRequest(); }
void CachedResourceRequest::didFail(SubresourceLoader*, const ResourceError& error) { if (m_finishing || !m_loader) return; bool cancelled = error.isCancellation(); LOG(ResourceLoading, "Failed to load '%s' (cancelled=%d).\n", m_resource->url().string().latin1().data(), cancelled); // Prevent the document from being destroyed before we are done with // the cachedResourceLoader that it will delete when the document gets deleted. RefPtr<Document> protector(m_cachedResourceLoader->document()); if (!m_multipart) m_cachedResourceLoader->decrementRequestCount(m_resource); m_finishing = true; m_loader->clearClient(); if (m_resource->resourceToRevalidate()) memoryCache()->revalidationFailed(m_resource); if (!cancelled) { m_cachedResourceLoader->loadFinishing(); m_resource->error(CachedResource::LoadError); } if (cancelled || !m_resource->isPreloaded()) memoryCache()->remove(m_resource); end(); }
void EventSource::didFail(const ResourceError& error) { DCHECK_NE(kClosed, m_state); DCHECK(m_loader); if (error.isCancellation()) m_state = kClosed; networkRequestEnded(); }
void EventSource::didFail(const ResourceError& error) { ASSERT(m_state != CLOSED); ASSERT(m_requestInFlight); if (error.isCancellation()) m_state = CLOSED; networkRequestEnded(); }
void ResourceLoader::didFail(ResourceHandle*, const ResourceError& error) { #if ENABLE(OFFLINE_WEB_APPLICATIONS) if (!error.isCancellation()) { if (documentLoader()->scheduleLoadFallbackResourceFromApplicationCache(this, m_request)) return; } #endif didFail(error); }
bool ApplicationCacheHost::maybeLoadFallbackForError(ResourceLoader* resourceLoader, const ResourceError& error) { if (!error.isCancellation()) { if (resourceLoader == m_documentLoader->mainResourceLoader()) return maybeLoadFallbackForMainError(resourceLoader->request(), error); if (scheduleLoadFallbackResourceFromApplicationCache(resourceLoader)) return true; } return false; }
void InspectorConsoleAgent::didFailLoading(unsigned long identifier, const ResourceError& error) { if (!m_inspectorAgent->enabled()) return; if (error.isCancellation()) // Report failures only. return; String message = "Failed to load resource"; if (!error.localizedDescription().isEmpty()) message += ": " + error.localizedDescription(); addConsoleMessage(adoptPtr(new ConsoleMessage(OtherMessageSource, NetworkErrorMessageType, ErrorMessageLevel, message, error.failingURL(), identifier))); }
void InspectorConsoleAgent::didFailLoading(unsigned long requestIdentifier, DocumentLoader*, const ResourceError& error) { if (error.isCancellation()) // Report failures only. return; StringBuilder message; message.appendLiteral("Failed to load resource"); if (!error.localizedDescription().isEmpty()) { message.appendLiteral(": "); message.append(error.localizedDescription()); } addMessageToConsole(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message.toString(), error.failingURL(), 0, 0, 0, requestIdentifier); }
void InspectorConsoleAgent::didFailLoading(unsigned long identifier, const ResourceError& error) { if (!developerExtrasEnabled()) return; if (error.isCancellation()) // Report failures only. return; String message = "Failed to load resource"; if (!error.localizedDescription().isEmpty()) message += ": " + error.localizedDescription(); String requestId = IdentifiersFactory::requestId(identifier); addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, error.failingURL(), requestId))); }
void PluginView::Stream::didFail(NetscapePlugInStreamLoader*, const ResourceError& error) { // Calling streamDidFail could cause us to be deleted, so we hold on to a reference here. RefPtr<Stream> protect(this); // We only want to call streamDidFail if the stream was not explicitly cancelled by the plug-in. if (!m_streamWasCancelled) m_pluginView->m_plugin->streamDidFail(m_streamID, error.isCancellation()); m_pluginView->removeStream(this); m_pluginView = 0; }
void FrameLoaderClientEfl::dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError& err) { Ewk_Frame_Load_Error error; CString errorDomain = err.domain().utf8(); CString errorDescription = err.localizedDescription().utf8(); CString failingUrl = err.failingURL().utf8(); DBG("ewkFrame=%p, resource=%ld, error=%s (%d, cancellation=%hhu) \"%s\", url=%s", m_frame, identifier, errorDomain.data(), err.errorCode(), err.isCancellation(), errorDescription.data(), failingUrl.data()); error.code = err.errorCode(); error.is_cancellation = err.isCancellation(); error.domain = errorDomain.data(); error.description = errorDescription.data(); error.failing_url = failingUrl.data(); error.resource_identifier = identifier; error.frame = m_frame; ewk_frame_load_resource_failed(m_frame, &error); evas_object_smart_callback_call(m_view, "load,resource,failed", &error); }
bool ApplicationCacheHost::maybeLoadFallbackForMainError(const ResourceRequest& request, const ResourceError& error) { if (!error.isCancellation()) { ASSERT(!m_mainResourceApplicationCache); if (isApplicationCacheEnabled() && !isApplicationCacheBlockedForRequest(request)) { m_mainResourceApplicationCache = ApplicationCacheGroup::fallbackCacheForMainRequest(request, m_documentLoader); if (scheduleLoadFallbackResourceFromApplicationCache(documentLoader()->mainResourceLoader(), m_mainResourceApplicationCache.get())) return true; } } return false; }
void InspectorResourceAgent::didFailLoading(unsigned long identifier, DocumentLoader* loader, const ResourceError& error) { String requestId = IdentifiersFactory::requestId(identifier); if (m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource) { Frame* frame = loader ? loader->frame() : 0; if (frame && frame->loader()->documentLoader() && frame->document()) m_resourcesData->addResourceSharedBuffer(requestId, frame->loader()->documentLoader()->mainResourceData(), frame->document()->inputEncoding()); } bool canceled = error.isCancellation(); m_frontend->loadingFailed(requestId, currentTime(), error.localizedDescription(), canceled ? &canceled : 0); }
void FrameConsole::didFailLoading(unsigned long requestIdentifier, const ResourceError& error) { if (error.isCancellation()) // Report failures only. return; StringBuilder message; message.append("Failed to load resource"); if (!error.localizedDescription().isEmpty()) { message.append(": "); message.append(error.localizedDescription()); } addMessageToStorage(ConsoleMessage::createForRequest( NetworkMessageSource, ErrorMessageLevel, message.toString(), error.failingURL(), requestIdentifier)); }
void FrameConsole::didFailLoading(unsigned long requestIdentifier, const ResourceError& error) { if (error.isCancellation()) // Report failures only. return; StringBuilder message; message.appendLiteral("Failed to load resource"); if (!error.localizedDescription().isEmpty()) { message.appendLiteral(": "); message.append(error.localizedDescription()); } RefPtrWillBeRawPtr<ConsoleMessage> consoleMessage = ConsoleMessage::create(NetworkMessageSource, ErrorMessageLevel, message.toString(), error.failingURL()); consoleMessage->setRequestIdentifier(requestIdentifier); messageStorage()->reportMessage(consoleMessage.release()); }
bool ResourceError::compare(const ResourceError& a, const ResourceError& b) { if (a.isNull() && b.isNull()) return true; if (a.isNull() || b.isNull()) return false; if (a.domain() != b.domain()) return false; if (a.errorCode() != b.errorCode()) return false; if (a.failingURL() != b.failingURL()) return false; if (a.localizedDescription() != b.localizedDescription()) return false; if (a.isCancellation() != b.isCancellation()) return false; if (a.isAccessCheck() != b.isAccessCheck()) return false; if (a.isTimeout() != b.isTimeout()) return false; if (a.staleCopyInCache() != b.staleCopyInCache()) return false; if (a.wasIgnoredByHandler() != b.wasIgnoredByHandler()) return false; return true; }
void PluginView::manualLoadDidFail(const ResourceError& error) { // The plug-in can be null here if it failed to initialize. if (!m_plugin) return; if (!m_isInitialized) { m_manualStreamState = StreamStateFinished; m_manualStreamError = error; m_manualStreamData = nullptr; return; } m_plugin->manualStreamDidFail(error.isCancellation()); }
void ApplicationCacheHost::maybeLoadFallbackSynchronously(const ResourceRequest& request, ResourceError& error, ResourceResponse& response, Vector<char>& data) { // If normal loading results in a redirect to a resource with another origin (indicative of a captive portal), or a 4xx or 5xx status code or equivalent, // or if there were network errors (but not if the user canceled the download), then instead get, from the cache, the resource of the fallback entry // corresponding to the matched namespace. if ((!error.isNull() && !error.isCancellation()) || response.httpStatusCode() / 100 == 4 || response.httpStatusCode() / 100 == 5 || !protocolHostAndPortAreEqual(request.url(), response.url())) { ApplicationCacheResource* resource; if (getApplicationCacheFallbackResource(request, resource)) { response = resource->response(); data.clear(); data.append(resource->data()->data(), resource->data()->size()); } } }
void WebFrameLoaderClient::dispatchDidFailLoad(const ResourceError& error) { WebPage* webPage = m_frame->page(); if (!webPage) return; // Notify the bundle client. webPage->injectedBundleLoaderClient().didFailLoadWithErrorForFrame(webPage, m_frame); // Notify the UIProcess. WebProcess::shared().connection()->send(WebPageProxyMessage::DidFailLoadForFrame, webPage->pageID(), CoreIPC::In(m_frame->frameID())); // If we have a load listener, notify it. if (WebFrame::LoadListener* loadListener = m_frame->loadListener()) loadListener->didFailLoad(m_frame, error.isCancellation()); }
void ArgumentCoder<ResourceError>::encodePlatformData(ArgumentEncoder& encoder, const ResourceError& resourceError) { bool errorIsNull = resourceError.isNull(); encoder << errorIsNull; if (errorIsNull) return; encoder << resourceError.domain(); encoder << resourceError.errorCode(); encoder << resourceError.failingURL().string(); encoder << resourceError.localizedDescription(); encoder << resourceError.isCancellation(); encoder << resourceError.isTimeout(); encoder << CertificateInfo(resourceError); }
void ApplicationCacheHost::maybeLoadFallbackSynchronously(const ResourceRequest& request, ResourceError& error, ResourceResponse& response, RefPtr<SharedBuffer>& data) { // If normal loading results in a redirect to a resource with another origin (indicative of a captive portal), or a 4xx or 5xx status code or equivalent, // or if there were network errors (but not if the user canceled the download), then instead get, from the cache, the resource of the fallback entry // corresponding to the matched namespace. if ((!error.isNull() && !error.isCancellation()) || response.httpStatusCode() / 100 == 4 || response.httpStatusCode() / 100 == 5 || !protocolHostAndPortAreEqual(request.url(), response.url())) { ApplicationCacheResource* resource; if (getApplicationCacheFallbackResource(request, resource)) { response = resource->response(); // FIXME: Clients proably do not need a copy of the SharedBuffer. // Remove the call to copy() once we ensure SharedBuffer will not be modified. data = resource->data().copy(); } } }
void InspectorResourceAgent::didFailLoading(unsigned long identifier, DocumentLoader* loader, const ResourceError& error) { if (m_hiddenRequestIdentifiers.remove(identifier)) return; String requestId = IdentifiersFactory::requestId(identifier); if (m_resourcesData->resourceType(requestId) == InspectorPageAgent::DocumentResource) { Frame* frame = loader ? loader->frame() : nullptr; if (frame && frame->loader().documentLoader() && frame->document()) { RefPtr<ResourceBuffer> buffer = frame->loader().documentLoader()->mainResourceData(); m_resourcesData->addResourceSharedBuffer(requestId, buffer ? buffer->sharedBuffer() : nullptr, frame->document()->inputEncoding()); } } bool canceled = error.isCancellation(); m_frontendDispatcher->loadingFailed(requestId, currentTime(), error.localizedDescription(), canceled ? &canceled : nullptr); }
void WebConsoleAgent::didFailLoading(unsigned long requestIdentifier, const ResourceError& error) { if (!m_injectedScriptManager.inspectorEnvironment().developerExtrasEnabled()) return; // Report failures only. if (error.isCancellation()) return; StringBuilder message; message.appendLiteral("Failed to load resource"); if (!error.localizedDescription().isEmpty()) { message.appendLiteral(": "); message.append(error.localizedDescription()); } addMessageToConsole(std::make_unique<ConsoleMessage>(MessageSource::Network, MessageType::Log, MessageLevel::Error, message.toString(), error.failingURL(), 0, 0, nullptr, requestIdentifier)); }