Example #1
0
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);
}
Example #2
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));
}