Rename CFX_LZWDecompressor to fxcodec::LZWDecompressor

Give it the same treatment we previously applied to GifDecoder.

Change-Id: Iae43c951400dab186f314f0dc6f73d6b8bc62b0c
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80693
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcodec/BUILD.gn b/core/fxcodec/BUILD.gn
index 842695c..784dcce 100644
--- a/core/fxcodec/BUILD.gn
+++ b/core/fxcodec/BUILD.gn
@@ -107,12 +107,12 @@
         "gif/cfx_gif.h",
         "gif/cfx_gifcontext.cpp",
         "gif/cfx_gifcontext.h",
-        "gif/cfx_lzwdecompressor.cpp",
-        "gif/cfx_lzwdecompressor.h",
         "gif/gif_decoder.cpp",
         "gif/gif_decoder.h",
         "gif/gif_progressive_decoder.cpp",
         "gif/gif_progressive_decoder.h",
+        "gif/lzw_decompressor.cpp",
+        "gif/lzw_decompressor.h",
       ]
     }
     if (pdf_enable_xfa_png) {
@@ -155,7 +155,7 @@
     if (pdf_enable_xfa_gif) {
       sources += [
         "gif/cfx_gifcontext_unittest.cpp",
-        "gif/cfx_lzwdecompressor_unittest.cpp",
+        "gif/lzw_decompressor_unittest.cpp",
       ]
     }
   }
diff --git a/core/fxcodec/gif/cfx_gifcontext.cpp b/core/fxcodec/gif/cfx_gifcontext.cpp
index 42f6d9b..c1ec81a 100644
--- a/core/fxcodec/gif/cfx_gifcontext.cpp
+++ b/core/fxcodec/gif/cfx_gifcontext.cpp
@@ -234,33 +234,33 @@
       }
 
       if (!lzw_decompressor_.get()) {
-        lzw_decompressor_ = CFX_LZWDecompressor::Create(
-            GetPaletteExp(gif_image), gif_image->code_exp);
+        lzw_decompressor_ = LZWDecompressor::Create(GetPaletteExp(gif_image),
+                                                    gif_image->code_exp);
       }
       SaveDecodingStatus(GIF_D_STATUS_IMG_DATA);
       img_row_offset_ += img_row_avail_size_;
       img_row_avail_size_ = gif_img_row_bytes - img_row_offset_;
-      CFX_LZWDecompressor::Status ret =
+      LZWDecompressor::Status ret =
           lzw_decompressor_.get()
               ? lzw_decompressor_->Decode(
                     img_data.data(), img_data_size,
                     gif_image->row_buffer.data() + img_row_offset_,
                     &img_row_avail_size_)
-              : CFX_LZWDecompressor::Status::kError;
-      if (ret == CFX_LZWDecompressor::Status::kError) {
+              : LZWDecompressor::Status::kError;
+      if (ret == LZWDecompressor::Status::kError) {
         DecodingFailureAtTailCleanup(gif_image);
         return GifDecoder::Status::kError;
       }
 
-      while (ret != CFX_LZWDecompressor::Status::kError) {
-        if (ret == CFX_LZWDecompressor::Status::kSuccess) {
+      while (ret != LZWDecompressor::Status::kError) {
+        if (ret == LZWDecompressor::Status::kSuccess) {
           ReadScanline(gif_image->row_num, gif_image->row_buffer.data());
           gif_image->row_buffer.clear();
           SaveDecodingStatus(GIF_D_STATUS_TAIL);
           return GifDecoder::Status::kSuccess;
         }
 
-        if (ret == CFX_LZWDecompressor::Status::kUnfinished) {
+        if (ret == LZWDecompressor::Status::kUnfinished) {
           read_marker = input_buffer_->GetPosition();
           if (!ReadAllOrNone(&img_data_size, sizeof(img_data_size)))
             return GifDecoder::Status::kUnfinished;
@@ -273,7 +273,7 @@
             }
 
             if (!lzw_decompressor_.get()) {
-              lzw_decompressor_ = CFX_LZWDecompressor::Create(
+              lzw_decompressor_ = LZWDecompressor::Create(
                   GetPaletteExp(gif_image), gif_image->code_exp);
             }
             SaveDecodingStatus(GIF_D_STATUS_IMG_DATA);
@@ -284,11 +284,11 @@
                             img_data.data(), img_data_size,
                             gif_image->row_buffer.data() + img_row_offset_,
                             &img_row_avail_size_)
-                      : CFX_LZWDecompressor::Status::kError;
+                      : LZWDecompressor::Status::kError;
           }
         }
 
-        if (ret == CFX_LZWDecompressor::Status::kInsufficientDestSize) {
+        if (ret == LZWDecompressor::Status::kInsufficientDestSize) {
           if (gif_image->image_info.local_flags.interlace) {
             ReadScanline(gif_image->row_num, gif_image->row_buffer.data());
             gif_image->row_num += kGifInterlaceStep[img_pass_num_];
@@ -311,11 +311,11 @@
                           img_data.data(), img_data_size,
                           gif_image->row_buffer.data() + img_row_offset_,
                           &img_row_avail_size_)
-                    : CFX_LZWDecompressor::Status::kError;
+                    : LZWDecompressor::Status::kError;
         }
 
-        if (ret == CFX_LZWDecompressor::Status::kInsufficientDestSize ||
-            ret == CFX_LZWDecompressor::Status::kError) {
+        if (ret == LZWDecompressor::Status::kInsufficientDestSize ||
+            ret == LZWDecompressor::Status::kError) {
           DecodingFailureAtTailCleanup(gif_image);
           return GifDecoder::Status::kError;
         }
diff --git a/core/fxcodec/gif/cfx_gifcontext.h b/core/fxcodec/gif/cfx_gifcontext.h
index 27d882f..050125a 100644
--- a/core/fxcodec/gif/cfx_gifcontext.h
+++ b/core/fxcodec/gif/cfx_gifcontext.h
@@ -11,8 +11,8 @@
 #include <vector>
 
 #include "core/fxcodec/gif/cfx_gif.h"
-#include "core/fxcodec/gif/cfx_lzwdecompressor.h"
 #include "core/fxcodec/gif/gif_decoder.h"
+#include "core/fxcodec/gif/lzw_decompressor.h"
 #include "core/fxcrt/retain_ptr.h"
 #include "core/fxcrt/unowned_ptr.h"
 
@@ -54,7 +54,7 @@
   int32_t decode_status_ = GIF_D_STATUS_SIG;
   std::unique_ptr<CFX_GifGraphicControlExtension> graphic_control_extension_;
   std::vector<std::unique_ptr<CFX_GifImage>> images_;
-  std::unique_ptr<CFX_LZWDecompressor> lzw_decompressor_;
+  std::unique_ptr<LZWDecompressor> lzw_decompressor_;
   int width_ = 0;
   int height_ = 0;
   uint8_t bc_index_ = 0;
diff --git a/core/fxcodec/gif/cfx_lzwdecompressor.cpp b/core/fxcodec/gif/lzw_decompressor.cpp
similarity index 83%
rename from core/fxcodec/gif/cfx_lzwdecompressor.cpp
rename to core/fxcodec/gif/lzw_decompressor.cpp
index 144dca6..12b30fc 100644
--- a/core/fxcodec/gif/cfx_lzwdecompressor.cpp
+++ b/core/fxcodec/gif/lzw_decompressor.cpp
@@ -4,7 +4,7 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#include "core/fxcodec/gif/cfx_lzwdecompressor.h"
+#include "core/fxcodec/gif/lzw_decompressor.h"
 
 #include <algorithm>
 #include <cstring>
@@ -15,30 +15,31 @@
 #include "third_party/base/numerics/safe_math.h"
 #include "third_party/base/ptr_util.h"
 
-std::unique_ptr<CFX_LZWDecompressor> CFX_LZWDecompressor::Create(
-    uint8_t color_exp,
-    uint8_t code_exp) {
+namespace fxcodec {
+
+std::unique_ptr<LZWDecompressor> LZWDecompressor::Create(uint8_t color_exp,
+                                                         uint8_t code_exp) {
   // |color_exp| generates 2^(n + 1) codes, where as the code_exp reserves 2^n.
   // This is a quirk of the GIF spec.
   if (code_exp > GIF_MAX_LZW_EXP || code_exp < color_exp + 1)
     return nullptr;
 
   // Private ctor.
-  return pdfium::WrapUnique(new CFX_LZWDecompressor(color_exp, code_exp));
+  return pdfium::WrapUnique(new LZWDecompressor(color_exp, code_exp));
 }
 
-CFX_LZWDecompressor::CFX_LZWDecompressor(uint8_t color_exp, uint8_t code_exp)
+LZWDecompressor::LZWDecompressor(uint8_t color_exp, uint8_t code_exp)
     : code_size_(code_exp),
       code_color_end_(static_cast<uint16_t>(1 << (color_exp + 1))),
       code_clear_(static_cast<uint16_t>(1 << code_exp)),
       code_end_(static_cast<uint16_t>((1 << code_exp) + 1)) {}
 
-CFX_LZWDecompressor::~CFX_LZWDecompressor() = default;
+LZWDecompressor::~LZWDecompressor() = default;
 
-CFX_LZWDecompressor::Status CFX_LZWDecompressor::Decode(const uint8_t* src_buf,
-                                                        uint32_t src_size,
-                                                        uint8_t* dest_buf,
-                                                        uint32_t* dest_size) {
+LZWDecompressor::Status LZWDecompressor::Decode(const uint8_t* src_buf,
+                                                uint32_t src_size,
+                                                uint8_t* dest_buf,
+                                                uint32_t* dest_size) {
   if (!src_buf || src_size == 0 || !dest_buf || !dest_size)
     return Status::kError;
 
@@ -131,7 +132,7 @@
   return Status::kUnfinished;
 }
 
-void CFX_LZWDecompressor::ClearTable() {
+void LZWDecompressor::ClearTable() {
   code_size_cur_ = code_size_ + 1;
   code_next_ = code_end_ + 1;
   code_old_ = static_cast<uint16_t>(-1);
@@ -142,7 +143,7 @@
   decompressed_next_ = 0;
 }
 
-void CFX_LZWDecompressor::AddCode(uint16_t prefix_code, uint8_t append_char) {
+void LZWDecompressor::AddCode(uint16_t prefix_code, uint8_t append_char) {
   if (code_next_ == GIF_MAX_LZW_CODE)
     return;
 
@@ -154,7 +155,7 @@
   }
 }
 
-bool CFX_LZWDecompressor::DecodeString(uint16_t code) {
+bool LZWDecompressor::DecodeString(uint16_t code) {
   decompressed_.resize(code_next_ - code_clear_ + 1);
   decompressed_next_ = 0;
 
@@ -175,8 +176,7 @@
   return true;
 }
 
-uint32_t CFX_LZWDecompressor::ExtractData(uint8_t* dest_buf,
-                                          uint32_t dest_size) {
+uint32_t LZWDecompressor::ExtractData(uint8_t* dest_buf, uint32_t dest_size) {
   if (dest_size == 0)
     return 0;
 
@@ -188,3 +188,5 @@
   decompressed_next_ -= copy_size;
   return copy_size;
 }
+
+}  // namespace fxcodec
diff --git a/core/fxcodec/gif/cfx_lzwdecompressor.h b/core/fxcodec/gif/lzw_decompressor.h
similarity index 79%
rename from core/fxcodec/gif/cfx_lzwdecompressor.h
rename to core/fxcodec/gif/lzw_decompressor.h
index f1628ac..390cedb 100644
--- a/core/fxcodec/gif/cfx_lzwdecompressor.h
+++ b/core/fxcodec/gif/lzw_decompressor.h
@@ -4,8 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
-#ifndef CORE_FXCODEC_GIF_CFX_LZWDECOMPRESSOR_H_
-#define CORE_FXCODEC_GIF_CFX_LZWDECOMPRESSOR_H_
+#ifndef CORE_FXCODEC_GIF_LZW_DECOMPRESSOR_H_
+#define CORE_FXCODEC_GIF_LZW_DECOMPRESSOR_H_
 
 #include <memory>
 #include <vector>
@@ -13,7 +13,9 @@
 #include "core/fxcodec/gif/cfx_gif.h"
 #include "core/fxcrt/fx_memory_wrappers.h"
 
-class CFX_LZWDecompressor {
+namespace fxcodec {
+
+class LZWDecompressor {
  public:
   enum class Status {
     kError,
@@ -28,9 +30,9 @@
   };
 
   // Returns nullptr on error
-  static std::unique_ptr<CFX_LZWDecompressor> Create(uint8_t color_exp,
-                                                     uint8_t code_exp);
-  ~CFX_LZWDecompressor();
+  static std::unique_ptr<LZWDecompressor> Create(uint8_t color_exp,
+                                                 uint8_t code_exp);
+  ~LZWDecompressor();
 
   Status Decode(const uint8_t* src_buf,
                 uint32_t src_size,
@@ -49,7 +51,7 @@
 
  private:
   // Use Create() instead.
-  CFX_LZWDecompressor(uint8_t color_exp, uint8_t code_exp);
+  LZWDecompressor(uint8_t color_exp, uint8_t code_exp);
 
   void ClearTable();
   void AddCode(uint16_t prefix_code, uint8_t append_char);
@@ -73,4 +75,8 @@
   CodeEntry code_table_[GIF_MAX_LZW_CODE];
 };
 
-#endif  // CORE_FXCODEC_GIF_CFX_LZWDECOMPRESSOR_H_
+}  // namespace fxcodec
+
+using LZWDecompressor = fxcodec::LZWDecompressor;
+
+#endif  // CORE_FXCODEC_GIF_LZW_DECOMPRESSOR_H_
diff --git a/core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp b/core/fxcodec/gif/lzw_decompressor_unittest.cpp
similarity index 83%
rename from core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp
rename to core/fxcodec/gif/lzw_decompressor_unittest.cpp
index 1e42c1b..3434beb 100644
--- a/core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp
+++ b/core/fxcodec/gif/lzw_decompressor_unittest.cpp
@@ -2,21 +2,21 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "core/fxcodec/gif/cfx_lzwdecompressor.h"
+#include "core/fxcodec/gif/lzw_decompressor.h"
 
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/base/stl_util.h"
 
-TEST(CFX_LZWDecompressor, CreateBadParams) {
-  EXPECT_EQ(nullptr, CFX_LZWDecompressor::Create(0x10, 0x02));
-  EXPECT_EQ(nullptr, CFX_LZWDecompressor::Create(0x04, 0x0F));
-  EXPECT_EQ(nullptr, CFX_LZWDecompressor::Create(0x02, 0x02));
+TEST(LZWDecompressor, CreateBadParams) {
+  EXPECT_EQ(nullptr, LZWDecompressor::Create(0x10, 0x02));
+  EXPECT_EQ(nullptr, LZWDecompressor::Create(0x04, 0x0F));
+  EXPECT_EQ(nullptr, LZWDecompressor::Create(0x02, 0x02));
 }
 
-TEST(CFX_LZWDecompressor, ExtractData) {
+TEST(LZWDecompressor, ExtractData) {
   uint8_t palette_exp = 0x1;
   uint8_t code_exp = 0x2;
-  auto decompressor = CFX_LZWDecompressor::Create(palette_exp, code_exp);
+  auto decompressor = LZWDecompressor::Create(palette_exp, code_exp);
   ASSERT_NE(nullptr, decompressor);
 
   // Check that 0 length extract does nothing
@@ -79,10 +79,10 @@
   }
 }
 
-TEST(CFX_LZWDecompressor, DecodeBadParams) {
+TEST(LZWDecompressor, DecodeBadParams) {
   uint8_t palette_exp = 0x0;
   uint8_t code_exp = 0x2;
-  auto decompressor = CFX_LZWDecompressor::Create(palette_exp, code_exp);
+  auto decompressor = LZWDecompressor::Create(palette_exp, code_exp);
   ASSERT_NE(nullptr, decompressor);
 
   uint8_t image_data[10];
@@ -92,26 +92,26 @@
   uint32_t output_size = pdfium::size(output_data);
 
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kError,
+      LZWDecompressor::Status::kError,
       decompressor->Decode(nullptr, image_size, output_data, &output_size));
-  EXPECT_EQ(CFX_LZWDecompressor::Status::kError,
+  EXPECT_EQ(LZWDecompressor::Status::kError,
             decompressor->Decode(image_data, 0, output_data, &output_size));
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kError,
+      LZWDecompressor::Status::kError,
       decompressor->Decode(image_data, image_size, nullptr, &output_size));
-  EXPECT_EQ(CFX_LZWDecompressor::Status::kError,
+  EXPECT_EQ(LZWDecompressor::Status::kError,
             decompressor->Decode(image_data, image_size, output_data, nullptr));
 
   output_size = 0;
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kInsufficientDestSize,
+      LZWDecompressor::Status::kInsufficientDestSize,
       decompressor->Decode(image_data, image_size, output_data, &output_size));
 }
 
-TEST(CFX_LZWDecompressor, Decode1x1SingleColour) {
+TEST(LZWDecompressor, Decode1x1SingleColour) {
   uint8_t palette_exp = 0x0;
   uint8_t code_exp = 0x2;
-  auto decompressor = CFX_LZWDecompressor::Create(palette_exp, code_exp);
+  auto decompressor = LZWDecompressor::Create(palette_exp, code_exp);
   ASSERT_NE(nullptr, decompressor);
 
   uint8_t image_data[] = {0x44, 0x01};
@@ -123,17 +123,17 @@
   uint32_t output_size = pdfium::size(output_data);
 
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kSuccess,
+      LZWDecompressor::Status::kSuccess,
       decompressor->Decode(image_data, image_size, output_data, &output_size));
 
   EXPECT_EQ(pdfium::size(output_data), output_size);
   EXPECT_TRUE(0 == memcmp(expected_data, output_data, sizeof(expected_data)));
 }
 
-TEST(CFX_LZWDecompressor, Decode10x10SingleColour) {
+TEST(LZWDecompressor, Decode10x10SingleColour) {
   uint8_t palette_exp = 0x0;
   uint8_t code_exp = 0x2;
-  auto decompressor = CFX_LZWDecompressor::Create(palette_exp, code_exp);
+  auto decompressor = LZWDecompressor::Create(palette_exp, code_exp);
   ASSERT_NE(nullptr, decompressor);
 
   static constexpr uint8_t kImageData[] = {0x84, 0x8F, 0xA9, 0xCB,
@@ -155,17 +155,17 @@
   uint32_t output_size = pdfium::size(output_data);
 
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kSuccess,
+      LZWDecompressor::Status::kSuccess,
       decompressor->Decode(kImageData, image_size, output_data, &output_size));
 
   EXPECT_EQ(pdfium::size(output_data), output_size);
   EXPECT_TRUE(0 == memcmp(kExpectedData, output_data, sizeof(kExpectedData)));
 }
 
-TEST(CFX_LZWDecompressor, Decode10x10MultipleColour) {
+TEST(LZWDecompressor, Decode10x10MultipleColour) {
   uint8_t palette_exp = 0x1;
   uint8_t code_exp = 0x2;
-  auto decompressor = CFX_LZWDecompressor::Create(palette_exp, code_exp);
+  auto decompressor = LZWDecompressor::Create(palette_exp, code_exp);
   ASSERT_NE(nullptr, decompressor);
 
   static constexpr uint8_t kImageData[] = {
@@ -189,18 +189,18 @@
   uint32_t output_size = pdfium::size(output_data);
 
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kSuccess,
+      LZWDecompressor::Status::kSuccess,
       decompressor->Decode(kImageData, image_size, output_data, &output_size));
 
   EXPECT_EQ(pdfium::size(output_data), output_size);
   EXPECT_TRUE(0 == memcmp(kExpectedData, output_data, sizeof(kExpectedData)));
 }
 
-TEST(CFX_LZWDecompressor, HandleColourCodeOutOfPalette) {
+TEST(LZWDecompressor, HandleColourCodeOutOfPalette) {
   uint8_t palette_exp = 0x2;  // Image uses 10 colours, so the palette exp
                               // should be 3, 2^(3+1) = 16 colours.
   uint8_t code_exp = 0x4;
-  auto decompressor = CFX_LZWDecompressor::Create(palette_exp, code_exp);
+  auto decompressor = LZWDecompressor::Create(palette_exp, code_exp);
   ASSERT_NE(nullptr, decompressor);
 
   static constexpr uint8_t kImageData[] = {
@@ -214,6 +214,6 @@
   uint32_t output_size = pdfium::size(output_data);
 
   EXPECT_EQ(
-      CFX_LZWDecompressor::Status::kError,
+      LZWDecompressor::Status::kError,
       decompressor->Decode(kImageData, image_size, output_data, &output_size));
 }
diff --git a/testing/fuzzers/pdf_lzw_fuzzer.cc b/testing/fuzzers/pdf_lzw_fuzzer.cc
index 9ab5886..196841a 100644
--- a/testing/fuzzers/pdf_lzw_fuzzer.cc
+++ b/testing/fuzzers/pdf_lzw_fuzzer.cc
@@ -4,7 +4,7 @@
 
 #include <vector>
 
-#include "core/fxcodec/gif/cfx_lzwdecompressor.h"
+#include "core/fxcodec/gif/lzw_decompressor.h"
 #include "third_party/base/numerics/safe_conversions.h"
 
 // Between 2x and 5x is a standard range for LZW according to a quick
@@ -16,8 +16,8 @@
              size_t src_size,
              uint8_t color_exp,
              uint8_t code_exp) {
-  std::unique_ptr<CFX_LZWDecompressor> decompressor =
-      CFX_LZWDecompressor::Create(color_exp, code_exp);
+  std::unique_ptr<LZWDecompressor> decompressor =
+      LZWDecompressor::Create(color_exp, code_exp);
   if (!decompressor)
     return;
 
@@ -27,7 +27,7 @@
     // This cast should be safe since the caller is checking for overflow on
     // the initial data.
     uint32_t dest_size = static_cast<uint32_t>(dest_buf.size());
-    if (CFX_LZWDecompressor::Status::kInsufficientDestSize !=
+    if (LZWDecompressor::Status::kInsufficientDestSize !=
         decompressor->Decode(src_buf, src_size, dest_buf.data(), &dest_size)) {
       return;
     }