| Index: third_party/WebKit/Source/core/fetch/RawResource.h
|
| diff --git a/third_party/WebKit/Source/core/fetch/RawResource.h b/third_party/WebKit/Source/core/fetch/RawResource.h
|
| index 46f8cc036bc6556d45cc7d5e29413dcfcb8a9e4f..84b702679dbf358c60ba93339aa20ed0e6a83092 100644
|
| --- a/third_party/WebKit/Source/core/fetch/RawResource.h
|
| +++ b/third_party/WebKit/Source/core/fetch/RawResource.h
|
| @@ -28,6 +28,7 @@
|
| #include "core/fetch/ResourceClient.h"
|
| #include "public/platform/WebDataConsumerHandle.h"
|
| #include "wtf/PassOwnPtr.h"
|
| +#include "wtf/WeakPtr.h"
|
|
|
| namespace blink {
|
| class FetchRequest;
|
| @@ -103,6 +104,9 @@ inline RawResource* toRawResource(Resource* resource)
|
|
|
| class CORE_EXPORT RawResourceClient : public ResourceClient {
|
| public:
|
| + RawResourceClient()
|
| + : m_weakFactory(this) { }
|
| + WeakPtr<RawResourceClient> createWeakPtr() { return m_weakFactory.createWeakPtr(); }
|
| ~RawResourceClient() override {}
|
| static bool isExpectedType(ResourceClient* client) { return client->getResourceClientType() == RawResourceType; }
|
| ResourceClientType getResourceClientType() const final { return RawResourceType; }
|
| @@ -115,6 +119,9 @@ public:
|
| virtual void redirectBlocked() {}
|
| virtual void dataDownloaded(Resource*, int) { }
|
| virtual void didReceiveResourceTiming(Resource*, const ResourceTimingInfo&) { }
|
| +
|
| +private:
|
| + WeakPtrFactory<RawResourceClient> m_weakFactory;
|
| };
|
|
|
| } // namespace blink
|
|
|