| Index: Source/core/fetch/Resource.cpp
|
| diff --git a/Source/core/fetch/Resource.cpp b/Source/core/fetch/Resource.cpp
|
| index 3ac323936764caa44a5b7bc63a0e629cb301213a..5a768b8c02961c6feed4dc1f25ac19b9c6472e25 100644
|
| --- a/Source/core/fetch/Resource.cpp
|
| +++ b/Source/core/fetch/Resource.cpp
|
| @@ -115,6 +115,7 @@ Resource::Resource(const ResourceRequest& request, Type type)
|
| , m_switchingClientsToRevalidatedResource(false)
|
| , m_type(type)
|
| , m_status(Pending)
|
| + , m_needsSynchronousCacheHit(false)
|
| #ifndef NDEBUG
|
| , m_deleted(false)
|
| , m_lruIndex(0)
|
| @@ -431,7 +432,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;
|
|
|