void ResourceLoadScheduler::remove(ResourceLoader* resourceLoader) { ASSERT(resourceLoader); HostInformation* host = hostForURL(resourceLoader->url()); if (host) host->remove(resourceLoader); scheduleServePendingRequests(); }
void ResourceLoadScheduler::remove(ResourceLoader* resourceLoader) { ASSERT(resourceLoader); HostInformation* host = hostForURL(resourceLoader->url()); if (host) host->remove(resourceLoader); #if PLATFORM(IOS) // ResourceLoader::url() doesn't start returning the correct value until the load starts. If we get canceled before that, we need to look for originalRequest url instead. // FIXME: ResourceLoader::url() should be made to return a sensible value at all times. if (!resourceLoader->iOSOriginalRequest().isNull()) { HostInformation* originalHost = hostForURL(resourceLoader->iOSOriginalRequest().url()); if (originalHost && originalHost != host) originalHost->remove(resourceLoader); } #endif scheduleServePendingRequests(); }
void ResourceLoadScheduler::crossOriginRedirectReceived(ResourceLoader* resourceLoader, const KURL& redirectURL) { HostInformation* oldHost = hostForURL(resourceLoader->url()); ASSERT(oldHost); HostInformation* newHost = hostForURL(redirectURL, CreateIfNotFound); if (oldHost->name() == newHost->name()) return; newHost->addLoadInProgress(resourceLoader); oldHost->remove(resourceLoader); }