free -> reset

The C++ standard library uses ".reset()" where we sometimes write ".free()".
We also use ".reset()" quite a lot.  This standardizes on ".reset()".

This is one more step towards dropping SkAutoTDelete in favor of the standard
std::unique_ptr.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1811723002

Review URL: https://codereview.chromium.org/1811723002
diff --git a/bench/GrMemoryPoolBench.cpp b/bench/GrMemoryPoolBench.cpp
index 3efe653..f1872fc 100644
--- a/bench/GrMemoryPoolBench.cpp
+++ b/bench/GrMemoryPoolBench.cpp
@@ -117,7 +117,7 @@
             if (nullptr == objects[idx].get()) {
                 objects[idx].reset(new B);
             } else {
-                objects[idx].free();
+                objects[idx].reset();
             }
         }
     }
diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
index 27cb6aa..e9211e5 100644
--- a/dm/DMSrcSink.cpp
+++ b/dm/DMSrcSink.cpp
@@ -1411,7 +1411,7 @@
         }
         mojoPicture = SkMojo::FlattenedPicture::New();
         mojoPicture->Deserialize(storage.get());
-        storage.free();
+        storage.reset();
         if (!mojoPicture) {
             return "SkMojo::FlattenedPicture::Deserialize failed";
         }
diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
index 27280d4..1051f08 100644
--- a/include/core/SkTypes.h
+++ b/include/core/SkTypes.h
@@ -519,7 +519,7 @@
     /** Free the current buffer, and set the internal reference to NULL. Same
         as calling sk_free(release())
     */
-    void free() {
+    void reset() {
         sk_free(fPtr);
         fPtr = NULL;
     }
@@ -571,7 +571,7 @@
     /**
      *  Reallocates the block to a new size. The ptr may or may not change.
      */
-    void* reset(size_t size, OnShrink shrink = kAlloc_OnShrink,  bool* didChangeAlloc = NULL) {
+    void* reset(size_t size = 0, OnShrink shrink = kAlloc_OnShrink,  bool* didChangeAlloc = NULL) {
         if (size == fSize || (kReuse_OnShrink == shrink && size < fSize)) {
             if (didChangeAlloc) {
                 *didChangeAlloc = false;
@@ -590,13 +590,6 @@
     }
 
     /**
-     *  Releases the block back to the heap
-     */
-    void free() {
-        this->reset(0);
-    }
-
-    /**
      *  Return the allocated block.
      */
     void* get() { return fPtr; }
diff --git a/include/private/SkTemplates.h b/include/private/SkTemplates.h
index d83ffc8..e8fbfd5 100644
--- a/include/private/SkTemplates.h
+++ b/include/private/SkTemplates.h
@@ -96,7 +96,6 @@
     SkAutoTDelete(T* obj = NULL) : std::unique_ptr<T>(obj) {}
 
     operator T*() const { return this->get(); }
-    void free() { this->reset(nullptr); }
 
 #if defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)
     // Need to update graphics/BitmapRegionDecoder.cpp.
@@ -110,8 +109,6 @@
 template <typename T> class SkAutoTDeleteArray : public std::unique_ptr<T[]> {
 public:
     SkAutoTDeleteArray(T array[]) : std::unique_ptr<T[]>(array) {}
-
-    void free() { this->reset(nullptr); }
 };
 
 /** Allocate an array of T elements, and free the array in the destructor
@@ -286,9 +283,9 @@
     }
 
     /** Resize the memory area pointed to by the current ptr without preserving contents. */
-    T* reset(size_t count) {
+    T* reset(size_t count = 0) {
         sk_free(fPtr);
-        fPtr = (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW);
+        fPtr = count ? (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW) : nullptr;
         return fPtr;
     }
 
@@ -311,13 +308,6 @@
     }
 
     /**
-     *  Releases the block back to the heap
-     */
-    void free() {
-        this->reset(0);
-    }
-
-    /**
      *  Transfer ownership of the ptr to the caller, setting the internal
      *  pointer to NULL. Note that this differs from get(), which also returns
      *  the pointer, but it does not transfer ownership.
diff --git a/src/codec/SkBmpCodec.cpp b/src/codec/SkBmpCodec.cpp
index 32f1d15..e327f79 100644
--- a/src/codec/SkBmpCodec.cpp
+++ b/src/codec/SkBmpCodec.cpp
@@ -392,7 +392,7 @@
             alphaType = kUnpremul_SkAlphaType;
         }
     }
-    iBuffer.free();
+    iBuffer.reset();
 
     // Additionally, 32 bit bmp-in-icos use the alpha channel.
     // FIXME (msarett): Don't all bmp-in-icos use the alpha channel?
diff --git a/src/codec/SkJpegCodec.cpp b/src/codec/SkJpegCodec.cpp
index 2534a5f..a342cd8 100644
--- a/src/codec/SkJpegCodec.cpp
+++ b/src/codec/SkJpegCodec.cpp
@@ -413,7 +413,7 @@
     // Remove objects used for sampling.
     fSwizzler.reset(nullptr);
     fSrcRow = nullptr;
-    fStorage.free();
+    fStorage.reset();
 
     // Now, given valid output dimensions, we can start the decompress
     if (!jpeg_start_decompress(fDecoderMgr->dinfo())) {
diff --git a/src/codec/SkRawCodec.cpp b/src/codec/SkRawCodec.cpp
index 208bd89..3b7b9a9 100644
--- a/src/codec/SkRawCodec.cpp
+++ b/src/codec/SkRawCodec.cpp
@@ -381,7 +381,7 @@
         if (fStream->getMemoryBase()) {  // directly copy if getMemoryBase() is available.
             SkAutoTUnref<SkData> data(SkData::NewWithCopy(
                 static_cast<const uint8_t*>(fStream->getMemoryBase()) + offset, bytesToRead));
-            fStream.free();
+            fStream.reset();
             return new SkMemoryStream(data);
         } else {
             SkAutoTUnref<SkData> data(SkData::NewUninitialized(bytesToRead));
diff --git a/src/core/SkAdvancedTypefaceMetrics.cpp b/src/core/SkAdvancedTypefaceMetrics.cpp
index b5b49e3..28079f9 100644
--- a/src/core/SkAdvancedTypefaceMetrics.cpp
+++ b/src/core/SkAdvancedTypefaceMetrics.cpp
@@ -245,7 +245,7 @@
     if (curRange->fStartId == lastIndex) {
         SkASSERT(prevRange);
         SkASSERT(prevRange->fNext->fStartId == lastIndex);
-        prevRange->fNext.free();
+        prevRange->fNext.reset();
     } else {
         finishRange(curRange, lastIndex - 1,
                     SkAdvancedTypefaceMetrics::WidthRange::kRange);
diff --git a/src/core/SkAdvancedTypefaceMetrics.h b/src/core/SkAdvancedTypefaceMetrics.h
index 92655d2..424e5f3 100644
--- a/src/core/SkAdvancedTypefaceMetrics.h
+++ b/src/core/SkAdvancedTypefaceMetrics.h
@@ -28,13 +28,12 @@
     T*        get() const { return fPtr; }
     T* operator->() const { return fPtr; }
 
-    void reset(T* ptr) {
+    void reset(T* ptr = nullptr) {
         if (ptr != fPtr) {
             delete fPtr;
             fPtr = ptr;
         }
     }
-    void free() { this->reset(nullptr); }
     T* release() {
         T* ptr = fPtr;
         fPtr = nullptr;
diff --git a/src/gpu/GrGlyph.h b/src/gpu/GrGlyph.h
index 55e925f..fb998a4 100644
--- a/src/gpu/GrGlyph.h
+++ b/src/gpu/GrGlyph.h
@@ -28,7 +28,7 @@
         kCoverage_MaskStyle,
         kDistance_MaskStyle
     };
-    
+
     typedef uint32_t PackedID;
 
     GrBatchAtlas::AtlasID fID;
@@ -49,7 +49,7 @@
         fTooLargeForAtlas = GrBatchAtlas::GlyphTooLargeForAtlas(bounds.width(), bounds.height());
     }
 
-    void free() {
+    void reset() {
         if (fPath) {
             delete fPath;
             fPath = nullptr;
@@ -86,7 +86,7 @@
     static inline MaskStyle UnpackMaskStyle(PackedID packed) {
         return ((packed >> 20) & 1) ? kDistance_MaskStyle : kCoverage_MaskStyle;
     }
-    
+
     static inline uint16_t UnpackID(PackedID packed) {
         return (uint16_t)packed;
     }
diff --git a/src/gpu/GrLayerCache.cpp b/src/gpu/GrLayerCache.cpp
index c2facbb..3c7ab88 100644
--- a/src/gpu/GrLayerCache.cpp
+++ b/src/gpu/GrLayerCache.cpp
@@ -98,7 +98,7 @@
     SkASSERT(0 == fPictureHash.count());
 
     // The atlas only lets go of its texture when the atlas is deleted.
-    fAtlas.free();
+    fAtlas.reset();
 }
 
 void GrLayerCache::initAtlas() {
diff --git a/src/gpu/text/GrBatchFontCache.cpp b/src/gpu/text/GrBatchFontCache.cpp
index d99df1d..97c55e2 100644
--- a/src/gpu/text/GrBatchFontCache.cpp
+++ b/src/gpu/text/GrBatchFontCache.cpp
@@ -165,7 +165,7 @@
 GrBatchTextStrike::~GrBatchTextStrike() {
     SkTDynamicHash<GrGlyph, GrGlyph::PackedID>::Iter iter(&fCache);
     while (!iter.done()) {
-        (*iter).free();
+        (*iter).reset();
         ++iter;
     }
 }
diff --git a/src/images/SkImageDecoder_libwebp.cpp b/src/images/SkImageDecoder_libwebp.cpp
index 5253577..2db08ce 100644
--- a/src/images/SkImageDecoder_libwebp.cpp
+++ b/src/images/SkImageDecoder_libwebp.cpp
@@ -224,7 +224,7 @@
             break;
         }
     } while (VP8_STATUS_OK != status);
-    srcStorage.free();
+    srcStorage.reset();
     WebPIDelete(idec);
     WebPFreeDecBuffer(&config->output);
 
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index 94a103a..443bb1a 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -732,9 +732,9 @@
 }
 
 void SkPDFDevice::init() {
-    fContentEntries.free();
+    fContentEntries.reset();
     fLastContentEntry = nullptr;
-    fMarginContentEntries.free();
+    fMarginContentEntries.reset();
     fLastMarginContentEntry = nullptr;
     fDrawingArea = kContent_DrawingArea;
     if (fFontGlyphUsage.get() == nullptr) {
diff --git a/src/utils/SkBitSet.cpp b/src/utils/SkBitSet.cpp
index 3ace15d..985bb6e 100755
--- a/src/utils/SkBitSet.cpp
+++ b/src/utils/SkBitSet.cpp
@@ -27,7 +27,7 @@
         return *this;
     }
     fBitCount = rhs.fBitCount;
-    fBitData.free();
+    fBitData.reset();
     fDwordCount = rhs.fDwordCount;
     fBitData.set(sk_malloc_throw(fDwordCount * sizeof(uint32_t)));
     memcpy(fBitData.get(), rhs.fBitData.get(), fDwordCount * sizeof(uint32_t));
diff --git a/src/xml/SkDOM.cpp b/src/xml/SkDOM.cpp
index 0f0b614..8b55f6c 100644
--- a/src/xml/SkDOM.cpp
+++ b/src/xml/SkDOM.cpp
@@ -374,7 +374,7 @@
 const SkDOM::Node* SkDOM::finishParsing() {
     SkASSERT(fParser);
     fRoot = fParser->getRoot();
-    fParser.free();
+    fParser.reset();
 
     return fRoot;
 }