SkPDF: Add sk_sp setters; .release() becomes std::move()

Note to reviewers:  Start with changes to SkPDFTypes.h

Many places that had a bare pointer owning a reference are refactored to
use a sk_sp.

There remain several places where a non-owning pointer `T*` should be
replaced with `const sk_sp<T>&` to eliminate the common pattern
`sk_sp<T>(SkRef(x))`.

Committed: https://skia.googlesource.com/skia/+/9904c9212074279380e21f96575078734dbbd308
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1775043002

Review URL: https://codereview.chromium.org/1775043002
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp
index 95ef9dc..d5f114e 100644
--- a/src/pdf/SkPDFShader.cpp
+++ b/src/pdf/SkPDFShader.cpp
@@ -523,7 +523,7 @@
     return get_pdf_shader_by_state(canon, dpi, &state);
 }
 
-static SkPDFDict* get_gradient_resource_dict(
+static sk_sp<SkPDFDict> get_gradient_resource_dict(
         SkPDFObject* functionShader,
         SkPDFObject* gState) {
     SkTDArray<SkPDFObject*> patterns;
@@ -534,7 +534,7 @@
     if (gState) {
         graphicStates.push(gState);
     }
-    return SkPDFResourceDict::Create(&graphicStates, &patterns, nullptr, nullptr);
+    return SkPDFResourceDict::Make(&graphicStates, &patterns, nullptr, nullptr);
 }
 
 static void populate_tiling_pattern_dict(SkPDFDict* pattern,
@@ -552,7 +552,7 @@
     pattern->insertObject("BBox", SkPDFUtils::RectToArray(bbox));
     pattern->insertScalar("XStep", bbox.width());
     pattern->insertScalar("YStep", bbox.height());
-    pattern->insertObject("Resources", SkRef(resources));
+    pattern->insertObject("Resources", sk_sp<SkPDFDict>(SkRef(resources)));
     if (!matrix.isIdentity()) {
         pattern->insertObject("Matrix", SkPDFUtils::MatrixToArray(matrix));
     }
@@ -592,8 +592,8 @@
 
     SkAutoTDelete<SkStream> alphaStream(create_pattern_fill_content(-1, bbox));
 
-    sk_sp<SkPDFDict>
-        resources(get_gradient_resource_dict(luminosityShader.get(), nullptr));
+    auto resources =
+        get_gradient_resource_dict(luminosityShader.get(), nullptr);
 
     sk_sp<SkPDFFormXObject> alphaMask(
             new SkPDFFormXObject(alphaStream.get(), bbox, resources.get()));
@@ -627,8 +627,8 @@
     SkPDFAlphaFunctionShader* alphaFunctionShader =
             new SkPDFAlphaFunctionShader(autoState->detach());
 
-    sk_sp<SkPDFDict> resourceDict(
-            get_gradient_resource_dict(colorShader.get(), alphaGs.get()));
+    auto resourceDict =
+            get_gradient_resource_dict(colorShader.get(), alphaGs.get());
 
     SkAutoTDelete<SkStream> colorStream(
             create_pattern_fill_content(0, bbox));
@@ -697,8 +697,8 @@
             SkData::NewWithCopy(psCode.c_str(), psCode.size()));
     SkPDFStream* result = new SkPDFStream(funcData.get());
     result->insertInt("FunctionType", 4);
-    result->insertObject("Domain", SkRef(domain));
-    result->insertObject("Range", SkRef(rangeObject.get(create_range_object)));
+    result->insertObject("Domain", sk_sp<SkPDFObject>(SkRef(domain)));
+    result->insertObject("Range", sk_sp<SkPDFObject>(SkRef(rangeObject.get(create_range_object))));
     return result;
 }
 
@@ -802,18 +802,18 @@
     auto pdfShader = sk_make_sp<SkPDFDict>();
     pdfShader->insertInt("ShadingType", 1);
     pdfShader->insertName("ColorSpace", "DeviceRGB");
-    pdfShader->insertObject("Domain", SkRef(domain.get()));
+    pdfShader->insertObject("Domain", sk_sp<SkPDFObject>(SkRef(domain.get())));
 
     sk_sp<SkPDFStream> function(
             make_ps_function(functionCode, domain.get()));
-    pdfShader->insertObjRef("Function", function.release());
+    pdfShader->insertObjRef("Function", std::move(function));
 
     sk_sp<SkPDFFunctionShader> pdfFunctionShader(
             new SkPDFFunctionShader(autoState->detach()));
     pdfFunctionShader->insertInt("PatternType", 2);
     pdfFunctionShader->insertObject("Matrix",
                                     SkPDFUtils::MatrixToArray(finalMatrix));
-    pdfFunctionShader->insertObject("Shading", pdfShader.release());
+    pdfFunctionShader->insertObject("Shading", std::move(pdfShader));
 
     canon->addFunctionShader(pdfFunctionShader.get());
     return pdfFunctionShader.release();
@@ -1019,13 +1019,12 @@
     }
 
     // Put the canvas into the pattern stream (fContent).
-    SkAutoTDelete<SkStreamAsset> content(patternDevice->content());
+    auto content = patternDevice->content();
 
     SkPDFImageShader* imageShader = new SkPDFImageShader(autoState->detach());
     imageShader->setData(content.get());
 
-    sk_sp<SkPDFDict> resourceDict(
-            patternDevice->createResourceDict());
+    auto resourceDict = patternDevice->makeResourceDict();
     populate_tiling_pattern_dict(imageShader, patternBBox,
                                  resourceDict.get(), finalMatrix);