| Index: src/ports/SkFontMgr_fontconfig.cpp
 | 
| diff --git a/src/ports/SkFontMgr_fontconfig.cpp b/src/ports/SkFontMgr_fontconfig.cpp
 | 
| index b5e4eaed647fa8d36526dba65b73ec1c002bb8ca..28df5d479093ae92997726774ecec60ab570afc5 100644
 | 
| --- a/src/ports/SkFontMgr_fontconfig.cpp
 | 
| +++ b/src/ports/SkFontMgr_fontconfig.cpp
 | 
| @@ -378,7 +378,7 @@ public:
 | 
|      /** @param stream does not take ownership of the reference, does take ownership of the stream.*/
 | 
|      SkTypeface_stream(const SkFontStyle& style, bool fixedWidth, int index, SkStreamAsset* stream)
 | 
|          : INHERITED(style, SkTypefaceCache::NewFontID(), fixedWidth)
 | 
| -        , fStream(SkRef(stream))
 | 
| +        , fStream(stream)
 | 
|          , fIndex(index)
 | 
|      { };
 | 
|  
 | 
| @@ -397,7 +397,7 @@ public:
 | 
|      }
 | 
|  
 | 
|  private:
 | 
| -    SkAutoTUnref<SkStreamAsset> fStream;
 | 
| +    SkAutoTDelete<SkStreamAsset> fStream;
 | 
|      int fIndex;
 | 
|  
 | 
|      typedef SkTypeface_FreeType INHERITED;
 | 
| @@ -809,8 +809,8 @@ protected:
 | 
|          return this->matchFamilyStyle(get_string(fcTypeface->fPattern, FC_FAMILY), style);
 | 
|      }
 | 
|  
 | 
| -    /** @param stream does not take ownership of the reference. */
 | 
| -    SkTypeface* onCreateFromStream(SkStream* stream, int ttcIndex) const SK_OVERRIDE {
 | 
| +    SkTypeface* onCreateFromStream(SkStream* inputStream, int ttcIndex) const SK_OVERRIDE {
 | 
| +        SkAutoTDelete<SkStream> stream(inputStream);
 | 
|          const size_t length = stream->getLength();
 | 
|          if (length <= 0 || (1u << 30) < length) {
 | 
|              return NULL;
 | 
| @@ -823,17 +823,15 @@ protected:
 | 
|          }
 | 
|  
 | 
|          return SkNEW_ARGS(SkTypeface_stream, (style, isFixedWidth, ttcIndex,
 | 
| -                                              static_cast<SkStreamAsset*>(stream)));
 | 
| +                                              static_cast<SkStreamAsset*>(stream.detach())));
 | 
|      }
 | 
|  
 | 
|      SkTypeface* onCreateFromData(SkData* data, int ttcIndex) const SK_OVERRIDE {
 | 
| -        SkAutoTUnref<SkStreamAsset> stream(SkNEW_ARGS(SkMemoryStream, (data)));
 | 
| -        return this->createFromStream(stream, ttcIndex);
 | 
| +        return this->createFromStream(SkNEW_ARGS(SkMemoryStream, (data)), ttcIndex);
 | 
|      }
 | 
|  
 | 
|      SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const SK_OVERRIDE {
 | 
| -        SkAutoTUnref<SkStreamAsset> stream(SkStream::NewFromFile(path));
 | 
| -        return this->createFromStream(stream, ttcIndex);
 | 
| +        return this->createFromStream(SkStream::NewFromFile(path), ttcIndex);
 | 
|      }
 | 
|  
 | 
|      virtual SkTypeface* onLegacyCreateTypeface(const char familyName[],
 | 
| 
 |