summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn1
-rw-r--r--core/fdrm/crypto/fx_crypt_unittest.cpp2
-rw-r--r--core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp1
-rw-r--r--core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp1
-rw-r--r--core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp1
-rw-r--r--core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp1
-rw-r--r--core/fpdfapi/cpdf_modulemgr.h2
-rw-r--r--core/fpdfapi/edit/cpdf_creator.h2
-rw-r--r--core/fpdfapi/edit/cpdf_pagecontentgenerator.h2
-rw-r--r--core/fpdfapi/font/cfx_cttgsubtable.h1
-rw-r--r--core/fpdfapi/font/cpdf_cmap.h1
-rw-r--r--core/fpdfapi/font/cpdf_cmapparser.h1
-rw-r--r--core/fpdfapi/font/cpdf_fontglobals.h1
-rw-r--r--core/fpdfapi/font/cpdf_type3char.h1
-rw-r--r--core/fpdfapi/page/cpdf_clippath.h1
-rw-r--r--core/fpdfapi/page/cpdf_colorstate.h1
-rw-r--r--core/fpdfapi/page/cpdf_contentmark.h1
-rw-r--r--core/fpdfapi/page/cpdf_generalstate.h2
-rw-r--r--core/fpdfapi/page/cpdf_image.cpp1
-rw-r--r--core/fpdfapi/page/cpdf_page.h1
-rw-r--r--core/fpdfapi/page/cpdf_pageobjectholder.h1
-rw-r--r--core/fpdfapi/page/cpdf_sampledfunc.cpp1
-rw-r--r--core/fpdfapi/page/cpdf_textstate.h1
-rw-r--r--core/fpdfapi/parser/cfdf_document.h2
-rw-r--r--core/fpdfapi/parser/cpdf_array.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_array.h1
-rw-r--r--core/fpdfapi/parser/cpdf_boolean.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_data_avail.h1
-rw-r--r--core/fpdfapi/parser/cpdf_dictionary.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_document.h1
-rw-r--r--core/fpdfapi/parser/cpdf_name.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_null.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_number.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_object.h2
-rw-r--r--core/fpdfapi/parser/cpdf_object_unittest.cpp14
-rw-r--r--core/fpdfapi/parser/cpdf_parser.h4
-rw-r--r--core/fpdfapi/parser/cpdf_read_validator.h1
-rw-r--r--core/fpdfapi/parser/cpdf_reference.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_stream.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_stream.h2
-rw-r--r--core/fpdfapi/parser/cpdf_string.cpp1
-rw-r--r--core/fpdfapi/parser/cpdf_syntax_parser.h1
-rw-r--r--core/fpdfapi/parser/fpdf_parser_decode.h2
-rw-r--r--core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp1
-rw-r--r--core/fpdfapi/parser/fpdf_parser_utility.cpp1
-rw-r--r--core/fpdfapi/parser/fpdf_parser_utility.h2
-rw-r--r--core/fpdfapi/render/cpdf_imageloader.cpp1
-rw-r--r--core/fpdfapi/render/cpdf_imageloader.h2
-rw-r--r--core/fpdfapi/render/cpdf_rendercontext.h2
-rw-r--r--core/fpdfdoc/cpdf_formfield.h1
-rw-r--r--core/fpdfdoc/ctypeset.h1
-rw-r--r--core/fpdftext/cpdf_linkextract.h1
-rw-r--r--core/fxcodec/codec/ccodec_jbig2module.h2
-rw-r--r--core/fxcodec/codec/ccodec_tiffmodule.cpp1
-rw-r--r--core/fxcodec/codec/ccodec_tiffmodule.h1
-rw-r--r--core/fxcodec/codec/fx_codec_progress.cpp1
-rw-r--r--core/fxcodec/fx_codec.h1
-rw-r--r--core/fxcodec/jbig2/JBig2_ArithDecoder.cpp2
-rw-r--r--core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp2
-rw-r--r--core/fxcodec/jbig2/JBig2_BitStream.h1
-rw-r--r--core/fxcodec/jbig2/JBig2_HtrdProc.cpp1
-rw-r--r--core/fxcodec/jbig2/JBig2_HuffmanDecoder.h2
-rw-r--r--core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.cpp3
-rw-r--r--core/fxcodec/jbig2/JBig2_Image.cpp1
-rw-r--r--core/fxcodec/jbig2/JBig2_SddProc.cpp1
-rw-r--r--core/fxcodec/jbig2/JBig2_SymbolDict.h1
-rw-r--r--core/fxcodec/lbmp/fx_bmp.cpp1
-rw-r--r--core/fxcodec/lbmp/fx_bmp.h1
-rw-r--r--core/fxcodec/lgif/cgifcontext.h2
-rw-r--r--core/fxcodec/lgif/fx_gif.h2
-rw-r--r--core/fxcrt/cfx_bytestring.h1
-rw-r--r--core/fxcrt/cfx_checksumcontext.cpp1
-rw-r--r--core/fxcrt/cfx_retain_ptr.h9
-rw-r--r--core/fxcrt/css/cfx_csscomputedstyle.h1
-rw-r--r--core/fxcrt/css/cfx_cssrulecollection.h2
-rw-r--r--core/fxcrt/css/cfx_cssstyleselector.h1
-rw-r--r--core/fxcrt/fx_arabic.cpp1
-rw-r--r--core/fxcrt/fx_basic.h27
-rw-r--r--core/fxcrt/fx_basic_utf.cpp4
-rw-r--r--core/fxcrt/fx_basic_util.cpp2
-rw-r--r--core/fxcrt/fx_basic_util_unittest.cpp2
-rw-r--r--core/fxcrt/fx_coordinates.h3
-rw-r--r--core/fxcrt/fx_extension.h8
-rw-r--r--core/fxcrt/fx_memory.h6
-rw-r--r--core/fxcrt/fx_ucd.h1
-rw-r--r--core/fxcrt/fx_ucddata.cpp2
-rw-r--r--core/fxcrt/fxcrt_posix.cpp1
-rw-r--r--core/fxcrt/ifxcrt_fileaccess.h3
-rw-r--r--core/fxcrt/xml/cfx_saxcontext.h1
-rw-r--r--core/fxcrt/xml/cfx_saxreader.cpp1
-rw-r--r--core/fxcrt/xml/cfx_saxreader.h4
-rw-r--r--core/fxcrt/xml/cfx_xmlparser.cpp1
-rw-r--r--core/fxcrt/xml/cxml_element.h1
-rw-r--r--core/fxcrt/xml/cxml_object.h2
-rw-r--r--core/fxge/cfx_cliprgn.h1
-rw-r--r--core/fxge/cfx_folderfontinfo.cpp1
-rw-r--r--core/fxge/cfx_font.cpp1
-rw-r--r--core/fxge/dib/cfx_dibitmap.h1
-rw-r--r--core/fxge/dib/cfx_dibsource.h2
-rw-r--r--core/fxge/dib/cfx_imagestretcher.h2
-rw-r--r--core/fxge/dib/cfx_imagetransformer.h1
-rw-r--r--core/fxge/dib/cstretchengine.h1
-rw-r--r--core/fxge/fx_font.h1
-rw-r--r--core/fxge/skia/fx_skia_device.cpp1
-rw-r--r--fpdfsdk/cfx_systemhandler.h1
-rw-r--r--fpdfsdk/cpdfsdk_annot.h1
-rw-r--r--fpdfsdk/cpdfsdk_annothandlermgr.h1
-rw-r--r--fpdfsdk/cpdfsdk_baannothandler.h1
-rw-r--r--fpdfsdk/cpdfsdk_interform.h1
-rw-r--r--fpdfsdk/cpdfsdk_widgethandler.h1
-rw-r--r--fpdfsdk/cpdfsdk_xfawidgethandler.h1
-rw-r--r--fpdfsdk/fpdf_dataavail.cpp1
-rw-r--r--fpdfsdk/fpdf_ext.cpp1
-rw-r--r--fpdfsdk/fpdf_flatten_embeddertest.cpp1
-rw-r--r--fpdfsdk/fpdfppo_embeddertest.cpp1
-rw-r--r--fpdfsdk/fpdftext_embeddertest.cpp2
-rw-r--r--fpdfsdk/fpdfview.cpp1
-rw-r--r--fpdfsdk/ipdfsdk_annothandler.h1
-rw-r--r--fpdfsdk/javascript/JS_KeyValue.h2
-rw-r--r--fpdfsdk/javascript/JS_Value.h1
-rw-r--r--fpdfsdk/javascript/cjs_runtime.h1
-rw-r--r--fpdfsdk/pwl/cpwl_edit.h1
-rw-r--r--fpdfsdk/pwl/cpwl_list_impl.h1
-rw-r--r--fpdfsdk/pwl/cpwl_timer.h1
-rw-r--r--fpdfsdk/pwl/cpwl_timer_handler.h2
-rw-r--r--fpdfsdk/pwl/cpwl_wnd.h1
-rw-r--r--fxbarcode/BC_UtilCodingConvert.h2
-rw-r--r--fxbarcode/BC_Utils.cpp1
-rw-r--r--fxbarcode/cbc_codebase.h1
-rw-r--r--fxbarcode/common/BC_CommonBitArray.h2
-rw-r--r--fxbarcode/common/BC_CommonByteArray.cpp3
-rw-r--r--fxbarcode/common/BC_CommonByteArray.h2
-rw-r--r--fxbarcode/common/reedsolomon/BC_ReedSolomon.h2
-rw-r--r--fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.h1
-rw-r--r--fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.h2
-rw-r--r--fxbarcode/datamatrix/BC_DefaultPlacement.h2
-rw-r--r--fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp1
-rw-r--r--fxbarcode/pdf417/BC_PDF417.h2
-rw-r--r--fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h2
-rw-r--r--fxbarcode/pdf417/BC_PDF417BarcodeRow.h2
-rw-r--r--fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h1
-rw-r--r--fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp1
-rw-r--r--fxbarcode/qrcode/BC_QRCoderECBlocks.h2
-rw-r--r--fxbarcode/qrcode/BC_QRCoderECBlocksData.h2
-rw-r--r--fxbarcode/qrcode/BC_QRCoderEncoder.h1
-rw-r--r--fxbarcode/qrcode/BC_QRCoderVersion.h1
-rw-r--r--fxbarcode/utils.h2
-rw-r--r--fxjs/cfxjse_context.h1
-rw-r--r--fxjs/fxjs_v8.cpp1
-rw-r--r--testing/libfuzzer/pdf_xml_fuzzer.cc1
-rw-r--r--third_party/DEPS1
-rw-r--r--third_party/agg23/agg_curves.cpp1
-rw-r--r--third_party/agg23/agg_path_storage.cpp5
-rw-r--r--third_party/agg23/agg_vcgen_dash.cpp1
-rw-r--r--third_party/agg23/agg_vcgen_stroke.cpp1
-rw-r--r--xfa/fgas/layout/cfx_rtfbreak.h1
-rw-r--r--xfa/fwl/cfwl_eventtarget.h1
-rw-r--r--xfa/fwl/cfwl_message.h1
-rw-r--r--xfa/fxfa/cxfa_linkuserdata.h1
-rw-r--r--xfa/fxfa/cxfa_loadercontext.h1
-rw-r--r--xfa/fxfa/cxfa_pieceline.h2
-rw-r--r--xfa/fxfa/cxfa_textlayout.h1
-rw-r--r--xfa/fxfa/cxfa_textpiece.h1
-rw-r--r--xfa/fxfa/cxfa_texttabstopscontext.cpp2
-rw-r--r--xfa/fxfa/cxfa_texttabstopscontext.h2
-rw-r--r--xfa/fxfa/cxfa_textuserdata.h1
-rw-r--r--xfa/fxfa/fxfa.h1
-rw-r--r--xfa/fxfa/parser/cxfa_itemlayoutprocessor.h1
169 files changed, 112 insertions, 180 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 41dbaf7dc4..f268a0c3f6 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -830,7 +830,6 @@ static_library("fxcrt") {
"core/fxcrt/cfx_widestring.h",
"core/fxcrt/cfx_widetextbuf.cpp",
"core/fxcrt/cfx_widetextbuf.h",
- "core/fxcrt/fx_basic.h",
"core/fxcrt/fx_basic_gcc.cpp",
"core/fxcrt/fx_basic_utf.cpp",
"core/fxcrt/fx_basic_util.cpp",
diff --git a/core/fdrm/crypto/fx_crypt_unittest.cpp b/core/fdrm/crypto/fx_crypt_unittest.cpp
index 3b3f72c1ad..e7f05b2939 100644
--- a/core/fdrm/crypto/fx_crypt_unittest.cpp
+++ b/core/fdrm/crypto/fx_crypt_unittest.cpp
@@ -9,7 +9,7 @@
#include <memory>
#include <string>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_memory.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
diff --git a/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp b/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp
index dc8a21776d..101c316c3b 100644
--- a/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp
+++ b/core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp
@@ -10,7 +10,6 @@
#include "core/fpdfapi/cpdf_modulemgr.h"
#include "core/fpdfapi/font/cpdf_fontglobals.h"
#include "core/fpdfapi/page/cpdf_pagemodule.h"
-#include "core/fxcrt/fx_basic.h"
static const FXCMAP_CMap g_FXCMAP_CNS1_cmaps[] = {
{"B5pc-H", FXCMAP_CMap::Range, g_FXCMAP_B5pc_H_0, 247, FXCMAP_CMap::None,
diff --git a/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp b/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp
index 1591da1eca..5776b18c0e 100644
--- a/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp
+++ b/core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp
@@ -10,7 +10,6 @@
#include "core/fpdfapi/cpdf_modulemgr.h"
#include "core/fpdfapi/font/cpdf_fontglobals.h"
#include "core/fpdfapi/page/cpdf_pagemodule.h"
-#include "core/fxcrt/fx_basic.h"
static const FXCMAP_CMap g_FXCMAP_GB1_cmaps[] = {
{"GB-EUC-H", FXCMAP_CMap::Range, g_FXCMAP_GB_EUC_H_0, 90, FXCMAP_CMap::None,
diff --git a/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp b/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp
index 8fd4fcb7c4..ba8f02dcdf 100644
--- a/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp
+++ b/core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp
@@ -10,7 +10,6 @@
#include "core/fpdfapi/cpdf_modulemgr.h"
#include "core/fpdfapi/font/cpdf_fontglobals.h"
#include "core/fpdfapi/page/cpdf_pagemodule.h"
-#include "core/fxcrt/fx_basic.h"
static const FXCMAP_CMap g_FXCMAP_Japan1_cmaps[] = {
{"83pv-RKSJ-H", FXCMAP_CMap::Range, g_FXCMAP_83pv_RKSJ_H_1, 222,
diff --git a/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp b/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp
index 8e9784e5de..12dbec6a74 100644
--- a/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp
+++ b/core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp
@@ -10,7 +10,6 @@
#include "core/fpdfapi/cpdf_modulemgr.h"
#include "core/fpdfapi/font/cpdf_fontglobals.h"
#include "core/fpdfapi/page/cpdf_pagemodule.h"
-#include "core/fxcrt/fx_basic.h"
static const FXCMAP_CMap g_FXCMAP_Korea1_cmaps[] = {
{"KSC-EUC-H", FXCMAP_CMap::Range, g_FXCMAP_KSC_EUC_H_0, 467,
diff --git a/core/fpdfapi/cpdf_modulemgr.h b/core/fpdfapi/cpdf_modulemgr.h
index 82566ba282..6b83bc755d 100644
--- a/core/fpdfapi/cpdf_modulemgr.h
+++ b/core/fpdfapi/cpdf_modulemgr.h
@@ -10,8 +10,6 @@
#include <memory>
#include <utility>
-#include "core/fxcrt/fx_basic.h"
-
class CCodec_FaxModule;
class CCodec_FlateModule;
class CCodec_IccModule;
diff --git a/core/fpdfapi/edit/cpdf_creator.h b/core/fpdfapi/edit/cpdf_creator.h
index f141c3880a..d97ee01d73 100644
--- a/core/fpdfapi/edit/cpdf_creator.h
+++ b/core/fpdfapi/edit/cpdf_creator.h
@@ -13,7 +13,7 @@
#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_stream.h"
class CPDF_Array;
class CPDF_CryptoHandler;
diff --git a/core/fpdfapi/edit/cpdf_pagecontentgenerator.h b/core/fpdfapi/edit/cpdf_pagecontentgenerator.h
index 5295d8747b..518d358451 100644
--- a/core/fpdfapi/edit/cpdf_pagecontentgenerator.h
+++ b/core/fpdfapi/edit/cpdf_pagecontentgenerator.h
@@ -11,7 +11,7 @@
#include <vector>
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
class CPDF_Document;
diff --git a/core/fpdfapi/font/cfx_cttgsubtable.h b/core/fpdfapi/font/cfx_cttgsubtable.h
index aac3f86c07..f8fd6c5c5e 100644
--- a/core/fpdfapi/font/cfx_cttgsubtable.h
+++ b/core/fpdfapi/font/cfx_cttgsubtable.h
@@ -13,7 +13,6 @@
#include <set>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/fx_freetype.h"
diff --git a/core/fpdfapi/font/cpdf_cmap.h b/core/fpdfapi/font/cpdf_cmap.h
index b47b12d531..f4d6ca9113 100644
--- a/core/fpdfapi/font/cpdf_cmap.h
+++ b/core/fpdfapi/font/cpdf_cmap.h
@@ -11,7 +11,6 @@
#include "core/fpdfapi/font/cpdf_cidfont.h"
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_CMapManager;
struct FXCMAP_CMap;
diff --git a/core/fpdfapi/font/cpdf_cmapparser.h b/core/fpdfapi/font/cpdf_cmapparser.h
index 184ef75043..b0a0ced30f 100644
--- a/core/fpdfapi/font/cpdf_cmapparser.h
+++ b/core/fpdfapi/font/cpdf_cmapparser.h
@@ -14,7 +14,6 @@
#include "core/fpdfapi/font/cpdf_cidfont.h"
#include "core/fpdfapi/font/cpdf_cmap.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_CMapParser {
public:
diff --git a/core/fpdfapi/font/cpdf_fontglobals.h b/core/fpdfapi/font/cpdf_fontglobals.h
index b930aa2905..6f9b0918db 100644
--- a/core/fpdfapi/font/cpdf_fontglobals.h
+++ b/core/fpdfapi/font/cpdf_fontglobals.h
@@ -13,7 +13,6 @@
#include "core/fpdfapi/cmaps/cmap_int.h"
#include "core/fpdfapi/font/cfx_stockfontarray.h"
#include "core/fpdfapi/font/cpdf_cmapmanager.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_FontGlobals {
public:
diff --git a/core/fpdfapi/font/cpdf_type3char.h b/core/fpdfapi/font/cpdf_type3char.h
index 18c564150c..9f2f94f603 100644
--- a/core/fpdfapi/font/cpdf_type3char.h
+++ b/core/fpdfapi/font/cpdf_type3char.h
@@ -9,6 +9,7 @@
#include <memory>
+#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_system.h"
diff --git a/core/fpdfapi/page/cpdf_clippath.h b/core/fpdfapi/page/cpdf_clippath.h
index 8493a9ccd9..0105270b35 100644
--- a/core/fpdfapi/page/cpdf_clippath.h
+++ b/core/fpdfapi/page/cpdf_clippath.h
@@ -13,7 +13,6 @@
#include "core/fpdfapi/page/cpdf_path.h"
#include "core/fxcrt/cfx_shared_copy_on_write.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
class CPDF_Path;
diff --git a/core/fpdfapi/page/cpdf_colorstate.h b/core/fpdfapi/page/cpdf_colorstate.h
index 0862f489bd..cf63d24ea3 100644
--- a/core/fpdfapi/page/cpdf_colorstate.h
+++ b/core/fpdfapi/page/cpdf_colorstate.h
@@ -9,7 +9,6 @@
#include "core/fpdfapi/page/cpdf_color.h"
#include "core/fxcrt/cfx_shared_copy_on_write.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
class CPDF_Color;
diff --git a/core/fpdfapi/page/cpdf_contentmark.h b/core/fpdfapi/page/cpdf_contentmark.h
index 5782addc93..ab966c0728 100644
--- a/core/fpdfapi/page/cpdf_contentmark.h
+++ b/core/fpdfapi/page/cpdf_contentmark.h
@@ -11,7 +11,6 @@
#include "core/fpdfapi/page/cpdf_contentmarkitem.h"
#include "core/fxcrt/cfx_shared_copy_on_write.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
class CPDF_Dictionary;
diff --git a/core/fpdfapi/page/cpdf_generalstate.h b/core/fpdfapi/page/cpdf_generalstate.h
index 356841690b..b5b48a94cd 100644
--- a/core/fpdfapi/page/cpdf_generalstate.h
+++ b/core/fpdfapi/page/cpdf_generalstate.h
@@ -9,8 +9,8 @@
#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_string.h"
#include "core/fxge/fx_dib.h"
class CPDF_Object;
diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp
index 233b303481..a551bd1811 100644
--- a/core/fpdfapi/page/cpdf_image.cpp
+++ b/core/fpdfapi/page/cpdf_image.cpp
@@ -25,6 +25,7 @@
#include "core/fpdfapi/render/cpdf_dibsource.h"
#include "core/fpdfapi/render/cpdf_pagerendercache.h"
#include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxge/fx_dib.h"
#include "third_party/base/numerics/safe_conversions.h"
#include "third_party/base/ptr_util.h"
diff --git a/core/fpdfapi/page/cpdf_page.h b/core/fpdfapi/page/cpdf_page.h
index 82df60ce9f..1891e651be 100644
--- a/core/fpdfapi/page/cpdf_page.h
+++ b/core/fpdfapi/page/cpdf_page.h
@@ -10,7 +10,6 @@
#include <memory>
#include "core/fpdfapi/page/cpdf_pageobjectholder.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_system.h"
diff --git a/core/fpdfapi/page/cpdf_pageobjectholder.h b/core/fpdfapi/page/cpdf_pageobjectholder.h
index 0862369809..9ac1a3bdba 100644
--- a/core/fpdfapi/page/cpdf_pageobjectholder.h
+++ b/core/fpdfapi/page/cpdf_pageobjectholder.h
@@ -14,6 +14,7 @@
#include "core/fpdfapi/page/cpdf_pageobjectlist.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
class IFX_PauseIndicator;
diff --git a/core/fpdfapi/page/cpdf_sampledfunc.cpp b/core/fpdfapi/page/cpdf_sampledfunc.cpp
index f1cba97d30..91c6b5a70a 100644
--- a/core/fpdfapi/page/cpdf_sampledfunc.cpp
+++ b/core/fpdfapi/page/cpdf_sampledfunc.cpp
@@ -8,6 +8,7 @@
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fxcrt/cfx_fixedbufgrow.h"
+#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_safe_types.h"
namespace {
diff --git a/core/fpdfapi/page/cpdf_textstate.h b/core/fpdfapi/page/cpdf_textstate.h
index ff3ab8dd6c..e7239e1f91 100644
--- a/core/fpdfapi/page/cpdf_textstate.h
+++ b/core/fpdfapi/page/cpdf_textstate.h
@@ -9,7 +9,6 @@
#include "core/fxcrt/cfx_shared_copy_on_write.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_Document;
class CPDF_Font;
diff --git a/core/fpdfapi/parser/cfdf_document.h b/core/fpdfapi/parser/cfdf_document.h
index 45bf83d426..d58f93ced4 100644
--- a/core/fpdfapi/parser/cfdf_document.h
+++ b/core/fpdfapi/parser/cfdf_document.h
@@ -12,9 +12,9 @@
#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
#include "core/fpdfapi/parser/cpdf_object.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_Dictionary;
+class IFX_SeekableReadStream;
class CFDF_Document : public CPDF_IndirectObjectHolder {
public:
diff --git a/core/fpdfapi/parser/cpdf_array.cpp b/core/fpdfapi/parser/cpdf_array.cpp
index 5d079a38b4..a0957b6c2b 100644
--- a/core/fpdfapi/parser/cpdf_array.cpp
+++ b/core/fpdfapi/parser/cpdf_array.cpp
@@ -14,6 +14,7 @@
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/cpdf_string.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/logging.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/parser/cpdf_array.h b/core/fpdfapi/parser/cpdf_array.h
index ed5d3e33fd..d1be233652 100644
--- a/core/fpdfapi/parser/cpdf_array.h
+++ b/core/fpdfapi/parser/cpdf_array.h
@@ -15,7 +15,6 @@
#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
#include "core/fpdfapi/parser/cpdf_object.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "third_party/base/ptr_util.h"
diff --git a/core/fpdfapi/parser/cpdf_boolean.cpp b/core/fpdfapi/parser/cpdf_boolean.cpp
index eb01c06332..2633c876d3 100644
--- a/core/fpdfapi/parser/cpdf_boolean.cpp
+++ b/core/fpdfapi/parser/cpdf_boolean.cpp
@@ -5,6 +5,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "core/fpdfapi/parser/cpdf_boolean.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
CPDF_Boolean::CPDF_Boolean() : m_bValue(false) {}
diff --git a/core/fpdfapi/parser/cpdf_data_avail.h b/core/fpdfapi/parser/cpdf_data_avail.h
index 1f2a1f2475..1fcdaf034e 100644
--- a/core/fpdfapi/parser/cpdf_data_avail.h
+++ b/core/fpdfapi/parser/cpdf_data_avail.h
@@ -14,7 +14,6 @@
#include "core/fpdfapi/parser/cpdf_parser.h"
#include "core/fpdfapi/parser/cpdf_syntax_parser.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_Dictionary;
class CPDF_HintTables;
diff --git a/core/fpdfapi/parser/cpdf_dictionary.cpp b/core/fpdfapi/parser/cpdf_dictionary.cpp
index a339a8becd..4c035871df 100644
--- a/core/fpdfapi/parser/cpdf_dictionary.cpp
+++ b/core/fpdfapi/parser/cpdf_dictionary.cpp
@@ -17,6 +17,7 @@
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/logging.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/parser/cpdf_document.h b/core/fpdfapi/parser/cpdf_document.h
index 87d40fd61b..cc5076379e 100644
--- a/core/fpdfapi/parser/cpdf_document.h
+++ b/core/fpdfapi/parser/cpdf_document.h
@@ -17,7 +17,6 @@
#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
#include "core/fpdfapi/parser/cpdf_object.h"
#include "core/fpdfdoc/cpdf_linklist.h"
-#include "core/fxcrt/fx_basic.h"
class CFX_Font;
class CFX_Matrix;
diff --git a/core/fpdfapi/parser/cpdf_name.cpp b/core/fpdfapi/parser/cpdf_name.cpp
index 0287b7ab17..ae33bc7fa0 100644
--- a/core/fpdfapi/parser/cpdf_name.cpp
+++ b/core/fpdfapi/parser/cpdf_name.cpp
@@ -7,6 +7,7 @@
#include "core/fpdfapi/parser/cpdf_name.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
CPDF_Name::CPDF_Name(CFX_WeakPtr<CFX_ByteStringPool> pPool,
diff --git a/core/fpdfapi/parser/cpdf_null.cpp b/core/fpdfapi/parser/cpdf_null.cpp
index 7c1cdac486..1074efd863 100644
--- a/core/fpdfapi/parser/cpdf_null.cpp
+++ b/core/fpdfapi/parser/cpdf_null.cpp
@@ -5,6 +5,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "core/fpdfapi/parser/cpdf_null.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
CPDF_Null::CPDF_Null() {}
diff --git a/core/fpdfapi/parser/cpdf_number.cpp b/core/fpdfapi/parser/cpdf_number.cpp
index 73d689fffe..50c48d6cb8 100644
--- a/core/fpdfapi/parser/cpdf_number.cpp
+++ b/core/fpdfapi/parser/cpdf_number.cpp
@@ -5,6 +5,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "core/fpdfapi/parser/cpdf_number.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
CPDF_Number::CPDF_Number() : m_bInteger(true), m_Integer(0) {}
diff --git a/core/fpdfapi/parser/cpdf_object.h b/core/fpdfapi/parser/cpdf_object.h
index 04b77ec706..82d7801cce 100644
--- a/core/fpdfapi/parser/cpdf_object.h
+++ b/core/fpdfapi/parser/cpdf_object.h
@@ -11,7 +11,6 @@
#include <set>
#include <type_traits>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
@@ -24,6 +23,7 @@ class CPDF_Number;
class CPDF_Reference;
class CPDF_Stream;
class CPDF_String;
+class IFX_ArchiveStream;
class CPDF_Object {
public:
diff --git a/core/fpdfapi/parser/cpdf_object_unittest.cpp b/core/fpdfapi/parser/cpdf_object_unittest.cpp
index ffaa2648a3..dd170ba90e 100644
--- a/core/fpdfapi/parser/cpdf_object_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_object_unittest.cpp
@@ -2,23 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_boolean.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
+#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
#include "core/fpdfapi/parser/cpdf_name.h"
#include "core/fpdfapi/parser/cpdf_null.h"
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fpdfapi/parser/cpdf_string.h"
-
-#include <memory>
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
-#include "core/fxcrt/fx_basic.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
diff --git a/core/fpdfapi/parser/cpdf_parser.h b/core/fpdfapi/parser/cpdf_parser.h
index 10c70357da..0db2aa7ba1 100644
--- a/core/fpdfapi/parser/cpdf_parser.h
+++ b/core/fpdfapi/parser/cpdf_parser.h
@@ -13,8 +13,10 @@
#include <set>
#include <vector>
+#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
+#include "core/fxcrt/fx_system.h"
class CPDF_Array;
class CPDF_CryptoHandler;
diff --git a/core/fpdfapi/parser/cpdf_read_validator.h b/core/fpdfapi/parser/cpdf_read_validator.h
index 20ec866a59..cc04a1f55e 100644
--- a/core/fpdfapi/parser/cpdf_read_validator.h
+++ b/core/fpdfapi/parser/cpdf_read_validator.h
@@ -6,6 +6,7 @@
#define CORE_FPDFAPI_PARSER_CPDF_READ_VALIDATOR_H_
#include "core/fpdfapi/parser/cpdf_data_avail.h"
+#include "core/fxcrt/fx_stream.h"
class CPDF_ReadValidator : public IFX_SeekableReadStream {
public:
diff --git a/core/fpdfapi/parser/cpdf_reference.cpp b/core/fpdfapi/parser/cpdf_reference.cpp
index 4594fe9f44..ce4c308d8c 100644
--- a/core/fpdfapi/parser/cpdf_reference.cpp
+++ b/core/fpdfapi/parser/cpdf_reference.cpp
@@ -7,6 +7,7 @@
#include "core/fpdfapi/parser/cpdf_reference.h"
#include "core/fpdfapi/parser/cpdf_indirect_object_holder.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp b/core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp
index f1c84853dc..bdb532d3e0 100644
--- a/core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp
@@ -7,7 +7,6 @@
#include <string>
#include "core/fpdfapi/parser/fpdf_parser_utility.h"
-#include "core/fxcrt/fx_basic.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
diff --git a/core/fpdfapi/parser/cpdf_stream.cpp b/core/fpdfapi/parser/cpdf_stream.cpp
index d430a4fb45..1c8660efb0 100644
--- a/core/fpdfapi/parser/cpdf_stream.cpp
+++ b/core/fpdfapi/parser/cpdf_stream.cpp
@@ -12,6 +12,7 @@
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/numerics/safe_conversions.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h
index 2795f7daae..1dbbd0343e 100644
--- a/core/fpdfapi/parser/cpdf_stream.h
+++ b/core/fpdfapi/parser/cpdf_stream.h
@@ -13,7 +13,7 @@
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_object.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_stream.h"
class CPDF_Stream : public CPDF_Object {
public:
diff --git a/core/fpdfapi/parser/cpdf_string.cpp b/core/fpdfapi/parser/cpdf_string.cpp
index 74a2733fc5..6ce6bf3473 100644
--- a/core/fpdfapi/parser/cpdf_string.cpp
+++ b/core/fpdfapi/parser/cpdf_string.cpp
@@ -9,6 +9,7 @@
#include <utility>
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
CPDF_String::CPDF_String() : m_bHex(false) {}
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.h b/core/fpdfapi/parser/cpdf_syntax_parser.h
index 25c7403961..c95188acbe 100644
--- a/core/fpdfapi/parser/cpdf_syntax_parser.h
+++ b/core/fpdfapi/parser/cpdf_syntax_parser.h
@@ -12,7 +12,6 @@
#include "core/fxcrt/cfx_string_pool_template.h"
#include "core/fxcrt/cfx_weak_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_CryptoHandler;
class CPDF_Dictionary;
diff --git a/core/fpdfapi/parser/fpdf_parser_decode.h b/core/fpdfapi/parser/fpdf_parser_decode.h
index 4d2c6732e0..23ca0a0fae 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode.h
+++ b/core/fpdfapi/parser/fpdf_parser_decode.h
@@ -9,7 +9,7 @@
#include <memory>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
class CCodec_ScanlineDecoder;
class CPDF_Dictionary;
diff --git a/core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp b/core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp
index 799da49bdc..502e4666f7 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp
+++ b/core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp
@@ -7,7 +7,6 @@
#include <cstring>
#include <string>
-#include "core/fxcrt/fx_basic.h"
#include "testing/embedder_test.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
diff --git a/core/fpdfapi/parser/fpdf_parser_utility.cpp b/core/fpdfapi/parser/fpdf_parser_utility.cpp
index a36d640da3..c6487f55a0 100644
--- a/core/fpdfapi/parser/fpdf_parser_utility.cpp
+++ b/core/fpdfapi/parser/fpdf_parser_utility.cpp
@@ -16,6 +16,7 @@
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fpdfapi/parser/fpdf_parser_decode.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/logging.h"
// Indexed by 8-bit character code, contains either:
diff --git a/core/fpdfapi/parser/fpdf_parser_utility.h b/core/fpdfapi/parser/fpdf_parser_utility.h
index 47431e47dd..94ee1fcfd3 100644
--- a/core/fpdfapi/parser/fpdf_parser_utility.h
+++ b/core/fpdfapi/parser/fpdf_parser_utility.h
@@ -8,7 +8,7 @@
#define CORE_FPDFAPI_PARSER_FPDF_PARSER_UTILITY_H_
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
class IFX_SeekableReadStream;
class CPDF_Dictionary;
diff --git a/core/fpdfapi/render/cpdf_imageloader.cpp b/core/fpdfapi/render/cpdf_imageloader.cpp
index 60e64449bf..f195b89dfc 100644
--- a/core/fpdfapi/render/cpdf_imageloader.cpp
+++ b/core/fpdfapi/render/cpdf_imageloader.cpp
@@ -12,7 +12,6 @@
#include "core/fpdfapi/render/cpdf_imagecacheentry.h"
#include "core/fpdfapi/render/cpdf_pagerendercache.h"
#include "core/fpdfapi/render/cpdf_renderstatus.h"
-#include "core/fxcrt/fx_basic.h"
CPDF_ImageLoader::CPDF_ImageLoader()
: m_MatteColor(0),
diff --git a/core/fpdfapi/render/cpdf_imageloader.h b/core/fpdfapi/render/cpdf_imageloader.h
index e96fe37ca1..69577c3a18 100644
--- a/core/fpdfapi/render/cpdf_imageloader.h
+++ b/core/fpdfapi/render/cpdf_imageloader.h
@@ -9,8 +9,8 @@
#include <memory>
+#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxge/fx_dib.h"
class CPDF_ImageObject;
diff --git a/core/fpdfapi/render/cpdf_rendercontext.h b/core/fpdfapi/render/cpdf_rendercontext.h
index 220ff2b775..feb71871b1 100644
--- a/core/fpdfapi/render/cpdf_rendercontext.h
+++ b/core/fpdfapi/render/cpdf_rendercontext.h
@@ -9,8 +9,8 @@
#include <vector>
+#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
class CPDF_Dictionary;
diff --git a/core/fpdfdoc/cpdf_formfield.h b/core/fpdfdoc/cpdf_formfield.h
index f5c4c6964b..417f9d189f 100644
--- a/core/fpdfdoc/cpdf_formfield.h
+++ b/core/fpdfdoc/cpdf_formfield.h
@@ -14,7 +14,6 @@
#include "core/fpdfdoc/cpdf_aaction.h"
#include "core/fpdfdoc/cpdf_formfield.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fpdfdoc/ctypeset.h b/core/fpdfdoc/ctypeset.h
index 1b016ea562..6131467e56 100644
--- a/core/fpdfdoc/ctypeset.h
+++ b/core/fpdfdoc/ctypeset.h
@@ -8,6 +8,7 @@
#define CORE_FPDFDOC_CTYPESET_H_
#include "core/fpdfdoc/cpvt_floatrect.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_system.h"
class CPDF_VariableText;
diff --git a/core/fpdftext/cpdf_linkextract.h b/core/fpdftext/cpdf_linkextract.h
index 31004577b9..5c022d3d78 100644
--- a/core/fpdftext/cpdf_linkextract.h
+++ b/core/fpdftext/cpdf_linkextract.h
@@ -9,7 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
diff --git a/core/fxcodec/codec/ccodec_jbig2module.h b/core/fxcodec/codec/ccodec_jbig2module.h
index 9b894fbc97..6b36f19a6d 100644
--- a/core/fxcodec/codec/ccodec_jbig2module.h
+++ b/core/fxcodec/codec/ccodec_jbig2module.h
@@ -10,7 +10,7 @@
#include <memory>
#include "core/fxcodec/fx_codec_def.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_retain_ptr.h"
class CJBig2_Context;
class CJBig2_Image;
diff --git a/core/fxcodec/codec/ccodec_tiffmodule.cpp b/core/fxcodec/codec/ccodec_tiffmodule.cpp
index 1f101061b4..e0cb719475 100644
--- a/core/fxcodec/codec/ccodec_tiffmodule.cpp
+++ b/core/fxcodec/codec/ccodec_tiffmodule.cpp
@@ -12,6 +12,7 @@
#include "core/fxcodec/fx_codec.h"
#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/fx_safe_types.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxge/dib/cfx_dibitmap.h"
#include "core/fxge/fx_dib.h"
#include "third_party/base/logging.h"
diff --git a/core/fxcodec/codec/ccodec_tiffmodule.h b/core/fxcodec/codec/ccodec_tiffmodule.h
index 73d9c37992..6e6e36b697 100644
--- a/core/fxcodec/codec/ccodec_tiffmodule.h
+++ b/core/fxcodec/codec/ccodec_tiffmodule.h
@@ -14,6 +14,7 @@
#include "core/fxge/dib/cfx_dibitmap.h"
class CFX_DIBAttribute;
+class IFX_SeekableReadStream;
class CCodec_TiffModule {
public:
diff --git a/core/fxcodec/codec/fx_codec_progress.cpp b/core/fxcodec/codec/fx_codec_progress.cpp
index 905a957184..a70041bff9 100644
--- a/core/fxcodec/codec/fx_codec_progress.cpp
+++ b/core/fxcodec/codec/fx_codec_progress.cpp
@@ -11,6 +11,7 @@
#include <vector>
#include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxge/dib/cfx_dibitmap.h"
#include "core/fxge/fx_dib.h"
#include "third_party/base/logging.h"
diff --git a/core/fxcodec/fx_codec.h b/core/fxcodec/fx_codec.h
index 71b002282c..2e83319ef7 100644
--- a/core/fxcodec/fx_codec.h
+++ b/core/fxcodec/fx_codec.h
@@ -22,7 +22,6 @@
#include "core/fxcodec/codec/ccodec_jpxmodule.h"
#include "core/fxcodec/codec/ccodec_scanlinedecoder.h"
#include "core/fxcodec/fx_codec_def.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#ifdef PDF_ENABLE_XFA
diff --git a/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp b/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp
index 78c7939458..45628a87ce 100644
--- a/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp
+++ b/core/fxcodec/jbig2/JBig2_ArithDecoder.cpp
@@ -7,7 +7,7 @@
#include "core/fxcodec/jbig2/JBig2_ArithDecoder.h"
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_memory.h"
namespace {
diff --git a/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp b/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
index 228e16ec09..1701538b4f 100644
--- a/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
+++ b/core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp
@@ -8,7 +8,7 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_memory.h"
namespace {
diff --git a/core/fxcodec/jbig2/JBig2_BitStream.h b/core/fxcodec/jbig2/JBig2_BitStream.h
index 7517eb0c6c..0be6c4b977 100644
--- a/core/fxcodec/jbig2/JBig2_BitStream.h
+++ b/core/fxcodec/jbig2/JBig2_BitStream.h
@@ -8,7 +8,6 @@
#define CORE_FXCODEC_JBIG2_JBIG2_BITSTREAM_H_
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CPDF_StreamAcc;
diff --git a/core/fxcodec/jbig2/JBig2_HtrdProc.cpp b/core/fxcodec/jbig2/JBig2_HtrdProc.cpp
index 9c9480e263..bd1d92f2be 100644
--- a/core/fxcodec/jbig2/JBig2_HtrdProc.cpp
+++ b/core/fxcodec/jbig2/JBig2_HtrdProc.cpp
@@ -12,7 +12,6 @@
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
#include "core/fxcodec/jbig2/JBig2_GrdProc.h"
#include "core/fxcodec/jbig2/JBig2_Image.h"
-#include "core/fxcrt/fx_basic.h"
#include "third_party/base/ptr_util.h"
std::unique_ptr<CJBig2_Image> CJBig2_HTRDProc::decode_Arith(
diff --git a/core/fxcodec/jbig2/JBig2_HuffmanDecoder.h b/core/fxcodec/jbig2/JBig2_HuffmanDecoder.h
index c7192b74ed..15ebf7827d 100644
--- a/core/fxcodec/jbig2/JBig2_HuffmanDecoder.h
+++ b/core/fxcodec/jbig2/JBig2_HuffmanDecoder.h
@@ -9,6 +9,8 @@
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
#include "core/fxcodec/jbig2/JBig2_HuffmanTable.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
+
class CJBig2_HuffmanDecoder {
public:
explicit CJBig2_HuffmanDecoder(CJBig2_BitStream* pStream);
diff --git a/core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.cpp b/core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.cpp
index 4c2ba997d5..abff7868e8 100644
--- a/core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.cpp
+++ b/core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.cpp
@@ -5,7 +5,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h"
-#include "core/fxcrt/fx_basic.h"
+
+#include "core/fxcrt/fx_memory.h"
const bool HuffmanTable_HTOOB_B1 = false;
const JBig2TableLine HuffmanTable_B1[] = {{1, 4, 0},
diff --git a/core/fxcodec/jbig2/JBig2_Image.cpp b/core/fxcodec/jbig2/JBig2_Image.cpp
index e07eb32fe3..f9868797da 100644
--- a/core/fxcodec/jbig2/JBig2_Image.cpp
+++ b/core/fxcodec/jbig2/JBig2_Image.cpp
@@ -8,6 +8,7 @@
#include "core/fxcodec/jbig2/JBig2_Image.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_safe_types.h"
#include "third_party/base/ptr_util.h"
diff --git a/core/fxcodec/jbig2/JBig2_SddProc.cpp b/core/fxcodec/jbig2/JBig2_SddProc.cpp
index 1a98b17d34..b587ac01dd 100644
--- a/core/fxcodec/jbig2/JBig2_SddProc.cpp
+++ b/core/fxcodec/jbig2/JBig2_SddProc.cpp
@@ -19,7 +19,6 @@
#include "core/fxcodec/jbig2/JBig2_HuffmanTable_Standard.h"
#include "core/fxcodec/jbig2/JBig2_SymbolDict.h"
#include "core/fxcodec/jbig2/JBig2_TrdProc.h"
-#include "core/fxcrt/fx_basic.h"
#include "third_party/base/ptr_util.h"
std::unique_ptr<CJBig2_SymbolDict> CJBig2_SDDProc::decode_Arith(
diff --git a/core/fxcodec/jbig2/JBig2_SymbolDict.h b/core/fxcodec/jbig2/JBig2_SymbolDict.h
index d6b897ce70..49289fb650 100644
--- a/core/fxcodec/jbig2/JBig2_SymbolDict.h
+++ b/core/fxcodec/jbig2/JBig2_SymbolDict.h
@@ -12,7 +12,6 @@
#include <vector>
#include "core/fxcodec/jbig2/JBig2_ArithDecoder.h"
-#include "core/fxcrt/fx_basic.h"
class CJBig2_Image;
diff --git a/core/fxcodec/lbmp/fx_bmp.cpp b/core/fxcodec/lbmp/fx_bmp.cpp
index 989b3a4f84..f445453c65 100644
--- a/core/fxcodec/lbmp/fx_bmp.cpp
+++ b/core/fxcodec/lbmp/fx_bmp.cpp
@@ -10,6 +10,7 @@
#include <limits>
#include "core/fxcrt/fx_system.h"
+#include "third_party/base/logging.h"
#include "third_party/base/ptr_util.h"
static_assert(sizeof(BmpFileHeader) == 14,
diff --git a/core/fxcodec/lbmp/fx_bmp.h b/core/fxcodec/lbmp/fx_bmp.h
index 175d9bede5..3876aed407 100644
--- a/core/fxcodec/lbmp/fx_bmp.h
+++ b/core/fxcodec/lbmp/fx_bmp.h
@@ -13,7 +13,6 @@
#include <vector>
#include "core/fxcodec/codec/ccodec_bmpmodule.h"
-#include "core/fxcrt/fx_basic.h"
#define BMP_WIDTHBYTES(width, bitCount) ((width * bitCount) + 31) / 32 * 4
#define BMP_PAL_ENCODE(a, r, g, b) \
diff --git a/core/fxcodec/lgif/cgifcontext.h b/core/fxcodec/lgif/cgifcontext.h
index fa46b14559..1bd6d46d31 100644
--- a/core/fxcodec/lgif/cgifcontext.h
+++ b/core/fxcodec/lgif/cgifcontext.h
@@ -13,7 +13,7 @@
#include "core/fxcodec/codec/ccodec_gifmodule.h"
#include "core/fxcodec/lgif/fx_gif.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
class CGifContext : public CCodec_GifModule::Context {
public:
diff --git a/core/fxcodec/lgif/fx_gif.h b/core/fxcodec/lgif/fx_gif.h
index 5216eeb70e..fd95aba17a 100644
--- a/core/fxcodec/lgif/fx_gif.h
+++ b/core/fxcodec/lgif/fx_gif.h
@@ -10,8 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
class CGifContext;
#define GIF_SIGNATURE "GIF"
diff --git a/core/fxcrt/cfx_bytestring.h b/core/fxcrt/cfx_bytestring.h
index a8a28169a5..390a4b3b70 100644
--- a/core/fxcrt/cfx_bytestring.h
+++ b/core/fxcrt/cfx_bytestring.h
@@ -14,7 +14,6 @@
#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/cfx_string_c_template.h"
#include "core/fxcrt/cfx_string_data_template.h"
-#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_system.h"
#include "third_party/base/optional.h"
diff --git a/core/fxcrt/cfx_checksumcontext.cpp b/core/fxcrt/cfx_checksumcontext.cpp
index eb20db69ec..31140169b4 100644
--- a/core/fxcrt/cfx_checksumcontext.cpp
+++ b/core/fxcrt/cfx_checksumcontext.cpp
@@ -7,6 +7,7 @@
#include "core/fxcrt/cfx_checksumcontext.h"
#include "core/fdrm/crypto/fx_crypt.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/xml/cfx_saxreaderhandler.h"
#include "third_party/base/ptr_util.h"
diff --git a/core/fxcrt/cfx_retain_ptr.h b/core/fxcrt/cfx_retain_ptr.h
index 32a77c5a6c..d3896ba6ae 100644
--- a/core/fxcrt/cfx_retain_ptr.h
+++ b/core/fxcrt/cfx_retain_ptr.h
@@ -9,7 +9,13 @@
#include <memory>
#include <utility>
-#include "core/fxcrt/fx_memory.h"
+#include "core/fxcrt/fx_system.h"
+
+// Used with std::unique_ptr to Release() objects that can't be deleted.
+template <class T>
+struct ReleaseDeleter {
+ inline void operator()(T* ptr) const { ptr->Release(); }
+};
// Analogous to base's scoped_refptr.
template <class T>
@@ -25,6 +31,7 @@ class CFX_RetainPtr {
CFX_RetainPtr(CFX_RetainPtr&& that) noexcept { Swap(that); }
// Deliberately implicit to allow returning nullptrs.
+ // NOLINTNEXTLINE(runtime/explicit)
CFX_RetainPtr(std::nullptr_t ptr) {}
template <class U>
diff --git a/core/fxcrt/css/cfx_csscomputedstyle.h b/core/fxcrt/css/cfx_csscomputedstyle.h
index bd7cd8268b..bb4b62bc2b 100644
--- a/core/fxcrt/css/cfx_csscomputedstyle.h
+++ b/core/fxcrt/css/cfx_csscomputedstyle.h
@@ -11,7 +11,6 @@
#include "core/fxcrt/css/cfx_css.h"
#include "core/fxcrt/css/cfx_csscustomproperty.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
class CFX_CSSValueList;
diff --git a/core/fxcrt/css/cfx_cssrulecollection.h b/core/fxcrt/css/cfx_cssrulecollection.h
index 6a509d49e7..6b91c6bcd5 100644
--- a/core/fxcrt/css/cfx_cssrulecollection.h
+++ b/core/fxcrt/css/cfx_cssrulecollection.h
@@ -11,7 +11,7 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
class CFX_CSSDeclaration;
class CFX_CSSSelector;
diff --git a/core/fxcrt/css/cfx_cssstyleselector.h b/core/fxcrt/css/cfx_cssstyleselector.h
index 56d933b614..143e51ee68 100644
--- a/core/fxcrt/css/cfx_cssstyleselector.h
+++ b/core/fxcrt/css/cfx_cssstyleselector.h
@@ -12,7 +12,6 @@
#include "core/fxcrt/css/cfx_css.h"
#include "core/fxcrt/css/cfx_cssrulecollection.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
class CFX_CSSComputedStyle;
diff --git a/core/fxcrt/fx_arabic.cpp b/core/fxcrt/fx_arabic.cpp
index fecfc3f759..a4a65e2cad 100644
--- a/core/fxcrt/fx_arabic.cpp
+++ b/core/fxcrt/fx_arabic.cpp
@@ -9,6 +9,7 @@
#include <algorithm>
#include <vector>
+#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_ucd.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fxcrt/fx_basic.h b/core/fxcrt/fx_basic.h
deleted file mode 100644
index c60f0d367b..0000000000
--- a/core/fxcrt/fx_basic.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef CORE_FXCRT_FX_BASIC_H_
-#define CORE_FXCRT_FX_BASIC_H_
-
-#include <algorithm>
-#include <memory>
-#include <vector>
-
-#include "core/fxcrt/cfx_binarybuf.h"
-#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_memory.h"
-#include "core/fxcrt/fx_stream.h"
-#include "core/fxcrt/fx_string.h"
-#include "core/fxcrt/fx_system.h"
-
-#ifdef PDF_ENABLE_XFA
-#define FX_IsOdd(a) ((a)&1)
-#endif // PDF_ENABLE_XFA
-
-uint32_t GetBits32(const uint8_t* pData, int bitpos, int nbits);
-
-#endif // CORE_FXCRT_FX_BASIC_H_
diff --git a/core/fxcrt/fx_basic_utf.cpp b/core/fxcrt/fx_basic_utf.cpp
index 8a5587d5c4..e0b87479f2 100644
--- a/core/fxcrt/fx_basic_utf.cpp
+++ b/core/fxcrt/fx_basic_utf.cpp
@@ -4,10 +4,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/fxcrt/fx_basic.h"
-
#include <vector>
+#include "core/fxcrt/fx_string.h"
+
namespace {
class CFX_UTF8Encoder {
diff --git a/core/fxcrt/fx_basic_util.cpp b/core/fxcrt/fx_basic_util.cpp
index 6f59f32fff..2a9ce05e4b 100644
--- a/core/fxcrt/fx_basic_util.cpp
+++ b/core/fxcrt/fx_basic_util.cpp
@@ -9,8 +9,8 @@
#include <limits>
#include <memory>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_stream.h"
#include "third_party/base/ptr_util.h"
bool FX_atonum(const CFX_ByteStringC& strc, void* pData) {
diff --git a/core/fxcrt/fx_basic_util_unittest.cpp b/core/fxcrt/fx_basic_util_unittest.cpp
index f4e3f794d3..9a130bece4 100644
--- a/core/fxcrt/fx_basic_util_unittest.cpp
+++ b/core/fxcrt/fx_basic_util_unittest.cpp
@@ -4,7 +4,7 @@
#include <limits>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_extension.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
diff --git a/core/fxcrt/fx_coordinates.h b/core/fxcrt/fx_coordinates.h
index d84b866a57..0c0ccb065f 100644
--- a/core/fxcrt/fx_coordinates.h
+++ b/core/fxcrt/fx_coordinates.h
@@ -10,7 +10,8 @@
#include <algorithm>
#include <tuple>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_system.h"
+#include "third_party/base/numerics/safe_math.h"
class CFX_Matrix;
diff --git a/core/fxcrt/fx_extension.h b/core/fxcrt/fx_extension.h
index 255ee2e3df..fbb86fea45 100644
--- a/core/fxcrt/fx_extension.h
+++ b/core/fxcrt/fx_extension.h
@@ -11,10 +11,14 @@
#include <cwctype>
#include <memory>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
#define FX_INVALID_OFFSET static_cast<uint32_t>(-1)
+#ifdef PDF_ENABLE_XFA
+#define FX_IsOdd(a) ((a)&1)
+#endif // PDF_ENABLE_XFA
+
float FXSYS_wcstof(const wchar_t* pwsStr,
int32_t iLength = -1,
int32_t* pUsedLen = nullptr);
@@ -102,4 +106,6 @@ void FX_GUID_CreateV4(FX_GUID* pGUID);
CFX_ByteString FX_GUID_ToString(const FX_GUID* pGUID, bool bSeparator = true);
#endif // PDF_ENABLE_XFA
+uint32_t GetBits32(const uint8_t* pData, int bitpos, int nbits);
+
#endif // CORE_FXCRT_FX_EXTENSION_H_
diff --git a/core/fxcrt/fx_memory.h b/core/fxcrt/fx_memory.h
index 65cf19c980..f89095ad9c 100644
--- a/core/fxcrt/fx_memory.h
+++ b/core/fxcrt/fx_memory.h
@@ -136,12 +136,6 @@ struct FxFreeDeleter {
inline void operator()(void* ptr) const { FX_Free(ptr); }
};
-// Used with std::unique_ptr to Release() objects that can't be deleted.
-template <class T>
-struct ReleaseDeleter {
- inline void operator()(T* ptr) const { ptr->Release(); }
-};
-
#endif // __cplusplus
#endif // CORE_FXCRT_FX_MEMORY_H_
diff --git a/core/fxcrt/fx_ucd.h b/core/fxcrt/fx_ucd.h
index 3b72516324..50f3801c87 100644
--- a/core/fxcrt/fx_ucd.h
+++ b/core/fxcrt/fx_ucd.h
@@ -8,7 +8,6 @@
#define CORE_FXCRT_FX_UCD_H_
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
constexpr uint32_t FX_BIDICLASSBITS = 6;
constexpr uint32_t FX_BIDICLASSBITSMASK = 0x1F << FX_BIDICLASSBITS;
diff --git a/core/fxcrt/fx_ucddata.cpp b/core/fxcrt/fx_ucddata.cpp
index 5e3d3afbd4..1f28bfbd37 100644
--- a/core/fxcrt/fx_ucddata.cpp
+++ b/core/fxcrt/fx_ucddata.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_ucd.h"
const uint32_t kTextLayoutCodeProperties[] = {
diff --git a/core/fxcrt/fxcrt_posix.cpp b/core/fxcrt/fxcrt_posix.cpp
index 4d867dd688..c206268029 100644
--- a/core/fxcrt/fxcrt_posix.cpp
+++ b/core/fxcrt/fxcrt_posix.cpp
@@ -8,7 +8,6 @@
#include <memory>
-#include "core/fxcrt/fx_basic.h"
#include "third_party/base/ptr_util.h"
#ifndef O_BINARY
diff --git a/core/fxcrt/ifxcrt_fileaccess.h b/core/fxcrt/ifxcrt_fileaccess.h
index 340c2d1eeb..f4c686abd5 100644
--- a/core/fxcrt/ifxcrt_fileaccess.h
+++ b/core/fxcrt/ifxcrt_fileaccess.h
@@ -10,8 +10,9 @@
#include <algorithm>
#include <memory>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_safe_types.h"
+#include "core/fxcrt/fx_stream.h"
+#include "core/fxcrt/fx_string.h"
class IFXCRT_FileAccess {
public:
diff --git a/core/fxcrt/xml/cfx_saxcontext.h b/core/fxcrt/xml/cfx_saxcontext.h
index fcc889f7a3..f66c76c9cc 100644
--- a/core/fxcrt/xml/cfx_saxcontext.h
+++ b/core/fxcrt/xml/cfx_saxcontext.h
@@ -9,7 +9,6 @@
#include <sstream>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/xml/cfx_saxreader.h"
diff --git a/core/fxcrt/xml/cfx_saxreader.cpp b/core/fxcrt/xml/cfx_saxreader.cpp
index 42bf510c19..641dc08688 100644
--- a/core/fxcrt/xml/cfx_saxreader.cpp
+++ b/core/fxcrt/xml/cfx_saxreader.cpp
@@ -9,6 +9,7 @@
#include <algorithm>
#include <utility>
+#include "core/fxcrt/fx_stream.h"
#include "core/fxcrt/xml/cfx_saxreaderhandler.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fxcrt/xml/cfx_saxreader.h b/core/fxcrt/xml/cfx_saxreader.h
index 9f1f324062..3db1c7c80c 100644
--- a/core/fxcrt/xml/cfx_saxreader.h
+++ b/core/fxcrt/xml/cfx_saxreader.h
@@ -11,10 +11,12 @@
#include <stack>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_retain_ptr.h"
+#include "core/fxcrt/fx_string.h"
class CFX_SAXCommentContext;
class CFX_SAXContext;
+class IFX_SeekableReadStream;
enum class CFX_SaxMode;
class CFX_SAXItem {
diff --git a/core/fxcrt/xml/cfx_xmlparser.cpp b/core/fxcrt/xml/cfx_xmlparser.cpp
index 884f6fc477..ce45481512 100644
--- a/core/fxcrt/xml/cfx_xmlparser.cpp
+++ b/core/fxcrt/xml/cfx_xmlparser.cpp
@@ -6,7 +6,6 @@
#include "core/fxcrt/xml/cfx_xmlparser.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/xml/cfx_xmlchardata.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
#include "core/fxcrt/xml/cfx_xmlinstruction.h"
diff --git a/core/fxcrt/xml/cxml_element.h b/core/fxcrt/xml/cxml_element.h
index d708032adb..a4b4b14129 100644
--- a/core/fxcrt/xml/cxml_element.h
+++ b/core/fxcrt/xml/cxml_element.h
@@ -10,7 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/xml/cxml_attrmap.h"
#include "core/fxcrt/xml/cxml_object.h"
diff --git a/core/fxcrt/xml/cxml_object.h b/core/fxcrt/xml/cxml_object.h
index e7f23aa988..d009359932 100644
--- a/core/fxcrt/xml/cxml_object.h
+++ b/core/fxcrt/xml/cxml_object.h
@@ -7,8 +7,6 @@
#ifndef CORE_FXCRT_XML_CXML_OBJECT_H_
#define CORE_FXCRT_XML_CXML_OBJECT_H_
-#include "core/fxcrt/fx_basic.h"
-
class CXML_Content;
class CXML_Element;
diff --git a/core/fxge/cfx_cliprgn.h b/core/fxge/cfx_cliprgn.h
index 866af9b205..0dfc4991fd 100644
--- a/core/fxge/cfx_cliprgn.h
+++ b/core/fxge/cfx_cliprgn.h
@@ -7,6 +7,7 @@
#ifndef CORE_FXGE_CFX_CLIPRGN_H_
#define CORE_FXGE_CFX_CLIPRGN_H_
+#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
class CFX_DIBitmap;
diff --git a/core/fxge/cfx_folderfontinfo.cpp b/core/fxge/cfx_folderfontinfo.cpp
index c82d55982a..f4f57e4b05 100644
--- a/core/fxge/cfx_folderfontinfo.cpp
+++ b/core/fxge/cfx_folderfontinfo.cpp
@@ -10,6 +10,7 @@
#include <utility>
#include "core/fxcrt/fx_codepage.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxge/cfx_fontmapper.h"
#include "core/fxge/fx_font.h"
#include "third_party/base/ptr_util.h"
diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp
index 8b34819e05..7a51df1b85 100644
--- a/core/fxge/cfx_font.cpp
+++ b/core/fxge/cfx_font.cpp
@@ -14,6 +14,7 @@
#include "core/fpdfapi/font/cpdf_font.h"
#include "core/fxcrt/fx_codepage.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxge/cfx_facecache.h"
#include "core/fxge/cfx_fontcache.h"
#include "core/fxge/cfx_fontmgr.h"
diff --git a/core/fxge/dib/cfx_dibitmap.h b/core/fxge/dib/cfx_dibitmap.h
index 2b5555befc..fb676691ef 100644
--- a/core/fxge/dib/cfx_dibitmap.h
+++ b/core/fxge/dib/cfx_dibitmap.h
@@ -9,7 +9,6 @@
#include "core/fxcrt/cfx_maybe_owned.h"
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxge/dib/cfx_dibsource.h"
#include "third_party/base/stl_util.h"
diff --git a/core/fxge/dib/cfx_dibsource.h b/core/fxge/dib/cfx_dibsource.h
index 8b6d960de6..2315318ccb 100644
--- a/core/fxge/dib/cfx_dibsource.h
+++ b/core/fxge/dib/cfx_dibsource.h
@@ -10,8 +10,8 @@
#include <memory>
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_memory.h"
#include "core/fxge/fx_dib.h"
enum FXDIB_Channel {
diff --git a/core/fxge/dib/cfx_imagestretcher.h b/core/fxge/dib/cfx_imagestretcher.h
index f31669b866..84411015dd 100644
--- a/core/fxge/dib/cfx_imagestretcher.h
+++ b/core/fxge/dib/cfx_imagestretcher.h
@@ -10,7 +10,9 @@
#include <memory>
#include "core/fxcrt/cfx_retain_ptr.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_memory.h"
#include "core/fxge/dib/ifx_scanlinecomposer.h"
#include "core/fxge/fx_dib.h"
diff --git a/core/fxge/dib/cfx_imagetransformer.h b/core/fxge/dib/cfx_imagetransformer.h
index 694c44c932..0524a0c713 100644
--- a/core/fxge/dib/cfx_imagetransformer.h
+++ b/core/fxge/dib/cfx_imagetransformer.h
@@ -10,6 +10,7 @@
#include <memory>
#include "core/fxcrt/cfx_retain_ptr.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxge/dib/cfx_bitmapstorer.h"
#include "core/fxge/dib/cfx_dibitmap.h"
diff --git a/core/fxge/dib/cstretchengine.h b/core/fxge/dib/cstretchengine.h
index dd207af30d..14c0975023 100644
--- a/core/fxge/dib/cstretchengine.h
+++ b/core/fxge/dib/cstretchengine.h
@@ -9,6 +9,7 @@
#include <vector>
+#include "core/fxcrt/cfx_retain_ptr.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxge/fx_dib.h"
diff --git a/core/fxge/fx_font.h b/core/fxge/fx_font.h
index 5ef1a7d65e..57fdb54821 100644
--- a/core/fxge/fx_font.h
+++ b/core/fxge/fx_font.h
@@ -25,6 +25,7 @@ class CFX_FaceCache;
class CFX_GlyphBitmap;
class CFX_PathData;
class CFX_SizeGlyphCache;
+class IFX_SeekableReadStream;
#if defined _SKIA_SUPPORT_ || defined _SKIA_SUPPORT_PATHS_
class SkTypeface;
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 05a4c3a9ed..754a5104c8 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -16,6 +16,7 @@
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_stream_acc.h"
#include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/fx_memory.h"
#include "core/fxge/cfx_defaultrenderdevice.h"
#include "core/fxge/cfx_graphstatedata.h"
diff --git a/fpdfsdk/cfx_systemhandler.h b/fpdfsdk/cfx_systemhandler.h
index c5da75579b..c52630533f 100644
--- a/fpdfsdk/cfx_systemhandler.h
+++ b/fpdfsdk/cfx_systemhandler.h
@@ -9,6 +9,7 @@
#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
using TimerCallback = void (*)(int32_t idEvent);
diff --git a/fpdfsdk/cpdfsdk_annot.h b/fpdfsdk/cpdfsdk_annot.h
index 3ab7981051..47049556cc 100644
--- a/fpdfsdk/cpdfsdk_annot.h
+++ b/fpdfsdk/cpdfsdk_annot.h
@@ -12,7 +12,6 @@
#include "core/fpdfdoc/cpdf_defaultappearance.h"
#include "core/fxcrt/cfx_observable.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "fpdfsdk/cfx_systemhandler.h"
#include "fpdfsdk/fsdk_common.h"
#include "fpdfsdk/fsdk_define.h"
diff --git a/fpdfsdk/cpdfsdk_annothandlermgr.h b/fpdfsdk/cpdfsdk_annothandlermgr.h
index 96765e5ef1..32f8b4a526 100644
--- a/fpdfsdk/cpdfsdk_annothandlermgr.h
+++ b/fpdfsdk/cpdfsdk_annothandlermgr.h
@@ -12,7 +12,6 @@
#include "core/fpdfdoc/cpdf_annot.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "fpdfsdk/cpdfsdk_annot.h"
diff --git a/fpdfsdk/cpdfsdk_baannothandler.h b/fpdfsdk/cpdfsdk_baannothandler.h
index 86f7b937e8..2ed9ed8334 100644
--- a/fpdfsdk/cpdfsdk_baannothandler.h
+++ b/fpdfsdk/cpdfsdk_baannothandler.h
@@ -7,7 +7,6 @@
#ifndef FPDFSDK_CPDFSDK_BAANNOTHANDLER_H_
#define FPDFSDK_CPDFSDK_BAANNOTHANDLER_H_
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "fpdfsdk/ipdfsdk_annothandler.h"
diff --git a/fpdfsdk/cpdfsdk_interform.h b/fpdfsdk/cpdfsdk_interform.h
index c4a1ff13f9..b031345158 100644
--- a/fpdfsdk/cpdfsdk_interform.h
+++ b/fpdfsdk/cpdfsdk_interform.h
@@ -14,7 +14,6 @@
#include "core/fpdfdoc/cpdf_action.h"
#include "core/fpdfdoc/ipdf_formnotify.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxge/fx_dib.h"
#include "fpdfsdk/cpdfsdk_widget.h"
diff --git a/fpdfsdk/cpdfsdk_widgethandler.h b/fpdfsdk/cpdfsdk_widgethandler.h
index 60bfd834a2..82a9380ced 100644
--- a/fpdfsdk/cpdfsdk_widgethandler.h
+++ b/fpdfsdk/cpdfsdk_widgethandler.h
@@ -8,7 +8,6 @@
#define FPDFSDK_CPDFSDK_WIDGETHANDLER_H_
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "fpdfsdk/ipdfsdk_annothandler.h"
diff --git a/fpdfsdk/cpdfsdk_xfawidgethandler.h b/fpdfsdk/cpdfsdk_xfawidgethandler.h
index 26e991d6ed..e1f7661cf6 100644
--- a/fpdfsdk/cpdfsdk_xfawidgethandler.h
+++ b/fpdfsdk/cpdfsdk_xfawidgethandler.h
@@ -8,7 +8,6 @@
#define FPDFSDK_CPDFSDK_XFAWIDGETHANDLER_H_
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "fpdfsdk/ipdfsdk_annothandler.h"
diff --git a/fpdfsdk/fpdf_dataavail.cpp b/fpdfsdk/fpdf_dataavail.cpp
index e365fd9313..e659db7be1 100644
--- a/fpdfsdk/fpdf_dataavail.cpp
+++ b/fpdfsdk/fpdf_dataavail.cpp
@@ -12,6 +12,7 @@
#include "core/fpdfapi/parser/cpdf_data_avail.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fxcrt/cfx_retain_ptr.h"
+#include "core/fxcrt/fx_stream.h"
#include "fpdfsdk/fsdk_define.h"
#include "public/fpdf_formfill.h"
#include "third_party/base/ptr_util.h"
diff --git a/fpdfsdk/fpdf_ext.cpp b/fpdfsdk/fpdf_ext.cpp
index c8a1b4b4f7..676f701106 100644
--- a/fpdfsdk/fpdf_ext.cpp
+++ b/fpdfsdk/fpdf_ext.cpp
@@ -14,7 +14,6 @@
#include "core/fpdfdoc/cpdf_annot.h"
#include "core/fpdfdoc/cpdf_interform.h"
#include "core/fpdfdoc/cpdf_metadata.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/xml/cxml_content.h"
#include "core/fxcrt/xml/cxml_element.h"
diff --git a/fpdfsdk/fpdf_flatten_embeddertest.cpp b/fpdfsdk/fpdf_flatten_embeddertest.cpp
index d709f59053..a8915fe60c 100644
--- a/fpdfsdk/fpdf_flatten_embeddertest.cpp
+++ b/fpdfsdk/fpdf_flatten_embeddertest.cpp
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/fxcrt/fx_basic.h"
#include "public/fpdf_flatten.h"
#include "public/fpdfview.h"
#include "testing/embedder_test.h"
diff --git a/fpdfsdk/fpdfppo_embeddertest.cpp b/fpdfsdk/fpdfppo_embeddertest.cpp
index d57169221b..1df677f66b 100644
--- a/fpdfsdk/fpdfppo_embeddertest.cpp
+++ b/fpdfsdk/fpdfppo_embeddertest.cpp
@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include <string>
-#include "core/fxcrt/fx_basic.h"
#include "public/fpdf_edit.h"
#include "public/fpdf_ppo.h"
#include "public/fpdf_save.h"
diff --git a/fpdfsdk/fpdftext_embeddertest.cpp b/fpdfsdk/fpdftext_embeddertest.cpp
index 572368af15..e662bbe6e5 100644
--- a/fpdfsdk/fpdftext_embeddertest.cpp
+++ b/fpdfsdk/fpdftext_embeddertest.cpp
@@ -4,7 +4,7 @@
#include <memory>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_memory.h"
#include "public/fpdf_text.h"
#include "public/fpdfview.h"
#include "testing/embedder_test.h"
diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
index 2bc229d14d..e93e8bcd58 100644
--- a/fpdfsdk/fpdfview.cpp
+++ b/fpdfsdk/fpdfview.cpp
@@ -30,6 +30,7 @@
#include "core/fxcodec/fx_codec.h"
#include "core/fxcrt/fx_memory.h"
#include "core/fxcrt/fx_safe_types.h"
+#include "core/fxcrt/fx_stream.h"
#include "core/fxge/cfx_defaultrenderdevice.h"
#include "core/fxge/cfx_gemodule.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
diff --git a/fpdfsdk/ipdfsdk_annothandler.h b/fpdfsdk/ipdfsdk_annothandler.h
index 3a35cdc8ff..b7f7cbe7f8 100644
--- a/fpdfsdk/ipdfsdk_annothandler.h
+++ b/fpdfsdk/ipdfsdk_annothandler.h
@@ -7,7 +7,6 @@
#ifndef FPDFSDK_IPDFSDK_ANNOTHANDLER_H_
#define FPDFSDK_IPDFSDK_ANNOTHANDLER_H_
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "fpdfsdk/cpdfsdk_annot.h"
diff --git a/fpdfsdk/javascript/JS_KeyValue.h b/fpdfsdk/javascript/JS_KeyValue.h
index a571588870..9fc71802ef 100644
--- a/fpdfsdk/javascript/JS_KeyValue.h
+++ b/fpdfsdk/javascript/JS_KeyValue.h
@@ -10,7 +10,7 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
enum class JS_GlobalDataType { NUMBER = 0, BOOLEAN, STRING, OBJECT, NULLOBJ };
diff --git a/fpdfsdk/javascript/JS_Value.h b/fpdfsdk/javascript/JS_Value.h
index 6b67839aff..2c0be3592c 100644
--- a/fpdfsdk/javascript/JS_Value.h
+++ b/fpdfsdk/javascript/JS_Value.h
@@ -9,7 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "fxjs/fxjs_v8.h"
class CJS_Array;
diff --git a/fpdfsdk/javascript/cjs_runtime.h b/fpdfsdk/javascript/cjs_runtime.h
index 0bde51f9de..bfbc52b116 100644
--- a/fpdfsdk/javascript/cjs_runtime.h
+++ b/fpdfsdk/javascript/cjs_runtime.h
@@ -14,7 +14,6 @@
#include <vector>
#include "core/fxcrt/cfx_observable.h"
-#include "core/fxcrt/fx_basic.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/javascript/JS_EventHandler.h"
#include "fpdfsdk/javascript/ijs_runtime.h"
diff --git a/fpdfsdk/pwl/cpwl_edit.h b/fpdfsdk/pwl/cpwl_edit.h
index 758402394c..ef12e9884a 100644
--- a/fpdfsdk/pwl/cpwl_edit.h
+++ b/fpdfsdk/pwl/cpwl_edit.h
@@ -11,7 +11,6 @@
#include "core/fpdfdoc/cpvt_wordrange.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "fpdfsdk/pwl/cpwl_edit_ctrl.h"
class IPWL_Filler_Notify {
diff --git a/fpdfsdk/pwl/cpwl_list_impl.h b/fpdfsdk/pwl/cpwl_list_impl.h
index ca159b7e5e..9bb0d2969c 100644
--- a/fpdfsdk/pwl/cpwl_list_impl.h
+++ b/fpdfsdk/pwl/cpwl_list_impl.h
@@ -13,6 +13,7 @@
#include "core/fxcrt/cfx_unowned_ptr.h"
#include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_string.h"
class CPWL_EditImpl;
class CPWL_EditImpl_Iterator;
diff --git a/fpdfsdk/pwl/cpwl_timer.h b/fpdfsdk/pwl/cpwl_timer.h
index 6f76fe7eb0..4a07425993 100644
--- a/fpdfsdk/pwl/cpwl_timer.h
+++ b/fpdfsdk/pwl/cpwl_timer.h
@@ -8,7 +8,6 @@
#define FPDFSDK_PWL_CPWL_TIMER_H_
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CFX_SystemHandler;
class CPWL_TimerHandler;
diff --git a/fpdfsdk/pwl/cpwl_timer_handler.h b/fpdfsdk/pwl/cpwl_timer_handler.h
index b65a5152be..f208e1cdf6 100644
--- a/fpdfsdk/pwl/cpwl_timer_handler.h
+++ b/fpdfsdk/pwl/cpwl_timer_handler.h
@@ -9,8 +9,6 @@
#include <memory>
-#include "core/fxcrt/fx_basic.h"
-
class CFX_SystemHandler;
class CPWL_Timer;
diff --git a/fpdfsdk/pwl/cpwl_wnd.h b/fpdfsdk/pwl/cpwl_wnd.h
index 9c913f1c23..cd1c06005f 100644
--- a/fpdfsdk/pwl/cpwl_wnd.h
+++ b/fpdfsdk/pwl/cpwl_wnd.h
@@ -13,7 +13,6 @@
#include "core/fpdfdoc/cpdf_formcontrol.h"
#include "core/fxcrt/cfx_observable.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxge/cfx_color.h"
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_widget.h"
diff --git a/fxbarcode/BC_UtilCodingConvert.h b/fxbarcode/BC_UtilCodingConvert.h
index 5aaa53c726..de6b30eb7c 100644
--- a/fxbarcode/BC_UtilCodingConvert.h
+++ b/fxbarcode/BC_UtilCodingConvert.h
@@ -9,7 +9,7 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
class CBC_UtilCodingConvert {
public:
diff --git a/fxbarcode/BC_Utils.cpp b/fxbarcode/BC_Utils.cpp
index 6a6ed3e0a4..284322e832 100644
--- a/fxbarcode/BC_Utils.cpp
+++ b/fxbarcode/BC_Utils.cpp
@@ -6,7 +6,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "fxbarcode/utils.h"
bool BC_FX_ByteString_Replace(CFX_ByteString& dst,
diff --git a/fxbarcode/cbc_codebase.h b/fxbarcode/cbc_codebase.h
index 7b83fd70d2..ac9aaabcbb 100644
--- a/fxbarcode/cbc_codebase.h
+++ b/fxbarcode/cbc_codebase.h
@@ -9,6 +9,7 @@
#include <memory>
+#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxge/fx_dib.h"
#include "fxbarcode/BC_Library.h"
diff --git a/fxbarcode/common/BC_CommonBitArray.h b/fxbarcode/common/BC_CommonBitArray.h
index f3d0a5ed83..1f98e54e53 100644
--- a/fxbarcode/common/BC_CommonBitArray.h
+++ b/fxbarcode/common/BC_CommonBitArray.h
@@ -9,8 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
class CBC_CommonBitArray {
public:
explicit CBC_CommonBitArray(CBC_CommonBitArray* array);
diff --git a/fxbarcode/common/BC_CommonByteArray.cpp b/fxbarcode/common/BC_CommonByteArray.cpp
index 80ae07d1ad..d66568c596 100644
--- a/fxbarcode/common/BC_CommonByteArray.cpp
+++ b/fxbarcode/common/BC_CommonByteArray.cpp
@@ -19,10 +19,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+#include "fxbarcode/common/BC_CommonByteArray.h"
#include <algorithm>
-#include "fxbarcode/common/BC_CommonByteArray.h"
+#include "core/fxcrt/fx_memory.h"
CBC_CommonByteArray::CBC_CommonByteArray() {
m_bytes = nullptr;
diff --git a/fxbarcode/common/BC_CommonByteArray.h b/fxbarcode/common/BC_CommonByteArray.h
index 9270adcf42..86b4ea1544 100644
--- a/fxbarcode/common/BC_CommonByteArray.h
+++ b/fxbarcode/common/BC_CommonByteArray.h
@@ -9,8 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
// TODO(weili): The usage of this class should be replaced by
// std::vector<uint8_t>.
class CBC_CommonByteArray {
diff --git a/fxbarcode/common/reedsolomon/BC_ReedSolomon.h b/fxbarcode/common/reedsolomon/BC_ReedSolomon.h
index 2838e13cee..d4e3ee8881 100644
--- a/fxbarcode/common/reedsolomon/BC_ReedSolomon.h
+++ b/fxbarcode/common/reedsolomon/BC_ReedSolomon.h
@@ -10,7 +10,7 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
class CBC_ReedSolomonGF256;
class CBC_ReedSolomonGF256Poly;
diff --git a/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.h b/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.h
index 6d8225dfb0..693d943042 100644
--- a/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.h
+++ b/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256.h
@@ -9,7 +9,6 @@
#include <memory>
-#include "core/fxcrt/fx_basic.h"
#include "fxbarcode/utils.h"
class CBC_ReedSolomonGF256Poly;
diff --git a/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.h b/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.h
index f7aea2bf53..4730625bf8 100644
--- a/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.h
+++ b/fxbarcode/common/reedsolomon/BC_ReedSolomonGF256Poly.h
@@ -10,7 +10,7 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_unowned_ptr.h"
class CBC_ReedSolomonGF256;
diff --git a/fxbarcode/datamatrix/BC_DefaultPlacement.h b/fxbarcode/datamatrix/BC_DefaultPlacement.h
index 5036b121e5..17ecac9f5c 100644
--- a/fxbarcode/datamatrix/BC_DefaultPlacement.h
+++ b/fxbarcode/datamatrix/BC_DefaultPlacement.h
@@ -9,7 +9,7 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
class CBC_DefaultPlacement {
public:
diff --git a/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp b/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp
index dc3a38f674..fbff8041cc 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp
@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include "fxbarcode/oned/BC_OnedCode128Writer.h"
-#include "core/fxcrt/fx_basic.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
diff --git a/fxbarcode/pdf417/BC_PDF417.h b/fxbarcode/pdf417/BC_PDF417.h
index f5ca2de60f..e6140a8fd7 100644
--- a/fxbarcode/pdf417/BC_PDF417.h
+++ b/fxbarcode/pdf417/BC_PDF417.h
@@ -10,7 +10,7 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
#include "fxbarcode/pdf417/BC_PDF417Compaction.h"
class CBC_BarcodeRow;
diff --git a/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h b/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h
index 785633d150..71ada98872 100644
--- a/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h
+++ b/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h
@@ -10,8 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
class CBC_BarcodeRow;
class CBC_BarcodeMatrix {
diff --git a/fxbarcode/pdf417/BC_PDF417BarcodeRow.h b/fxbarcode/pdf417/BC_PDF417BarcodeRow.h
index d9d8f69089..45b79c7368 100644
--- a/fxbarcode/pdf417/BC_PDF417BarcodeRow.h
+++ b/fxbarcode/pdf417/BC_PDF417BarcodeRow.h
@@ -9,8 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
class CBC_BarcodeRow {
public:
explicit CBC_BarcodeRow(size_t width);
diff --git a/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h b/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h
index 023f3dbb25..32482dc22b 100644
--- a/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h
+++ b/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h
@@ -9,7 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "fxbarcode/pdf417/BC_PDF417Compaction.h"
diff --git a/fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp b/fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp
index 478fcf50df..14311742f1 100644
--- a/fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp
+++ b/fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "core/fxcrt/fx_basic.h"
#include "fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/fxbarcode/qrcode/BC_QRCoderECBlocks.h b/fxbarcode/qrcode/BC_QRCoderECBlocks.h
index 4ea7a7abd5..999faca791 100644
--- a/fxbarcode/qrcode/BC_QRCoderECBlocks.h
+++ b/fxbarcode/qrcode/BC_QRCoderECBlocks.h
@@ -9,8 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
struct CBC_QRCoderECBlockData;
class CBC_QRCoderECBlocks {
diff --git a/fxbarcode/qrcode/BC_QRCoderECBlocksData.h b/fxbarcode/qrcode/BC_QRCoderECBlocksData.h
index 0f1ae20b84..7ed4ca4689 100644
--- a/fxbarcode/qrcode/BC_QRCoderECBlocksData.h
+++ b/fxbarcode/qrcode/BC_QRCoderECBlocksData.h
@@ -7,7 +7,7 @@
#ifndef FXBARCODE_QRCODE_BC_QRCODERECBLOCKSDATA_H_
#define FXBARCODE_QRCODE_BC_QRCODERECBLOCKSDATA_H_
-#include "core/fxcrt/fx_basic.h"
+#include <stdint.h>
struct CBC_QRCoderECBlockData {
uint8_t ecCodeWordsPerBlock;
diff --git a/fxbarcode/qrcode/BC_QRCoderEncoder.h b/fxbarcode/qrcode/BC_QRCoderEncoder.h
index 1c68b3b883..6bba889bd4 100644
--- a/fxbarcode/qrcode/BC_QRCoderEncoder.h
+++ b/fxbarcode/qrcode/BC_QRCoderEncoder.h
@@ -10,7 +10,6 @@
#include <utility>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
class CBC_QRCoder;
diff --git a/fxbarcode/qrcode/BC_QRCoderVersion.h b/fxbarcode/qrcode/BC_QRCoderVersion.h
index 0c9509b457..bfa213ccbb 100644
--- a/fxbarcode/qrcode/BC_QRCoderVersion.h
+++ b/fxbarcode/qrcode/BC_QRCoderVersion.h
@@ -10,7 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "fxbarcode/qrcode/BC_QRCoderECBlocks.h"
class CBC_QRCoderErrorCorrectionLevel;
diff --git a/fxbarcode/utils.h b/fxbarcode/utils.h
index 60a38af6c8..df7d1f08d1 100644
--- a/fxbarcode/utils.h
+++ b/fxbarcode/utils.h
@@ -9,7 +9,7 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/fx_string.h"
bool BC_FX_ByteString_Replace(CFX_ByteString& dst,
uint32_t first,
diff --git a/fxjs/cfxjse_context.h b/fxjs/cfxjse_context.h
index 35d5b59cea..c00b76b02b 100644
--- a/fxjs/cfxjse_context.h
+++ b/fxjs/cfxjse_context.h
@@ -10,7 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "fxjs/fxjse.h"
#include "v8/include/v8.h"
diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp
index 05986b4eb8..219ad51d39 100644
--- a/fxjs/fxjs_v8.cpp
+++ b/fxjs/fxjs_v8.cpp
@@ -8,7 +8,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "third_party/base/allocator/partition_allocator/partition_alloc.h"
// Keep this consistent with the values defined in gin/public/context_holder.h
diff --git a/testing/libfuzzer/pdf_xml_fuzzer.cc b/testing/libfuzzer/pdf_xml_fuzzer.cc
index 80a112d32b..a648dc2199 100644
--- a/testing/libfuzzer/pdf_xml_fuzzer.cc
+++ b/testing/libfuzzer/pdf_xml_fuzzer.cc
@@ -7,7 +7,6 @@
#include <memory>
#include "core/fxcrt/cfx_seekablestreamproxy.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_safe_types.h"
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/xml/cfx_xmldoc.h"
diff --git a/third_party/DEPS b/third_party/DEPS
index 5f26a9665a..93ca1a0bd4 100644
--- a/third_party/DEPS
+++ b/third_party/DEPS
@@ -1,6 +1,5 @@
include_rules = [
# A lot of third_party code has been modified to use fxcrt.
- '+core/fxcrt/fx_basic.h',
'+core/fxcrt/fx_coordinates.h',
'+core/fxcrt/fx_memory.h',
'+core/fxcrt/fx_system.h',
diff --git a/third_party/agg23/agg_curves.cpp b/third_party/agg23/agg_curves.cpp
index 483da70128..41900c81fb 100644
--- a/third_party/agg23/agg_curves.cpp
+++ b/third_party/agg23/agg_curves.cpp
@@ -21,7 +21,6 @@
#include "agg_curves.h"
#include "agg_math.h"
-#include "core/fxcrt/fx_basic.h"
namespace agg
{
diff --git a/third_party/agg23/agg_path_storage.cpp b/third_party/agg23/agg_path_storage.cpp
index c24f7952ba..063ece5424 100644
--- a/third_party/agg23/agg_path_storage.cpp
+++ b/third_party/agg23/agg_path_storage.cpp
@@ -23,9 +23,10 @@
//
//----------------------------------------------------------------------------
-#include "agg_math.h"
#include "agg_path_storage.h"
-#include "core/fxcrt/fx_basic.h"
+
+#include "agg_math.h"
+#include "core/fxcrt/fx_memory.h"
namespace agg
{
diff --git a/third_party/agg23/agg_vcgen_dash.cpp b/third_party/agg23/agg_vcgen_dash.cpp
index 74fd901181..fdbd2aa7fe 100644
--- a/third_party/agg23/agg_vcgen_dash.cpp
+++ b/third_party/agg23/agg_vcgen_dash.cpp
@@ -20,7 +20,6 @@
#include "agg_shorten_path.h"
#include "agg_vcgen_dash.h"
-#include "core/fxcrt/fx_basic.h"
namespace agg
{
diff --git a/third_party/agg23/agg_vcgen_stroke.cpp b/third_party/agg23/agg_vcgen_stroke.cpp
index a59abf0022..3e97a31473 100644
--- a/third_party/agg23/agg_vcgen_stroke.cpp
+++ b/third_party/agg23/agg_vcgen_stroke.cpp
@@ -24,7 +24,6 @@
//----------------------------------------------------------------------------
#include "agg_vcgen_stroke.h"
-#include "core/fxcrt/fx_basic.h"
namespace agg
{
diff --git a/xfa/fgas/layout/cfx_rtfbreak.h b/xfa/fgas/layout/cfx_rtfbreak.h
index bc5ab4a739..5151f4f6db 100644
--- a/xfa/fgas/layout/cfx_rtfbreak.h
+++ b/xfa/fgas/layout/cfx_rtfbreak.h
@@ -11,7 +11,6 @@
#include <vector>
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_ucd.h"
#include "core/fxge/cfx_renderdevice.h"
diff --git a/xfa/fwl/cfwl_eventtarget.h b/xfa/fwl/cfwl_eventtarget.h
index 36d301df27..b5a8bdbb9e 100644
--- a/xfa/fwl/cfwl_eventtarget.h
+++ b/xfa/fwl/cfwl_eventtarget.h
@@ -9,7 +9,6 @@
#include <set>
-#include "core/fxcrt/fx_basic.h"
#include "xfa/fwl/cfwl_event.h"
class CFWL_Event;
diff --git a/xfa/fwl/cfwl_message.h b/xfa/fwl/cfwl_message.h
index 778e1e2079..99cf01b5b8 100644
--- a/xfa/fwl/cfwl_message.h
+++ b/xfa/fwl/cfwl_message.h
@@ -9,7 +9,6 @@
#include <memory>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
diff --git a/xfa/fxfa/cxfa_linkuserdata.h b/xfa/fxfa/cxfa_linkuserdata.h
index a445aadd23..b3ee74a051 100644
--- a/xfa/fxfa/cxfa_linkuserdata.h
+++ b/xfa/fxfa/cxfa_linkuserdata.h
@@ -8,7 +8,6 @@
#define XFA_FXFA_CXFA_LINKUSERDATA_H_
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
diff --git a/xfa/fxfa/cxfa_loadercontext.h b/xfa/fxfa/cxfa_loadercontext.h
index 48077ff538..64ab50696b 100644
--- a/xfa/fxfa/cxfa_loadercontext.h
+++ b/xfa/fxfa/cxfa_loadercontext.h
@@ -10,7 +10,6 @@
#include <vector>
#include "core/fxcrt/css/cfx_csscomputedstyle.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_system.h"
class CFX_XMLNode;
diff --git a/xfa/fxfa/cxfa_pieceline.h b/xfa/fxfa/cxfa_pieceline.h
index 82af0e5265..dc95e73175 100644
--- a/xfa/fxfa/cxfa_pieceline.h
+++ b/xfa/fxfa/cxfa_pieceline.h
@@ -10,8 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
class CXFA_TextPiece;
class CXFA_PieceLine {
diff --git a/xfa/fxfa/cxfa_textlayout.h b/xfa/fxfa/cxfa_textlayout.h
index e4bfa1a0bb..338d3bea50 100644
--- a/xfa/fxfa/cxfa_textlayout.h
+++ b/xfa/fxfa/cxfa_textlayout.h
@@ -11,7 +11,6 @@
#include <vector>
#include "core/fxcrt/css/cfx_css.h"
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_string.h"
#include "xfa/fgas/layout/cfx_rtfbreak.h"
diff --git a/xfa/fxfa/cxfa_textpiece.h b/xfa/fxfa/cxfa_textpiece.h
index 453257d5ec..a1f100cf0b 100644
--- a/xfa/fxfa/cxfa_textpiece.h
+++ b/xfa/fxfa/cxfa_textpiece.h
@@ -9,7 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_string.h"
#include "core/fxge/fx_dib.h"
diff --git a/xfa/fxfa/cxfa_texttabstopscontext.cpp b/xfa/fxfa/cxfa_texttabstopscontext.cpp
index 39476f7c2c..b594f1cc69 100644
--- a/xfa/fxfa/cxfa_texttabstopscontext.cpp
+++ b/xfa/fxfa/cxfa_texttabstopscontext.cpp
@@ -6,6 +6,8 @@
#include "xfa/fxfa/cxfa_texttabstopscontext.h"
+#include <algorithm>
+
CXFA_TextTabstopsContext::CXFA_TextTabstopsContext()
: m_iTabIndex(-1), m_bTabstops(false), m_fTabWidth(0), m_fLeft(0) {}
diff --git a/xfa/fxfa/cxfa_texttabstopscontext.h b/xfa/fxfa/cxfa_texttabstopscontext.h
index 7124fd88fe..57d0489034 100644
--- a/xfa/fxfa/cxfa_texttabstopscontext.h
+++ b/xfa/fxfa/cxfa_texttabstopscontext.h
@@ -9,8 +9,6 @@
#include <vector>
-#include "core/fxcrt/fx_basic.h"
-
struct XFA_TABSTOPS {
uint32_t dwAlign;
float fTabstops;
diff --git a/xfa/fxfa/cxfa_textuserdata.h b/xfa/fxfa/cxfa_textuserdata.h
index f84e768166..442e6318c0 100644
--- a/xfa/fxfa/cxfa_textuserdata.h
+++ b/xfa/fxfa/cxfa_textuserdata.h
@@ -8,7 +8,6 @@
#define XFA_FXFA_CXFA_TEXTUSERDATA_H_
#include "core/fxcrt/cfx_retain_ptr.h"
-#include "core/fxcrt/fx_basic.h"
class CFX_CSSComputedStyle;
class CXFA_LinkUserData;
diff --git a/xfa/fxfa/fxfa.h b/xfa/fxfa/fxfa.h
index 3e78ed2f95..dfd4f343d4 100644
--- a/xfa/fxfa/fxfa.h
+++ b/xfa/fxfa/fxfa.h
@@ -21,6 +21,7 @@ class CXFA_Node;
class CXFA_NodeList;
class CXFA_WidgetAcc;
class IFWL_AdapterTimerMgr;
+class IFX_SeekableReadStream;
class IXFA_AppProvider;
class IXFA_DocEnvironment;
class IXFA_WidgetAccIterator;
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
index d5d706e62e..832941c810 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
+++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
@@ -14,7 +14,6 @@
#include <tuple>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "core/fxcrt/fx_coordinates.h"
#include "xfa/fxfa/fxfa_basic.h"