void Loader::cancelRequests(DocLoader* docLoader) { if (m_nonHTTPProtocolHost.hasRequests()) m_nonHTTPProtocolHost.cancelRequests(docLoader); Vector<Host*> hostsToCancel; copyValuesToVector(m_hosts, hostsToCancel); for (unsigned n = 0; n < hostsToCancel.size(); ++n) { Host* host = hostsToCancel[n]; if (host->hasRequests()) host->cancelRequests(docLoader); } scheduleServePendingRequests(); if (docLoader->loadInProgress()) ASSERT(docLoader->requestCount() == 1); else ASSERT(docLoader->requestCount() == 0); }
void Loader::cancelRequests(DocLoader* docLoader) { docLoader->clearPendingPreloads(); if (m_nonHTTPProtocolHost->hasRequests()) m_nonHTTPProtocolHost->cancelRequests(docLoader); Vector<Host*> hostsToCancel; m_hosts.checkConsistency(); HostMap::iterator i = m_hosts.begin(); HostMap::iterator end = m_hosts.end(); for (; i != end; ++i) hostsToCancel.append(i->second.get()); for (unsigned n = 0; n < hostsToCancel.size(); ++n) { Host* host = hostsToCancel[n]; if (host->hasRequests()) host->cancelRequests(docLoader); } scheduleServePendingRequests(); ASSERT(docLoader->requestCount() == (docLoader->loadInProgress() ? 1 : 0)); }