Index: Source/core/fileapi/Blob.h |
diff --git a/Source/core/fileapi/Blob.h b/Source/core/fileapi/Blob.h |
index e564a6514c28a6bf48f453cd7637671155a65865..4cb7acc0d48d0c53aa8449fc992de5d88e61df9c 100644 |
--- a/Source/core/fileapi/Blob.h |
+++ b/Source/core/fileapi/Blob.h |
@@ -33,6 +33,7 @@ |
#include "bindings/v8/ScriptWrappable.h" |
#include "core/html/URLRegistry.h" |
+#include "heap/Handle.h" |
#include "platform/blob/BlobData.h" |
#include "wtf/PassOwnPtr.h" |
#include "wtf/PassRefPtr.h" |
@@ -43,22 +44,22 @@ namespace WebCore { |
class ExecutionContext; |
-class Blob : public ScriptWrappable, public URLRegistrable, public RefCounted<Blob> { |
+class Blob : public RefCountedWillBeGarbageCollectedFinalized<Blob>, public ScriptWrappable, public URLRegistrable { |
public: |
- static PassRefPtr<Blob> create() |
+ static PassRefPtrWillBeRawPtr<Blob> create() |
{ |
- return adoptRef(new Blob(BlobDataHandle::create())); |
+ return adoptRefWillBeNoop(new Blob(BlobDataHandle::create())); |
} |
- static PassRefPtr<Blob> create(PassRefPtr<BlobDataHandle> blobDataHandle) |
+ static PassRefPtrWillBeRawPtr<Blob> create(PassRefPtr<BlobDataHandle> blobDataHandle) |
{ |
- return adoptRef(new Blob(blobDataHandle)); |
+ return adoptRefWillBeNoop(new Blob(blobDataHandle)); |
} |
virtual ~Blob(); |
virtual unsigned long long size() const { return m_blobDataHandle->size(); } |
- virtual PassRefPtr<Blob> slice(long long start = 0, long long end = std::numeric_limits<long long>::max(), const String& contentType = String()) const; |
+ virtual PassRefPtrWillBeRawPtr<Blob> slice(long long start = 0, long long end = std::numeric_limits<long long>::max(), const String& contentType = String()) const; |
String type() const { return m_blobDataHandle->type(); } |
String uuid() const { return m_blobDataHandle->uuid(); } |
@@ -75,6 +76,9 @@ public: |
virtual URLRegistry& registry() const OVERRIDE FINAL; |
static void clampSliceOffsets(long long size, long long& start, long long& end); |
+ |
+ void trace(Visitor*) { } |
+ |
protected: |
explicit Blob(PassRefPtr<BlobDataHandle>); |