[PDF] Clean up ref counting.

Return ref'd objs where possible enabling removal of many SkRefPtr<> variables.

Review URL: http://codereview.appspot.com/4029051

git-svn-id: http://skia.googlecode.com/svn/trunk@750 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pdf/SkPDFFormXObject.cpp b/src/pdf/SkPDFFormXObject.cpp
index 8587ea6..186c228 100644
--- a/src/pdf/SkPDFFormXObject.cpp
+++ b/src/pdf/SkPDFFormXObject.cpp
@@ -31,14 +31,8 @@
     fStream = new SkPDFStream(stream_data);
     fStream->unref();  // SkRefPtr and new both took a reference.
 
-    SkRefPtr<SkPDFName> typeValue = new SkPDFName("XObject");
-    typeValue->unref();  // SkRefPtr and new both took a reference.
-    insert("Type", typeValue.get());
-
-    SkRefPtr<SkPDFName> subTypeValue = new SkPDFName("Form");
-    subTypeValue->unref();  // SkRefPtr and new both took a reference.
-    insert("Subtype", subTypeValue.get());
-
+    insert("Type", new SkPDFName("XObject"))->unref();
+    insert("Subtype", new SkPDFName("Form"))->unref();
     insert("BBox", device->getMediaBox().get());
     insert("Resources", device->getResourceDict().get());
 
@@ -48,11 +42,8 @@
         transformArray->reserve(6);
         SkScalar transform[6];
         SkAssertResult(matrix.pdfTransform(transform));
-        for (size_t i = 0; i < SK_ARRAY_COUNT(transform); i++) {
-            SkRefPtr<SkPDFScalar> val = new SkPDFScalar(transform[i]);
-            val->unref();  // SkRefPtr and new both took a reference.
-            transformArray->append(val.get());
-        }
+        for (size_t i = 0; i < SK_ARRAY_COUNT(transform); i++)
+            transformArray->append(new SkPDFScalar(transform[i]))->unref();
         insert("Matrix", transformArray.get());
     }
 }
@@ -78,10 +69,10 @@
     fDevice->getResources(resourceList);
 }
 
-void SkPDFFormXObject::insert(SkPDFName* key, SkPDFObject* value) {
-    fStream->insert(key, value);
+SkPDFObject* SkPDFFormXObject::insert(SkPDFName* key, SkPDFObject* value) {
+    return fStream->insert(key, value);
 }
 
-void SkPDFFormXObject::insert(const char key[], SkPDFObject* value) {
-    fStream->insert(key, value);
+SkPDFObject* SkPDFFormXObject::insert(const char key[], SkPDFObject* value) {
+    return fStream->insert(key, value);
 }