summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn3
-rw-r--r--core/fpdfapi/font/cpdf_tounicodemap.h2
-rw-r--r--core/fpdftext/cpdf_textpage.h2
-rw-r--r--core/fxcrt/cfx_utf8decoder.h2
-rw-r--r--core/fxcrt/cfx_widetextbuf.cpp (renamed from core/fxcrt/fx_basic_buffer.cpp)11
-rw-r--r--core/fxcrt/cfx_widetextbuf.h44
-rw-r--r--core/fxcrt/fx_basic.h30
-rw-r--r--core/fxcrt/xml/cfx_xmlelement.cpp1
-rw-r--r--core/fxcrt/xml/cxml_parser.cpp1
-rw-r--r--testing/libfuzzer/pdf_fm2js_fuzzer.cc2
-rw-r--r--xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp1
-rw-r--r--xfa/fxfa/fm2js/cxfa_fm2jscontext.h1
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmexpression.cpp2
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmexpression.h2
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp1
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmsimpleexpression.cpp1
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h3
-rw-r--r--xfa/fxfa/fm2js/cxfa_fmsimpleexpression_unittest.cpp1
-rw-r--r--xfa/fxfa/parser/cxfa_dataexporter.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_scriptcontext.cpp1
-rw-r--r--xfa/fxfa/parser/cxfa_simple_parser.cpp1
21 files changed, 67 insertions, 47 deletions
diff --git a/BUILD.gn b/BUILD.gn
index cbf6fa0513..b20d3a1f39 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -827,8 +827,9 @@ static_library("fxcrt") {
"core/fxcrt/cfx_weak_ptr.h",
"core/fxcrt/cfx_widestring.cpp",
"core/fxcrt/cfx_widestring.h",
+ "core/fxcrt/cfx_widetextbuf.cpp",
+ "core/fxcrt/cfx_widetextbuf.h",
"core/fxcrt/fx_basic.h",
- "core/fxcrt/fx_basic_buffer.cpp",
"core/fxcrt/fx_basic_gcc.cpp",
"core/fxcrt/fx_basic_utf.cpp",
"core/fxcrt/fx_basic_util.cpp",
diff --git a/core/fpdfapi/font/cpdf_tounicodemap.h b/core/fpdfapi/font/cpdf_tounicodemap.h
index 83db6e3030..90a2638462 100644
--- a/core/fpdfapi/font/cpdf_tounicodemap.h
+++ b/core/fpdfapi/font/cpdf_tounicodemap.h
@@ -11,7 +11,7 @@
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
class CPDF_CID2UnicodeMap;
diff --git a/core/fpdftext/cpdf_textpage.h b/core/fpdftext/cpdf_textpage.h
index 0f507de4aa..6a4c87368d 100644
--- a/core/fpdftext/cpdf_textpage.h
+++ b/core/fpdftext/cpdf_textpage.h
@@ -12,7 +12,7 @@
#include "core/fpdfapi/page/cpdf_pageobjectlist.h"
#include "core/fxcrt/cfx_unowned_ptr.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_coordinates.h"
#include "core/fxcrt/fx_string.h"
diff --git a/core/fxcrt/cfx_utf8decoder.h b/core/fxcrt/cfx_utf8decoder.h
index 50c2a3966d..dcf5ef796a 100644
--- a/core/fxcrt/cfx_utf8decoder.h
+++ b/core/fxcrt/cfx_utf8decoder.h
@@ -7,7 +7,7 @@
#ifndef CORE_FXCRT_CFX_UTF8DECODER_H_
#define CORE_FXCRT_CFX_UTF8DECODER_H_
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
class CFX_UTF8Decoder {
public:
diff --git a/core/fxcrt/fx_basic_buffer.cpp b/core/fxcrt/cfx_widetextbuf.cpp
index e282aa4247..246124b95f 100644
--- a/core/fxcrt/fx_basic_buffer.cpp
+++ b/core/fxcrt/cfx_widetextbuf.cpp
@@ -1,17 +1,10 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
+// Copyright 2017 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
-#include <algorithm>
-#include <limits>
-#include <memory>
-#include <utility>
-
-#include "core/fxcrt/fx_basic.h"
-#include "core/fxcrt/fx_safe_types.h"
-#include "third_party/base/numerics/safe_conversions.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
void CFX_WideTextBuf::AppendChar(wchar_t ch) {
ExpandBuf(sizeof(wchar_t));
diff --git a/core/fxcrt/cfx_widetextbuf.h b/core/fxcrt/cfx_widetextbuf.h
new file mode 100644
index 0000000000..0c9b6ff99d
--- /dev/null
+++ b/core/fxcrt/cfx_widetextbuf.h
@@ -0,0 +1,44 @@
+// Copyright 2017 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_CFX_WIDETEXTBUF_H_
+#define CORE_FXCRT_CFX_WIDETEXTBUF_H_
+
+#include "core/fxcrt/cfx_binarybuf.h"
+#include "core/fxcrt/fx_string.h"
+#include "core/fxcrt/fx_system.h"
+
+class CFX_WideTextBuf : public CFX_BinaryBuf {
+ public:
+ void AppendChar(wchar_t wch);
+ FX_STRSIZE GetLength() const { return m_DataSize / sizeof(wchar_t); }
+ wchar_t* GetBuffer() const {
+ return reinterpret_cast<wchar_t*>(m_pBuffer.get());
+ }
+
+ CFX_WideStringC AsStringC() const {
+ return CFX_WideStringC(reinterpret_cast<const wchar_t*>(m_pBuffer.get()),
+ m_DataSize / sizeof(wchar_t));
+ }
+ CFX_WideString MakeString() const {
+ return CFX_WideString(reinterpret_cast<const wchar_t*>(m_pBuffer.get()),
+ m_DataSize / sizeof(wchar_t));
+ }
+
+ void Delete(int start_index, int count) {
+ CFX_BinaryBuf::Delete(start_index * sizeof(wchar_t),
+ count * sizeof(wchar_t));
+ }
+
+ CFX_WideTextBuf& operator<<(int i);
+ CFX_WideTextBuf& operator<<(double f);
+ CFX_WideTextBuf& operator<<(const wchar_t* lpsz);
+ CFX_WideTextBuf& operator<<(const CFX_WideStringC& str);
+ CFX_WideTextBuf& operator<<(const CFX_WideString& str);
+ CFX_WideTextBuf& operator<<(const CFX_WideTextBuf& buf);
+};
+
+#endif // CORE_FXCRT_CFX_WIDETEXTBUF_H_
diff --git a/core/fxcrt/fx_basic.h b/core/fxcrt/fx_basic.h
index 6052cc84c8..f3eb03f925 100644
--- a/core/fxcrt/fx_basic.h
+++ b/core/fxcrt/fx_basic.h
@@ -22,36 +22,6 @@
#define FX_IsOdd(a) ((a)&1)
#endif // PDF_ENABLE_XFA
-class CFX_WideTextBuf : public CFX_BinaryBuf {
- public:
- void AppendChar(wchar_t wch);
- FX_STRSIZE GetLength() const { return m_DataSize / sizeof(wchar_t); }
- wchar_t* GetBuffer() const {
- return reinterpret_cast<wchar_t*>(m_pBuffer.get());
- }
-
- CFX_WideStringC AsStringC() const {
- return CFX_WideStringC(reinterpret_cast<const wchar_t*>(m_pBuffer.get()),
- m_DataSize / sizeof(wchar_t));
- }
- CFX_WideString MakeString() const {
- return CFX_WideString(reinterpret_cast<const wchar_t*>(m_pBuffer.get()),
- m_DataSize / sizeof(wchar_t));
- }
-
- void Delete(int start_index, int count) {
- CFX_BinaryBuf::Delete(start_index * sizeof(wchar_t),
- count * sizeof(wchar_t));
- }
-
- CFX_WideTextBuf& operator<<(int i);
- CFX_WideTextBuf& operator<<(double f);
- CFX_WideTextBuf& operator<<(const wchar_t* lpsz);
- CFX_WideTextBuf& operator<<(const CFX_WideStringC& str);
- CFX_WideTextBuf& operator<<(const CFX_WideString& str);
- CFX_WideTextBuf& operator<<(const CFX_WideTextBuf& buf);
-};
-
template <class DataType, int FixedSize>
class CFX_FixedBufGrow {
public:
diff --git a/core/fxcrt/xml/cfx_xmlelement.cpp b/core/fxcrt/xml/cfx_xmlelement.cpp
index eb60e68893..e72b77c4f6 100644
--- a/core/fxcrt/xml/cfx_xmlelement.cpp
+++ b/core/fxcrt/xml/cfx_xmlelement.cpp
@@ -6,6 +6,7 @@
#include "core/fxcrt/xml/cfx_xmlelement.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/xml/cfx_xmlchardata.h"
#include "core/fxcrt/xml/cfx_xmltext.h"
diff --git a/core/fxcrt/xml/cxml_parser.cpp b/core/fxcrt/xml/cxml_parser.cpp
index 5e3fca7e79..9679e2cd41 100644
--- a/core/fxcrt/xml/cxml_parser.cpp
+++ b/core/fxcrt/xml/cxml_parser.cpp
@@ -12,6 +12,7 @@
#include <vector>
#include "core/fxcrt/cfx_utf8decoder.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/xml/cxml_content.h"
#include "core/fxcrt/xml/cxml_element.h"
diff --git a/testing/libfuzzer/pdf_fm2js_fuzzer.cc b/testing/libfuzzer/pdf_fm2js_fuzzer.cc
index 226fb4096e..de5610677f 100644
--- a/testing/libfuzzer/pdf_fm2js_fuzzer.cc
+++ b/testing/libfuzzer/pdf_fm2js_fuzzer.cc
@@ -5,7 +5,7 @@
#include <cstddef>
#include <cstdint>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_safe_types.h"
#include "core/fxcrt/fx_string.h"
#include "xfa/fxfa/fm2js/cxfa_fm2jscontext.h"
diff --git a/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp b/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
index 944dfea7d0..73e6c221dc 100644
--- a/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fm2jscontext.cpp
@@ -12,6 +12,7 @@
#include <string>
#include "core/fxcrt/cfx_decimal.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_extension.h"
#include "fxjs/cfxjse_arguments.h"
#include "fxjs/cfxjse_class.h"
diff --git a/xfa/fxfa/fm2js/cxfa_fm2jscontext.h b/xfa/fxfa/fm2js/cxfa_fm2jscontext.h
index abc9548429..37586d080e 100644
--- a/xfa/fxfa/fm2js/cxfa_fm2jscontext.h
+++ b/xfa/fxfa/fm2js/cxfa_fm2jscontext.h
@@ -14,6 +14,7 @@
#include "fxjs/cfxjse_context.h"
#include "xfa/fxfa/parser/xfa_resolvenode_rs.h"
+class CFX_WideTextBuf;
class CXFA_Document;
class CXFA_FM2JSContext : public CFXJSE_HostObject {
diff --git a/xfa/fxfa/fm2js/cxfa_fmexpression.cpp b/xfa/fxfa/fm2js/cxfa_fmexpression.cpp
index e323a330dc..2faa1914b1 100644
--- a/xfa/fxfa/fm2js/cxfa_fmexpression.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmexpression.cpp
@@ -8,7 +8,7 @@
#include <utility>
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
namespace {
diff --git a/xfa/fxfa/fm2js/cxfa_fmexpression.h b/xfa/fxfa/fm2js/cxfa_fmexpression.h
index b2bbc43968..47b2d9cabd 100644
--- a/xfa/fxfa/fm2js/cxfa_fmexpression.h
+++ b/xfa/fxfa/fm2js/cxfa_fmexpression.h
@@ -23,6 +23,8 @@ enum XFA_FM_EXPTYPE {
XFA_FM_EXPTYPE_CONTINUE,
};
+class CFX_WideTextBuf;
+
class CXFA_FMExpression {
public:
explicit CXFA_FMExpression(uint32_t line);
diff --git a/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp b/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
index 4a17067087..a7e784e63d 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
@@ -6,6 +6,7 @@
#include <vector>
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
#include "third_party/base/ptr_util.h"
diff --git a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.cpp b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.cpp
index c30c44aa64..fc07609f85 100644
--- a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.cpp
@@ -9,6 +9,7 @@
#include <algorithm>
#include <utility>
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_extension.h"
#include "third_party/base/logging.h"
diff --git a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
index e47334926d..a9e9f90289 100644
--- a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
+++ b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression.h
@@ -10,7 +10,6 @@
#include <memory>
#include <vector>
-#include "core/fxcrt/fx_basic.h"
#include "xfa/fxfa/fm2js/cxfa_fmlexer.h"
#define RUNTIMEFUNCTIONRETURNVALUE L"pfm_ret"
@@ -44,6 +43,8 @@ enum XFA_FM_SimpleExpressionType {
VARFILTER
};
+class CFX_WideTextBuf;
+
CFX_WideStringC XFA_FM_EXPTypeToString(
XFA_FM_SimpleExpressionType simpleExpType);
diff --git a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression_unittest.cpp b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression_unittest.cpp
index 18a67f4c39..c465c96ff0 100644
--- a/xfa/fxfa/fm2js/cxfa_fmsimpleexpression_unittest.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmsimpleexpression_unittest.cpp
@@ -7,6 +7,7 @@
#include <memory>
#include <utility>
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_string.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/test_support.h"
diff --git a/xfa/fxfa/parser/cxfa_dataexporter.cpp b/xfa/fxfa/parser/cxfa_dataexporter.cpp
index 05586e12dd..0af9bd47f1 100644
--- a/xfa/fxfa/parser/cxfa_dataexporter.cpp
+++ b/xfa/fxfa/parser/cxfa_dataexporter.cpp
@@ -9,7 +9,7 @@
#include <vector>
#include "core/fxcrt/cfx_memorystream.h"
-#include "core/fxcrt/fx_basic.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/xml/cfx_xmldoc.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
diff --git a/xfa/fxfa/parser/cxfa_scriptcontext.cpp b/xfa/fxfa/parser/cxfa_scriptcontext.cpp
index 24b1e3c9fe..e7c86296ee 100644
--- a/xfa/fxfa/parser/cxfa_scriptcontext.cpp
+++ b/xfa/fxfa/parser/cxfa_scriptcontext.cpp
@@ -9,6 +9,7 @@
#include <utility>
#include "core/fxcrt/cfx_autorestorer.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_extension.h"
#include "fxjs/cfxjse_arguments.h"
#include "fxjs/cfxjse_class.h"
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp
index ee2a2444fc..dd72f40d56 100644
--- a/xfa/fxfa/parser/cxfa_simple_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp
@@ -11,6 +11,7 @@
#include "core/fxcrt/cfx_checksumcontext.h"
#include "core/fxcrt/cfx_seekablestreamproxy.h"
+#include "core/fxcrt/cfx_widetextbuf.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/xml/cfx_xmlchardata.h"