| Index: Source/core/fetch/ResourceLoader.cpp
|
| diff --git a/Source/core/fetch/ResourceLoader.cpp b/Source/core/fetch/ResourceLoader.cpp
|
| index fb7885554d7722e62d4dc0493e331982c14f287e..56c35977a7ac034db5ee070fc5229410edf24dcf 100644
|
| --- a/Source/core/fetch/ResourceLoader.cpp
|
| +++ b/Source/core/fetch/ResourceLoader.cpp
|
| @@ -62,6 +62,7 @@ ResourceLoader::ResourceLoader(ResourceFetcher* fetcher, Resource* resource, con
|
| : m_fetcher(fetcher)
|
| , m_notifiedLoadComplete(false)
|
| , m_defersLoading(fetcher->defersLoading())
|
| + , m_loadingMultipartContent(false)
|
| , m_options(options)
|
| , m_resource(resource)
|
| , m_state(Initialized)
|
| @@ -376,10 +377,13 @@ void ResourceLoader::didReceiveResponse(WebURLLoader*, const WebURLResponse& res
|
| return;
|
|
|
| if (response.toResourceResponse().isMultipart()) {
|
| - if (!m_resource->isImage()) {
|
| + // We only support multipart for images, though the image may be loaded
|
| + // as a main resource that we end up displaying through an ImageDocument.
|
| + if (!m_resource->isImage() && m_resource->type() != Resource::MainResource) {
|
| cancel();
|
| return;
|
| }
|
| + m_loadingMultipartContent = true;
|
| } else if (isMultipartPayload) {
|
| // Since a subresource loader does not load multipart sections progressively, data was delivered to the loader all at once.
|
| // After the first multipart section is complete, signal to delegates that this load is "finished"
|
|
|