| Index: third_party/WebKit/Source/core/fetch/Resource.cpp
|
| diff --git a/third_party/WebKit/Source/core/fetch/Resource.cpp b/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| index 2898d9ecb29f0bd6a06055933ab2e551b9335be5..b06b5676cc551dccac449f3ffb90eaa52a20d807 100644
|
| --- a/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| @@ -44,6 +44,7 @@
|
| #include "wtf/MathExtras.h"
|
| #include "wtf/StdLibExtras.h"
|
| #include "wtf/Vector.h"
|
| +#include "wtf/WeakPtr.h"
|
| #include "wtf/text/CString.h"
|
|
|
| using namespace WTF;
|
| @@ -147,6 +148,9 @@ Resource::Resource(const ResourceRequest& request, Type type)
|
| : m_resourceRequest(request)
|
| , m_responseTimestamp(currentTime())
|
| , m_cancelTimer(this, &Resource::cancelTimerFired)
|
| +#if !ENABLE(OILPAN)
|
| + , m_weakPtrFactory(this)
|
| +#endif
|
| , m_loadFinishTime(0)
|
| , m_identifier(0)
|
| , m_encodedSize(0)
|
| @@ -516,6 +520,15 @@ void Resource::clearCachedMetadata(CachedMetadataHandler::CacheType cacheType)
|
| Platform::current()->cacheMetadata(m_response.url(), m_response.responseTime(), 0, 0);
|
| }
|
|
|
| +WeakPtrWillBeRawPtr<Resource> Resource::asWeakPtr()
|
| +{
|
| +#if ENABLE(OILPAN)
|
| + return this;
|
| +#else
|
| + return m_weakPtrFactory.createWeakPtr();
|
| +#endif
|
| +}
|
| +
|
| bool Resource::canDelete() const
|
| {
|
| return !hasClients() && !m_loader && !m_preloadCount && hasRightHandleCountApartFromCache(0)
|
|
|