Don't infer UnownedPtr::ExtractAsDangling() type

Passes the return value of UnownedPtr::ExtractAsDangling() directly to
the RetainPtr constructor, rather than using pdfium::WrapRetain(). When
UnownedPtr is a raw_ptr (as in Chromium), ExtractAsDangling() returns
another raw_ptr, which cannot be implicitly converted to CFX_DIBBase*
when passed to WrapRetain().

Bug: pdfium:2034
Change-Id: If4fc95694fa76eb0e9da02f87507b1521376e3ff
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/108491
Reviewed-by: Nigi <nigi@chromium.org>
Auto-Submit: K. Moon <kmoon@chromium.org>
Commit-Queue: Nigi <nigi@chromium.org>
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index c212140..b5e0f6a 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -231,8 +231,8 @@
     }
 
     // Convert unowned pointer to a retained pointer, then "leak" to `SkImage`.
-    RetainPtr<CFX_DIBBase> retained =
-        pdfium::WrapRetain(absl::get<UnownedType>(data_).ExtractAsDangling());
+    RetainPtr<CFX_DIBBase> retained(
+        absl::get<UnownedType>(data_).ExtractAsDangling());
     CFX_DIBBase* source = retained.Leak();
     return SkImages::RasterFromPixmap(
         SkPixmap(info_, source->GetBuffer().data(), row_bytes_),