| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index 48ef9d71fca50d00a5308b29ee33d42409e5173d..d90fbdec68168b13bc0030d4d9e8faa4888ef188 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -1250,10 +1250,10 @@ void ResourceFetcher::didDownloadData(const Resource* resource, int dataLength,
|
|
|
| void ResourceFetcher::subresourceLoaderFinishedLoadingOnePart(ResourceLoader* loader)
|
| {
|
| - if (m_multipartLoaders)
|
| - m_multipartLoaders->add(loader);
|
| - if (m_loaders)
|
| - m_loaders->remove(loader);
|
| + if (!m_multipartLoaders)
|
| + m_multipartLoaders = adoptPtr(new ResourceLoaderSet());
|
| + m_multipartLoaders->add(loader);
|
| + m_loaders->remove(loader);
|
| if (LocalFrame* frame = this->frame())
|
| return frame->loader().checkLoadComplete(m_documentLoader);
|
| }
|
| @@ -1270,9 +1270,10 @@ void ResourceFetcher::didInitializeResourceLoader(ResourceLoader* loader)
|
|
|
| void ResourceFetcher::willTerminateResourceLoader(ResourceLoader* loader)
|
| {
|
| - if (!m_loaders || !m_loaders->contains(loader))
|
| - return;
|
| - m_loaders->remove(loader);
|
| + if (m_loaders && m_loaders->contains(loader))
|
| + m_loaders->remove(loader);
|
| + if (m_multipartLoaders && m_multipartLoaders->contains(loader))
|
| + m_multipartLoaders->remove(loader);
|
| if (LocalFrame* frame = this->frame())
|
| frame->loader().checkLoadComplete(m_documentLoader);
|
| }
|
|
|