| Index: include/core/SkTextBlob.h | 
| diff --git a/include/core/SkTextBlob.h b/include/core/SkTextBlob.h | 
| index 8ee1d1919628b10e0d3f3ca6085a02ad619a68b2..334cfb98c4595d2d51844e55c82880b89de9a34e 100644 | 
| --- a/include/core/SkTextBlob.h | 
| +++ b/include/core/SkTextBlob.h | 
| @@ -79,7 +79,15 @@ private: | 
| SkTextBlob(int runCount, const SkRect& bounds); | 
|  | 
| virtual ~SkTextBlob(); | 
| -    virtual void internal_dispose() const SK_OVERRIDE; | 
| + | 
| +    // Memory for objects of this class is created with sk_malloc rather than operator new and must | 
| +    // be freed with sk_free. | 
| +    void operator delete(void* p) { sk_free(p); } | 
| +    void* operator new(size_t) { | 
| +        SkFAIL("All blobs are created by placement new."); | 
| +        return sk_malloc_throw(0); | 
| +    } | 
| +    void* operator new(size_t, void* p) { return p; } | 
|  | 
| static unsigned ScalarsPerGlyph(GlyphPositioning pos); | 
|  | 
|  |