Remove some includes from header files. Forward declare instead, or just remove if they are unneeded. Change-Id: I3617402e927228571258186f51283cdc0fbc2b5c Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/51910 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/font/cfx_stockfontarray.cpp b/core/fpdfapi/font/cfx_stockfontarray.cpp index 0aa984d..60a4c4d 100644 --- a/core/fpdfapi/font/cfx_stockfontarray.cpp +++ b/core/fpdfapi/font/cfx_stockfontarray.cpp
@@ -9,6 +9,7 @@ #include <memory> #include <utility> +#include "core/fpdfapi/font/cpdf_font.h" #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fxcrt/fx_memory.h"
diff --git a/core/fpdfapi/font/cfx_stockfontarray.h b/core/fpdfapi/font/cfx_stockfontarray.h index 50a13c1..57573b4 100644 --- a/core/fpdfapi/font/cfx_stockfontarray.h +++ b/core/fpdfapi/font/cfx_stockfontarray.h
@@ -9,7 +9,7 @@ #include <memory> -#include "core/fpdfapi/font/cpdf_font.h" +class CPDF_Font; class CFX_StockFontArray { public:
diff --git a/core/fpdfapi/font/cpdf_font.cpp b/core/fpdfapi/font/cpdf_font.cpp index 4dc1abd..6c114eb 100644 --- a/core/fpdfapi/font/cpdf_font.cpp +++ b/core/fpdfapi/font/cpdf_font.cpp
@@ -13,6 +13,7 @@ #include "core/fpdfapi/cpdf_modulemgr.h" #include "core/fpdfapi/font/cpdf_fontencoding.h" +#include "core/fpdfapi/font/cpdf_tounicodemap.h" #include "core/fpdfapi/font/cpdf_truetypefont.h" #include "core/fpdfapi/font/cpdf_type1font.h" #include "core/fpdfapi/font/cpdf_type3font.h"
diff --git a/core/fpdfapi/font/cpdf_font.h b/core/fpdfapi/font/cpdf_font.h index a871c18a..4bd6e30 100644 --- a/core/fpdfapi/font/cpdf_font.h +++ b/core/fpdfapi/font/cpdf_font.h
@@ -10,7 +10,6 @@ #include <memory> #include <vector> -#include "core/fpdfapi/font/cpdf_tounicodemap.h" #include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h"
diff --git a/core/fpdfapi/font/cpdf_fontglobals.cpp b/core/fpdfapi/font/cpdf_fontglobals.cpp index ddf87b1..9e2585f 100644 --- a/core/fpdfapi/font/cpdf_fontglobals.cpp +++ b/core/fpdfapi/font/cpdf_fontglobals.cpp
@@ -8,6 +8,7 @@ #include <utility> +#include "core/fpdfapi/font/cfx_stockfontarray.h" #include "core/fpdfapi/parser/cpdf_document.h" #include "third_party/base/ptr_util.h" #include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/font/cpdf_fontglobals.h b/core/fpdfapi/font/cpdf_fontglobals.h index 0e2985f..9f6adf2 100644 --- a/core/fpdfapi/font/cpdf_fontglobals.h +++ b/core/fpdfapi/font/cpdf_fontglobals.h
@@ -11,10 +11,11 @@ #include <memory> #include "core/fpdfapi/cmaps/cmap_int.h" -#include "core/fpdfapi/font/cfx_stockfontarray.h" #include "core/fpdfapi/font/cpdf_cmapmanager.h" #include "third_party/base/span.h" +class CFX_StockFontArray; + class CPDF_FontGlobals { public: CPDF_FontGlobals();
diff --git a/core/fpdfapi/page/cpdf_contentparser.h b/core/fpdfapi/page/cpdf_contentparser.h index 8e0b848..2b8022f 100644 --- a/core/fpdfapi/page/cpdf_contentparser.h +++ b/core/fpdfapi/page/cpdf_contentparser.h
@@ -12,7 +12,6 @@ #include <vector> #include "core/fpdfapi/page/cpdf_streamcontentparser.h" -#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fxcrt/maybe_owned.h" #include "core/fxcrt/unowned_ptr.h" @@ -22,6 +21,7 @@ class CPDF_Page; class CPDF_PageObjectHolder; class CPDF_Stream; +class CPDF_StreamAcc; class CPDF_Type3Char; class CPDF_ContentParser {
diff --git a/core/fpdfapi/page/cpdf_meshstream.cpp b/core/fpdfapi/page/cpdf_meshstream.cpp index 79278f1..f99ae6e 100644 --- a/core/fpdfapi/page/cpdf_meshstream.cpp +++ b/core/fpdfapi/page/cpdf_meshstream.cpp
@@ -11,6 +11,7 @@ #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/cpdf_stream.h" +#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "third_party/base/ptr_util.h" #include "third_party/base/span.h"
diff --git a/core/fpdfapi/page/cpdf_meshstream.h b/core/fpdfapi/page/cpdf_meshstream.h index 1148494..6506e19 100644 --- a/core/fpdfapi/page/cpdf_meshstream.h +++ b/core/fpdfapi/page/cpdf_meshstream.h
@@ -12,10 +12,11 @@ #include <vector> #include "core/fpdfapi/page/cpdf_shadingpattern.h" -#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fxcrt/cfx_bitstream.h" #include "core/fxcrt/fx_system.h" +class CPDF_StreamAcc; + class CPDF_MeshVertex { public: CPDF_MeshVertex();
diff --git a/core/fpdfapi/page/cpdf_sampledfunc.cpp b/core/fpdfapi/page/cpdf_sampledfunc.cpp index e3cef5b..98fe9e4 100644 --- a/core/fpdfapi/page/cpdf_sampledfunc.cpp +++ b/core/fpdfapi/page/cpdf_sampledfunc.cpp
@@ -9,6 +9,7 @@ #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/cpdf_stream.h" +#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fxcrt/cfx_bitstream.h" #include "core/fxcrt/cfx_fixedbufgrow.h" #include "core/fxcrt/fx_safe_types.h" @@ -172,3 +173,7 @@ } return true; } + +RetainPtr<CPDF_StreamAcc> CPDF_SampledFunc::GetSampleStream() const { + return m_pSampleStream; +}
diff --git a/core/fpdfapi/page/cpdf_sampledfunc.h b/core/fpdfapi/page/cpdf_sampledfunc.h index 579fdce..8146bc0 100644 --- a/core/fpdfapi/page/cpdf_sampledfunc.h +++ b/core/fpdfapi/page/cpdf_sampledfunc.h
@@ -11,9 +11,10 @@ #include <vector> #include "core/fpdfapi/page/cpdf_function.h" -#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fxcrt/retain_ptr.h" +class CPDF_StreamAcc; + class CPDF_SampledFunc final : public CPDF_Function { public: struct SampleEncodeInfo { @@ -39,7 +40,7 @@ return m_EncodeInfo; } uint32_t GetBitsPerSample() const { return m_nBitsPerSample; } - RetainPtr<CPDF_StreamAcc> GetSampleStream() const { return m_pSampleStream; } + RetainPtr<CPDF_StreamAcc> GetSampleStream() const; private: std::vector<SampleEncodeInfo> m_EncodeInfo;
diff --git a/core/fpdfapi/page/cpdf_streamparser.h b/core/fpdfapi/page/cpdf_streamparser.h index 9c4ae49..a359544 100644 --- a/core/fpdfapi/page/cpdf_streamparser.h +++ b/core/fpdfapi/page/cpdf_streamparser.h
@@ -11,12 +11,12 @@ #include <utility> #include "core/fpdfapi/parser/cpdf_document.h" -#include "core/fpdfapi/parser/cpdf_object.h" #include "core/fxcrt/string_pool_template.h" #include "core/fxcrt/weak_ptr.h" #include "third_party/base/span.h" class CPDF_Dictionary; +class CPDF_Object; class CPDF_Stream; class CPDF_StreamParser {
diff --git a/core/fpdfapi/parser/cfdf_document.h b/core/fpdfapi/parser/cfdf_document.h index 7298f4e..55871e7 100644 --- a/core/fpdfapi/parser/cfdf_document.h +++ b/core/fpdfapi/parser/cfdf_document.h
@@ -10,7 +10,6 @@ #include <memory> #include "core/fpdfapi/parser/cpdf_indirect_object_holder.h" -#include "core/fpdfapi/parser/cpdf_object.h" #include "core/fxcrt/unowned_ptr.h" #include "third_party/base/span.h"
diff --git a/core/fpdfapi/parser/cpdf_document.h b/core/fpdfapi/parser/cpdf_document.h index 9b7b7dd..6ff6c0e 100644 --- a/core/fpdfapi/parser/cpdf_document.h +++ b/core/fpdfapi/parser/cpdf_document.h
@@ -30,6 +30,7 @@ class CPDF_FontEncoding; class CPDF_IccProfile; class CPDF_LinearizedHeader; +class CPDF_Object; class CPDF_Pattern; class CPDF_ReadValidator; class CPDF_StreamAcc;
diff --git a/core/fpdfapi/parser/cpdf_flateencoder.cpp b/core/fpdfapi/parser/cpdf_flateencoder.cpp index 05e722b..c5ad9e8 100644 --- a/core/fpdfapi/parser/cpdf_flateencoder.cpp +++ b/core/fpdfapi/parser/cpdf_flateencoder.cpp
@@ -14,6 +14,7 @@ #include "core/fpdfapi/parser/cpdf_name.h" #include "core/fpdfapi/parser/cpdf_number.h" #include "core/fpdfapi/parser/cpdf_stream.h" +#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fpdfapi/parser/fpdf_parser_decode.h" CPDF_FlateEncoder::CPDF_FlateEncoder(const CPDF_Stream* pStream,
diff --git a/core/fpdfapi/parser/cpdf_flateencoder.h b/core/fpdfapi/parser/cpdf_flateencoder.h index 85d77c7..069df6f 100644 --- a/core/fpdfapi/parser/cpdf_flateencoder.h +++ b/core/fpdfapi/parser/cpdf_flateencoder.h
@@ -9,7 +9,6 @@ #include <memory> -#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fxcrt/fx_memory.h" #include "core/fxcrt/maybe_owned.h" #include "core/fxcrt/retain_ptr.h" @@ -17,6 +16,7 @@ class CPDF_Dictionary; class CPDF_Stream; +class CPDF_StreamAcc; class CPDF_FlateEncoder { public:
diff --git a/core/fpdfapi/render/cpdf_dibbase.cpp b/core/fpdfapi/render/cpdf_dibbase.cpp index 838fea1..4441023 100644 --- a/core/fpdfapi/render/cpdf_dibbase.cpp +++ b/core/fpdfapi/render/cpdf_dibbase.cpp
@@ -19,6 +19,7 @@ #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/cpdf_document.h" #include "core/fpdfapi/parser/cpdf_stream.h" +#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fpdfapi/parser/fpdf_parser_decode.h" #include "core/fpdfapi/render/cpdf_pagerendercache.h" #include "core/fpdfapi/render/cpdf_renderstatus.h"
diff --git a/core/fpdfapi/render/cpdf_dibbase.h b/core/fpdfapi/render/cpdf_dibbase.h index 4768a54..f23b7a1 100644 --- a/core/fpdfapi/render/cpdf_dibbase.h +++ b/core/fpdfapi/render/cpdf_dibbase.h
@@ -13,7 +13,6 @@ #include "core/fpdfapi/page/cpdf_clippath.h" #include "core/fpdfapi/page/cpdf_countedobject.h" #include "core/fpdfapi/page/cpdf_graphicstates.h" -#include "core/fpdfapi/parser/cpdf_stream_acc.h" #include "core/fpdfapi/render/cpdf_imageloader.h" #include "core/fpdfapi/render/cpdf_rendercontext.h" #include "core/fxcrt/retain_ptr.h" @@ -27,6 +26,7 @@ class CPDF_Dictionary; class CPDF_Document; class CPDF_Stream; +class CPDF_StreamAcc; struct DIB_COMP_DATA { float m_DecodeMin;
diff --git a/core/fpdfapi/render/cpdf_type3cache.cpp b/core/fpdfapi/render/cpdf_type3cache.cpp index d427a9e..ffcf91d 100644 --- a/core/fpdfapi/render/cpdf_type3cache.cpp +++ b/core/fpdfapi/render/cpdf_type3cache.cpp
@@ -13,6 +13,7 @@ #include "core/fpdfapi/font/cpdf_type3char.h" #include "core/fpdfapi/font/cpdf_type3font.h" #include "core/fpdfapi/render/cpdf_type3glyphs.h" +#include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_safe_types.h" #include "core/fxge/cfx_glyphbitmap.h" #include "core/fxge/dib/cfx_dibitmap.h"
diff --git a/core/fpdfapi/render/cpdf_type3cache.h b/core/fpdfapi/render/cpdf_type3cache.h index de802c5..1a2b90a 100644 --- a/core/fpdfapi/render/cpdf_type3cache.h +++ b/core/fpdfapi/render/cpdf_type3cache.h
@@ -10,12 +10,13 @@ #include <map> #include <memory> -#include "core/fpdfapi/font/cpdf_type3font.h" -#include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" #include "core/fxcrt/retain_ptr.h" +class CFX_GlyphBitmap; +class CFX_Matrix; +class CPDF_Type3Font; class CPDF_Type3Glyphs; class CPDF_Type3Cache final : public Retainable {
diff --git a/core/fxcodec/jbig2/JBig2_Context.h b/core/fxcodec/jbig2/JBig2_Context.h index 35fde00..2e7bbb4 100644 --- a/core/fxcodec/jbig2/JBig2_Context.h +++ b/core/fxcodec/jbig2/JBig2_Context.h
@@ -12,11 +12,11 @@ #include <utility> #include <vector> -#include "core/fpdfapi/parser/cpdf_object.h" #include "core/fxcodec/fx_codec_def.h" #include "core/fxcodec/jbig2/JBig2_Page.h" #include "core/fxcodec/jbig2/JBig2_Segment.h" #include "core/fxcrt/fx_safe_types.h" +#include "core/fxcrt/retain_ptr.h" class CJBig2_ArithDecoder; class CJBig2_GRDProc;
diff --git a/core/fxge/dib/cfx_imagetransformer.h b/core/fxge/dib/cfx_imagetransformer.h index b0b854c..1b38047 100644 --- a/core/fxge/dib/cfx_imagetransformer.h +++ b/core/fxge/dib/cfx_imagetransformer.h
@@ -11,7 +11,6 @@ #include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/retain_ptr.h" -#include "core/fxcrt/unowned_ptr.h" #include "core/fxge/dib/cfx_bitmapstorer.h" class CFX_DIBBase;