Move CPDF_ModuleMgr::kFileBufSize to CPDF_Stream.

Allow removing another circular include. Streams are more likely
concenred about buffer sizes than a module manager would be in
the first place.

Change-Id: Ia046e424cf5da1112cf1684a90dbed8f4898a3a6
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/55395
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/BUILD.gn b/core/fpdfapi/BUILD.gn
index 9ebdab7..50409a5 100644
--- a/core/fpdfapi/BUILD.gn
+++ b/core/fpdfapi/BUILD.gn
@@ -25,9 +25,6 @@
     "parser",
     "render",
   ]
-  allow_circular_includes_from = [
-    "page",
-    "parser",
-  ]
+  allow_circular_includes_from = [ "page" ]
   visibility = [ "../../*" ]
 }
diff --git a/core/fpdfapi/cpdf_modulemgr.h b/core/fpdfapi/cpdf_modulemgr.h
index 70eb6f0..7bda93b 100644
--- a/core/fpdfapi/cpdf_modulemgr.h
+++ b/core/fpdfapi/cpdf_modulemgr.h
@@ -29,7 +29,6 @@
   static void Create();
   static void Destroy();
   static CPDF_ModuleMgr* Get();
-  static const int kFileBufSize = 512;
 
   void SetUnsupportInfoAdapter(
       std::unique_ptr<fpdfapi::UnsupportedInfoAdapter> pAdapter) {
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp
index 2a3fac5..cdcb4ff 100644
--- a/core/fpdfapi/parser/cpdf_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_parser.cpp
@@ -650,7 +650,7 @@
   m_CrossRefTable = CPDF_CrossRefTable::MergeUp(std::move(m_CrossRefTable),
                                                 std::move(cross_ref_table));
   // Resore default buffer size.
-  m_pSyntax->SetReadBufferSize(CPDF_ModuleMgr::kFileBufSize);
+  m_pSyntax->SetReadBufferSize(CPDF_Stream::kFileBufSize);
 
   return GetTrailer() && !m_CrossRefTable->objects_info().empty();
 }
diff --git a/core/fpdfapi/parser/cpdf_read_validator.cpp b/core/fpdfapi/parser/cpdf_read_validator.cpp
index 67958de..61d7d19 100644
--- a/core/fpdfapi/parser/cpdf_read_validator.cpp
+++ b/core/fpdfapi/parser/cpdf_read_validator.cpp
@@ -6,13 +6,13 @@
 
 #include <algorithm>
 
-#include "core/fpdfapi/cpdf_modulemgr.h"
+#include "core/fpdfapi/parser/cpdf_stream.h"
 #include "core/fxcrt/fx_safe_types.h"
 #include "third_party/base/logging.h"
 
 namespace {
 
-constexpr FX_FILESIZE kAlignBlockValue = CPDF_ModuleMgr::kFileBufSize;
+constexpr FX_FILESIZE kAlignBlockValue = CPDF_Stream::kFileBufSize;
 
 FX_FILESIZE AlignDown(FX_FILESIZE offset) {
   return offset > 0 ? (offset - offset % kAlignBlockValue) : 0;
@@ -133,7 +133,7 @@
   FX_SAFE_FILESIZE end_segment_offset = offset;
   end_segment_offset += size;
   // Increase checked range to allow CPDF_SyntaxParser read whole buffer.
-  end_segment_offset += CPDF_ModuleMgr::kFileBufSize;
+  end_segment_offset += CPDF_Stream::kFileBufSize;
   if (!end_segment_offset.IsValid()) {
     NOTREACHED();
     return false;
diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h
index d76b683..29c4bfb 100644
--- a/core/fpdfapi/parser/cpdf_stream.h
+++ b/core/fpdfapi/parser/cpdf_stream.h
@@ -16,6 +16,8 @@
 
 class CPDF_Stream final : public CPDF_Object {
  public:
+  static const int kFileBufSize = 512;
+
   template <typename T, typename... Args>
   friend RetainPtr<T> pdfium::MakeRetain(Args&&... args);
 
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.cpp b/core/fpdfapi/parser/cpdf_syntax_parser.cpp
index 0109019..50014cd 100644
--- a/core/fpdfapi/parser/cpdf_syntax_parser.cpp
+++ b/core/fpdfapi/parser/cpdf_syntax_parser.cpp
@@ -148,8 +148,8 @@
 
   if (!IsPositionRead(pos)) {
     FX_FILESIZE block_start = 0;
-    if (pos >= CPDF_ModuleMgr::kFileBufSize)
-      block_start = pos - CPDF_ModuleMgr::kFileBufSize + 1;
+    if (pos >= CPDF_Stream::kFileBufSize)
+      block_start = pos - CPDF_Stream::kFileBufSize + 1;
     if (!ReadBlockAt(block_start) || !IsPositionRead(pos))
       return false;
   }
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.h b/core/fpdfapi/parser/cpdf_syntax_parser.h
index 14b5057..d36aedf 100644
--- a/core/fpdfapi/parser/cpdf_syntax_parser.h
+++ b/core/fpdfapi/parser/cpdf_syntax_parser.h
@@ -10,7 +10,7 @@
 #include <memory>
 #include <vector>
 
-#include "core/fpdfapi/cpdf_modulemgr.h"
+#include "core/fpdfapi/parser/cpdf_stream.h"
 #include "core/fxcrt/string_pool_template.h"
 #include "core/fxcrt/weak_ptr.h"
 
@@ -113,7 +113,7 @@
   FX_FILESIZE m_BufOffset = 0;
   uint32_t m_WordSize = 0;
   uint8_t m_WordBuffer[257];
-  uint32_t m_ReadBufferSize = CPDF_ModuleMgr::kFileBufSize;
+  uint32_t m_ReadBufferSize = CPDF_Stream::kFileBufSize;
 };
 
 #endif  // CORE_FPDFAPI_PARSER_CPDF_SYNTAX_PARSER_H_