| Index: Source/core/fetch/Resource.cpp
|
| diff --git a/Source/core/fetch/Resource.cpp b/Source/core/fetch/Resource.cpp
|
| index 22b5da0bffba1da7d45e194baf9a6b4969baa289..10724a5dae6e74efc45114f049a2cad978f5cdc8 100644
|
| --- a/Source/core/fetch/Resource.cpp
|
| +++ b/Source/core/fetch/Resource.cpp
|
| @@ -116,6 +116,7 @@ Resource::Resource(const ResourceRequest& request, Type type)
|
| , m_type(type)
|
| , m_status(Pending)
|
| , m_wasPurged(false)
|
| + , m_needsSynchronousCacheHit(false)
|
| #ifndef NDEBUG
|
| , m_deleted(false)
|
| , m_lruIndex(0)
|
| @@ -432,7 +433,7 @@ bool Resource::addClientToSet(ResourceClient* client)
|
| memoryCache()->addToLiveResourcesSize(this);
|
|
|
| // If we have existing data to send to the new client and the resource type supprts it, send it asynchronously.
|
| - if (!m_response.isNull() && !m_proxyResource && !shouldSendCachedDataSynchronouslyForType(type())) {
|
| + if (!m_response.isNull() && !m_proxyResource && !shouldSendCachedDataSynchronouslyForType(type()) && !m_needsSynchronousCacheHit) {
|
| m_clientsAwaitingCallback.add(client);
|
| ResourceCallback::callbackHandler()->schedule(this);
|
| return false;
|
|
|