Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Unified Diff: third_party/WebKit/Source/core/fetch/Resource.cpp

Issue 1428383002: Make ResourceFetcher::m_documentResources use WeakPtr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add TODOs Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)
« no previous file with comments | « third_party/WebKit/Source/core/fetch/Resource.h ('k') | third_party/WebKit/Source/core/fetch/ResourceFetcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698