diff --git a/core/fpdfapi/page/cpdf_dib.h b/core/fpdfapi/page/cpdf_dib.h
index 7e7f3cf..3a19883 100644
--- a/core/fpdfapi/page/cpdf_dib.h
+++ b/core/fpdfapi/page/cpdf_dib.h
@@ -19,7 +19,6 @@
 #include "core/fxge/dib/cfx_dibbase.h"
 #include "third_party/base/span.h"
 
-class CPDF_Color;
 class CPDF_Dictionary;
 class CPDF_Document;
 class CPDF_Stream;
@@ -37,7 +36,7 @@
 class ScanlineDecoder;
 }  // namespace fxcodec
 
-#define FPDF_HUGE_IMAGE_SIZE 60000000
+constexpr size_t kHugeImageSize = 60000000;
 
 class CPDF_DIB final : public CFX_DIBBase {
  public:
@@ -48,7 +47,7 @@
 
   bool Load(CPDF_Document* pDoc, const CPDF_Stream* pStream);
 
-  // CFX_DIBBase
+  // CFX_DIBBase:
   bool SkipToScanline(int line, PauseIndicatorIface* pPause) const override;
   uint8_t* GetBuffer() const override;
   const uint8_t* GetScanline(int line) const override;
@@ -138,6 +137,7 @@
   uint32_t m_nComponents = 0;
   uint32_t m_GroupFamily = 0;
   uint32_t m_MatteColor = 0;
+  LoadState m_Status = LoadState::kFail;
   bool m_bLoadMask = false;
   bool m_bDefaultDecode = true;
   bool m_bImageMask = false;
@@ -149,6 +149,7 @@
   std::unique_ptr<uint8_t, FxFreeDeleter> m_pLineBuf;
   std::unique_ptr<uint8_t, FxFreeDeleter> m_pMaskedLine;
   RetainPtr<CFX_DIBitmap> m_pCachedBitmap;
+  // Note: Must not create a cycle between CPDF_DIB instances.
   RetainPtr<CPDF_DIB> m_pMask;
   RetainPtr<CPDF_StreamAcc> m_pGlobalAcc;
   std::unique_ptr<fxcodec::ScanlineDecoder> m_pDecoder;
@@ -157,7 +158,6 @@
   std::unique_ptr<fxcodec::Jbig2Context> m_pJbig2Context;
 
   RetainPtr<const CPDF_Stream> m_pMaskStream;
-  LoadState m_Status = LoadState::kFail;
 };
 
 #endif  // CORE_FPDFAPI_PAGE_CPDF_DIB_H_
diff --git a/core/fpdfapi/render/cpdf_imagecacheentry.cpp b/core/fpdfapi/render/cpdf_imagecacheentry.cpp
index c4cd9c6..79053a8 100644
--- a/core/fpdfapi/render/cpdf_imagecacheentry.cpp
+++ b/core/fpdfapi/render/cpdf_imagecacheentry.cpp
@@ -97,8 +97,7 @@
   CPDF_RenderContext* pContext = pRenderStatus->GetContext();
   CPDF_PageRenderCache* pPageRenderCache = pContext->GetPageCache();
   m_dwTimeCount = pPageRenderCache->GetTimeCount();
-  if (m_pCurBitmap->GetPitch() * m_pCurBitmap->GetHeight() <
-      FPDF_HUGE_IMAGE_SIZE) {
+  if (m_pCurBitmap->GetPitch() * m_pCurBitmap->GetHeight() < kHugeImageSize) {
     m_pCachedBitmap = m_pCurBitmap->Clone(nullptr);
     m_pCurBitmap.Reset();
   } else {
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index 4067ebd..2d3ec4c 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -383,7 +383,7 @@
     if (!image_size.IsValid())
       return false;
 
-    if (image_size.ValueOrDie() > FPDF_HUGE_IMAGE_SIZE &&
+    if (image_size.ValueOrDie() > kHugeImageSize &&
         !m_ResampleOptions.bHalftone) {
       m_ResampleOptions.bInterpolateBilinear = true;
     }
