void DocumentLoader::setDefersLoading(bool defers) { if (m_mainResourceLoader) m_mainResourceLoader->setDefersLoading(defers); setAllDefersLoading(m_subresourceLoaders, defers); setAllDefersLoading(m_plugInStreamLoaders, defers); if (!defers) deliverSubstituteResourcesAfterDelay(); }
void DocumentLoader::setDefersLoading(bool defers) { // Multiple frames may be loading the same main resource simultaneously. If deferral state changes, // each frame's DocumentLoader will try to send a setDefersLoading() to the same underlying ResourceLoader. Ensure only // the "owning" DocumentLoader does so, as setDefersLoading() is not resilient to setting the same value repeatedly. if (mainResourceLoader() && mainResourceLoader()->documentLoader() == this) mainResourceLoader()->setDefersLoading(defers); setAllDefersLoading(m_resourceLoaders, defers); }