Simply rust Slice construction in CFX_Face.

Rust has a constructor template for any container providing data() and
size(), and a deduction guide based upon the return type of data(), so
omit a lot of explicit type information in these calls.

The constructor is explicit, however, otherwise a span could be passed
transparently.

Change-Id: I0757bd281fe4e7d1d8e8c7af206baa0ad5bf752c
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/148391
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/cfx_face.cpp b/core/fxge/cfx_face.cpp
index 9bdb80f..9a7f7e9 100644
--- a/core/fxge/cfx_face.cpp
+++ b/core/fxge/cfx_face.cpp
@@ -375,8 +375,8 @@
   }
 #if defined(PDF_ENABLE_FONTATIONS)
   pdfium::span<const uint8_t> span = font_stream->span();
-  auto skrifa_font = std::make_unique<SkrifaFontHolder>(skrifa::new_ps_font(
-      rust::Slice<const uint8_t>(span.data(), span.size())));
+  auto skrifa_font = std::make_unique<SkrifaFontHolder>(
+      skrifa::new_ps_font(rust::Slice(span)));
 #endif
 
   // Private ctor.
@@ -462,8 +462,7 @@
 #if defined(PDF_ENABLE_SKIA_TYPEFACE_CHECKS)
 #if defined(PDF_ENABLE_FONTATIONS)
   pdfium::span<const uint8_t> data = GetData();
-  rust::String skrifa_result = skrifa::get_style_name(
-      rust::Slice<const uint8_t>(data.data(), data.size()));
+  rust::String skrifa_result = skrifa::get_style_name(rust::Slice(data));
   CHECK_EQ(ft_result.IsEmpty(), skrifa_result.empty());
   if (!ft_result.IsEmpty() && !skrifa_result.empty()) {
     CHECK_EQ(ft_result, ByteString(skrifa_result.c_str()));
@@ -587,8 +586,7 @@
   std::optional<std::array<uint32_t, 4>> skrifa_result;
   pdfium::span<const uint8_t> data = GetData();
   skrifa::UnicodeRange range;
-  if (skrifa::get_os2_unicode_range(
-          rust::Slice<const uint8_t>(data.data(), data.size()), range)) {
+  if (skrifa::get_os2_unicode_range(rust::Slice(data), range)) {
     skrifa_result = std::array<uint32_t, 4>{range.range1, range.range2,
                                             range.range3, range.range4};
   }
@@ -620,8 +618,7 @@
   std::optional<std::array<uint32_t, 2>> skrifa_result;
   pdfium::span<const uint8_t> data = GetData();
   skrifa::CodePageRange range;
-  if (skrifa::get_os2_code_page_range(
-          rust::Slice<const uint8_t>(data.data(), data.size()), range)) {
+  if (skrifa::get_os2_code_page_range(rust::Slice(data), range)) {
     skrifa_result = std::array<uint32_t, 2>{range.range1, range.range2};
   }
 
@@ -648,8 +645,7 @@
   std::optional<std::array<uint8_t, 2>> skrifa_result;
   pdfium::span<const uint8_t> data = GetData();
   skrifa::Os2Panose panose;
-  if (skrifa::get_os2_panose(
-          rust::Slice<const uint8_t>(data.data(), data.size()), panose)) {
+  if (skrifa::get_os2_panose(rust::Slice(data), panose)) {
     skrifa_result = std::array<uint8_t, 2>{panose.b0, panose.b1};
   }
 
@@ -1015,8 +1011,8 @@
 #if defined(PDF_ENABLE_SKIA_TYPEFACE_CHECKS)
 #if defined(PDF_ENABLE_FONTATIONS)
   pdfium::span<const uint8_t> data = GetData();
-  rust::String skrifa_result = skrifa::get_glyph_name(
-      rust::Slice<const uint8_t>(data.data(), data.size()), glyph_index);
+  rust::String skrifa_result =
+      skrifa::get_glyph_name(rust::Slice(data), glyph_index);
   CHECK_EQ(ft_result.IsEmpty(), skrifa_result.empty());
   if (!ft_result.IsEmpty() && !skrifa_result.empty()) {
     CHECK_EQ(ft_result, ByteString(skrifa_result.c_str()));
@@ -1059,8 +1055,7 @@
 #if defined(PDF_ENABLE_SKIA_TYPEFACE_CHECKS)
 #if defined(PDF_ENABLE_FONTATIONS)
   pdfium::span<const uint8_t> data = GetData();
-  uint32_t skrifa_result = skrifa::get_name_index(
-      rust::Slice<const uint8_t>(data.data(), data.size()), name);
+  uint32_t skrifa_result = skrifa::get_name_index(rust::Slice(data), name);
   CHECK_EQ(ft_result, static_cast<int>(skrifa_result));
 #endif  // defined(PDF_ENABLE_FONTATIONS)
 #endif  // defined(PDF_ENABLE_SKIA_TYPEFACE_CHECKS)
@@ -1234,8 +1229,8 @@
 #if defined(PDF_ENABLE_SKIA_TYPEFACE_CHECKS)
 #if defined(PDF_ENABLE_FONTATIONS)
   pdfium::span<const uint8_t> data = GetData();
-  auto skrifa_result = skrifa::get_char_codes_and_indices(
-      rust::Slice<const uint8_t>(data.data(), data.size()), max_char);
+  auto skrifa_result =
+      skrifa::get_char_codes_and_indices(rust::Slice(data), max_char);
 
   CHECK_EQ(results.size(), skrifa_result.size());
   for (size_t i = 0; i < results.size(); ++i) {
@@ -1323,8 +1318,7 @@
   bool skrifa_result = false;
   uint16_t fs_type = 0;
   pdfium::span<const uint8_t> data = GetData();
-  if (skrifa::get_os2_fs_type(
-          rust::Slice<const uint8_t>(data.data(), data.size()), fs_type)) {
+  if (skrifa::get_os2_fs_type(rust::Slice(data), fs_type)) {
     skrifa_result =
         (fs_type &
          (fxcrt::to_underlying(skrifa::FsType::RestrictedLicenseEmbedding) |