summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2016-02-08 12:46:54 -0800
committerTom Sepez <tsepez@chromium.org>2016-02-08 12:46:54 -0800
commit1d95d654dde9380265be8d412141e03f7ba12da3 (patch)
tree54b0f2ced4b1b317fd720d67664c20488e9b156d
parentddf2f339f603246107451931d16245c8b7d1d7c4 (diff)
downloadpdfium-1d95d654dde9380265be8d412141e03f7ba12da3.tar.xz
CPDF_TextStream::m_pObjArray is always NULL
Also, use full path to include "text_int.h", as there are two of them; I suspect that fpdf_text_search was including the wrong one as the compiler didn't complain about a signature mismatch I had overlooked. In fact, rename the fxge file to avoid collision completely. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1679743003 .
-rw-r--r--BUILD.gn2
-rw-r--r--core/src/fpdftext/fpdf_text.cpp6
-rw-r--r--core/src/fpdftext/fpdf_text_search.cpp54
-rw-r--r--core/src/fpdftext/text_int.h3
-rw-r--r--core/src/fxge/agg/src/fx_agg_driver.cpp2
-rw-r--r--core/src/fxge/apple/fx_apple_platform.cpp2
-rw-r--r--core/src/fxge/apple/fx_quartz_device.cpp2
-rw-r--r--core/src/fxge/ge/fx_ge.cpp2
-rw-r--r--core/src/fxge/ge/fx_ge_font.cpp2
-rw-r--r--core/src/fxge/ge/fx_ge_fontmap.cpp2
-rw-r--r--core/src/fxge/ge/fx_ge_linux.cpp2
-rw-r--r--core/src/fxge/ge/fx_ge_ps.cpp3
-rw-r--r--core/src/fxge/ge/fx_ge_text.cpp2
-rw-r--r--core/src/fxge/ge/fx_text_int.h (renamed from core/src/fxge/ge/text_int.h)6
-rw-r--r--core/src/fxge/win32/fx_win32_device.cpp2
-rw-r--r--core/src/fxge/win32/fx_win32_print.cpp2
-rw-r--r--pdfium.gyp2
17 files changed, 28 insertions, 68 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 6a02aebbec..6ece5e7a90 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -572,7 +572,7 @@ static_library("fxge") {
"core/src/fxge/ge/fx_ge_path.cpp",
"core/src/fxge/ge/fx_ge_ps.cpp",
"core/src/fxge/ge/fx_ge_text.cpp",
- "core/src/fxge/ge/text_int.h",
+ "core/src/fxge/ge/fx_text_int.h",
]
configs += [
diff --git a/core/src/fpdftext/fpdf_text.cpp b/core/src/fpdftext/fpdf_text.cpp
index 3871d25177..4653fa63fa 100644
--- a/core/src/fpdftext/fpdf_text.cpp
+++ b/core/src/fpdftext/fpdf_text.cpp
@@ -14,8 +14,8 @@
#include "core/include/fpdftext/fpdf_text.h"
#include "core/include/fxcrt/fx_bidi.h"
#include "core/include/fxcrt/fx_ucd.h"
-#include "text_int.h"
-#include "txtproc.h"
+#include "core/src/fpdftext/text_int.h"
+#include "core/src/fpdftext/txtproc.h"
CFX_ByteString CharFromUnicodeAlt(FX_WCHAR unicode,
int destcp,
@@ -785,5 +785,5 @@ void PDF_GetTextStream_Unicode(CFX_WideTextBuf& buffer,
options.m_bTextOnly = TRUE;
options.m_bSeparateForm = FALSE;
page.ParseContent(&options);
- GetTextStream_Unicode(buffer, &page, TRUE, NULL);
+ GetTextStream_Unicode(buffer, &page, TRUE);
}
diff --git a/core/src/fpdftext/fpdf_text_search.cpp b/core/src/fpdftext/fpdf_text_search.cpp
index b77f9428cb..5bbfbd9198 100644
--- a/core/src/fpdftext/fpdf_text_search.cpp
+++ b/core/src/fpdftext/fpdf_text_search.cpp
@@ -6,28 +6,19 @@
#include "core/include/fpdfapi/fpdf_page.h"
#include "core/include/fpdfapi/fpdf_pageobj.h"
-#include "text_int.h"
+#include "core/src/fpdftext/text_int.h"
class CPDF_TextStream {
public:
- CPDF_TextStream(CFX_WideTextBuf& buffer,
- FX_BOOL bUseLF,
- CFX_PtrArray* pObjArray);
+ CPDF_TextStream(CFX_WideTextBuf& buffer, FX_BOOL bUseLF)
+ : m_Buffer(buffer), m_bUseLF(bUseLF), m_pLastObj(nullptr) {}
~CPDF_TextStream() {}
FX_BOOL ProcessObject(const CPDF_TextObject* pObj, FX_BOOL bFirstLine);
+
CFX_WideTextBuf& m_Buffer;
FX_BOOL m_bUseLF;
- CFX_PtrArray* m_pObjArray;
const CPDF_TextObject* m_pLastObj;
};
-CPDF_TextStream::CPDF_TextStream(CFX_WideTextBuf& buffer,
- FX_BOOL bUseLF,
- CFX_PtrArray* pObjArray)
- : m_Buffer(buffer) {
- m_pLastObj = NULL;
- m_bUseLF = bUseLF;
- m_pObjArray = pObjArray;
-}
FX_BOOL FPDFText_IsSameTextObject(const CPDF_TextObject* pTextObj1,
const CPDF_TextObject* pTextObj2) {
if (!pTextObj1 || !pTextObj2) {
@@ -160,9 +151,6 @@ FX_BOOL CPDF_TextStream::ProcessObject(const CPDF_TextObject* pObj,
int len = m_Buffer.GetLength();
if (len && m_bUseLF && m_Buffer.GetBuffer()[len - 1] == L'-') {
m_Buffer.Delete(len - 1, 1);
- if (m_pObjArray) {
- m_pObjArray->RemoveAt((len - 1) * 2, 2);
- }
} else {
if (bFirstLine) {
return TRUE;
@@ -170,25 +158,12 @@ FX_BOOL CPDF_TextStream::ProcessObject(const CPDF_TextObject* pObj,
if (m_bUseLF) {
m_Buffer.AppendChar(L'\r');
m_Buffer.AppendChar(L'\n');
- if (m_pObjArray) {
- for (int i = 0; i < 4; i++) {
- m_pObjArray->Add(NULL);
- }
- }
} else {
m_Buffer.AppendChar(' ');
- if (m_pObjArray) {
- m_pObjArray->Add(NULL);
- m_pObjArray->Add(NULL);
- }
}
}
} else if (result == 1) {
m_Buffer.AppendChar(L' ');
- if (m_pObjArray) {
- m_pObjArray->Add(NULL);
- m_pObjArray->Add(NULL);
- }
} else if (result == -1) {
m_pLastObj = pObj;
return FALSE;
@@ -266,10 +241,6 @@ FX_BOOL CPDF_TextStream::ProcessObject(const CPDF_TextObject* pObj,
}
if (threshold && (spacing && spacing >= threshold)) {
m_Buffer.AppendChar(L' ');
- if (m_pObjArray) {
- m_pObjArray->Add(NULL);
- m_pObjArray->Add(NULL);
- }
}
if (item.m_CharCode == (FX_DWORD)-1) {
continue;
@@ -279,27 +250,16 @@ FX_BOOL CPDF_TextStream::ProcessObject(const CPDF_TextObject* pObj,
CFX_WideString unicode_str = pFont->UnicodeFromCharCode(item.m_CharCode);
if (unicode_str.IsEmpty()) {
m_Buffer.AppendChar((FX_WCHAR)item.m_CharCode);
- if (m_pObjArray) {
- m_pObjArray->Add((void*)pObj);
- m_pObjArray->Add((void*)(intptr_t)item_index);
- }
} else {
m_Buffer << unicode_str;
- if (m_pObjArray) {
- for (int i = 0; i < unicode_str.GetLength(); i++) {
- m_pObjArray->Add((void*)pObj);
- m_pObjArray->Add((void*)(intptr_t)item_index);
- }
- }
}
}
return FALSE;
}
void GetTextStream_Unicode(CFX_WideTextBuf& buffer,
CPDF_PageObjectList* pPage,
- FX_BOOL bUseLF,
- CFX_PtrArray* pObjArray) {
- CPDF_TextStream textstream(buffer, bUseLF, pObjArray);
+ FX_BOOL bUseLF) {
+ CPDF_TextStream textstream(buffer, bUseLF);
FX_POSITION pos = pPage->GetFirstObjectPosition();
while (pos) {
CPDF_PageObject* pObject = pPage->GetNextObject(pos);
@@ -317,7 +277,7 @@ CFX_WideString PDF_GetFirstTextLine_Unicode(CPDF_Document* pDoc,
options.m_bTextOnly = TRUE;
options.m_bSeparateForm = FALSE;
page.ParseContent(&options);
- CPDF_TextStream textstream(buffer, FALSE, NULL);
+ CPDF_TextStream textstream(buffer, FALSE);
FX_POSITION pos = page.GetFirstObjectPosition();
while (pos) {
CPDF_PageObject* pObject = page.GetNextObject(pos);
diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h
index bc4d181863..8a803261e9 100644
--- a/core/src/fpdftext/text_int.h
+++ b/core/src/fpdftext/text_int.h
@@ -240,7 +240,6 @@ void NormalizeString(CFX_WideString& str);
void NormalizeCompositeChar(FX_WCHAR wChar, CFX_WideString& sDest);
void GetTextStream_Unicode(CFX_WideTextBuf& buffer,
CPDF_PageObjectList* pPage,
- FX_BOOL bUseLF,
- CFX_PtrArray* pObjArray);
+ FX_BOOL bUseLF);
#endif // CORE_SRC_FPDFTEXT_TEXT_INT_H_
diff --git a/core/src/fxge/agg/src/fx_agg_driver.cpp b/core/src/fxge/agg/src/fx_agg_driver.cpp
index 6828531cba..50062541b1 100644
--- a/core/src/fxge/agg/src/fx_agg_driver.cpp
+++ b/core/src/fxge/agg/src/fx_agg_driver.cpp
@@ -11,7 +11,7 @@
#include "core/include/fxcodec/fx_codec.h"
#include "core/include/fxge/fx_ge.h"
#include "core/src/fxge/dib/dib_int.h"
-#include "core/src/fxge/ge/text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#include "third_party/agg23/agg_conv_dash.h"
#include "third_party/agg23/agg_conv_stroke.h"
#include "third_party/agg23/agg_curves.h"
diff --git a/core/src/fxge/apple/fx_apple_platform.cpp b/core/src/fxge/apple/fx_apple_platform.cpp
index f0a23825b9..a448ae5050 100644
--- a/core/src/fxge/apple/fx_apple_platform.cpp
+++ b/core/src/fxge/apple/fx_apple_platform.cpp
@@ -14,7 +14,7 @@
#include "core/include/fxge/fx_ge_apple.h"
#include "core/src/fxge/agg/include/fx_agg_driver.h"
#include "core/src/fxge/dib/dib_int.h"
-#include "core/src/fxge/ge/text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
void CFX_AggDeviceDriver::InitPlatform() {
CQuartz2D& quartz2d =
diff --git a/core/src/fxge/apple/fx_quartz_device.cpp b/core/src/fxge/apple/fx_quartz_device.cpp
index 0b19438230..a7b0a9e082 100644
--- a/core/src/fxge/apple/fx_quartz_device.cpp
+++ b/core/src/fxge/apple/fx_quartz_device.cpp
@@ -9,7 +9,7 @@
#include "core/include/fxge/fx_ge.h"
#include "core/src/fxge/agg/include/fx_agg_driver.h"
#include "core/src/fxge/dib/dib_int.h"
-#include "core/src/fxge/ge/text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
#include "apple_int.h"
diff --git a/core/src/fxge/ge/fx_ge.cpp b/core/src/fxge/ge/fx_ge.cpp
index f7787cf22c..d310a3f372 100644
--- a/core/src/fxge/ge/fx_ge.cpp
+++ b/core/src/fxge/ge/fx_ge.cpp
@@ -6,7 +6,7 @@
#include "core/include/fxge/fx_ge.h"
-#include "text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
static CFX_GEModule* g_pGEModule = NULL;
CFX_GEModule::CFX_GEModule(const char** pUserFontPaths) {
diff --git a/core/src/fxge/ge/fx_ge_font.cpp b/core/src/fxge/ge/fx_ge_font.cpp
index 56e178f985..672c28d86b 100644
--- a/core/src/fxge/ge/fx_ge_font.cpp
+++ b/core/src/fxge/ge/fx_ge_font.cpp
@@ -6,7 +6,7 @@
#include "core/include/fxge/fx_freetype.h"
#include "core/include/fxge/fx_ge.h"
-#include "text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#define EM_ADJUST(em, a) (em == 0 ? (a) : (a)*1000 / em)
diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp
index be71f6bfac..f624d5abd6 100644
--- a/core/src/fxge/ge/fx_ge_fontmap.cpp
+++ b/core/src/fxge/ge/fx_ge_fontmap.cpp
@@ -10,7 +10,7 @@
#include "core/include/fxge/fx_freetype.h"
#include "core/include/fxge/fx_ge.h"
#include "core/src/fxge/fontdata/chromefontdata/chromefontdata.h"
-#include "core/src/fxge/ge/text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#include "third_party/base/stl_util.h"
#define GET_TT_SHORT(w) (FX_WORD)(((w)[0] << 8) | (w)[1])
diff --git a/core/src/fxge/ge/fx_ge_linux.cpp b/core/src/fxge/ge/fx_ge_linux.cpp
index d581627b7e..8ad5ff0da2 100644
--- a/core/src/fxge/ge/fx_ge_linux.cpp
+++ b/core/src/fxge/ge/fx_ge_linux.cpp
@@ -6,7 +6,7 @@
#include "core/include/fxge/fx_ge.h"
#include "core/src/fxge/agg/include/fx_agg_driver.h"
-#include "text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#if _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_
class CFX_LinuxFontInfo : public CFX_FolderFontInfo {
diff --git a/core/src/fxge/ge/fx_ge_ps.cpp b/core/src/fxge/ge/fx_ge_ps.cpp
index f9fd8dea30..d6f6089033 100644
--- a/core/src/fxge/ge/fx_ge_ps.cpp
+++ b/core/src/fxge/ge/fx_ge_ps.cpp
@@ -5,8 +5,9 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "core/include/fxge/fx_ge.h"
+
#include "core/include/fxcodec/fx_codec.h"
-#include "text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
struct PSGlyph {
CFX_Font* m_pFont;
diff --git a/core/src/fxge/ge/fx_ge_text.cpp b/core/src/fxge/ge/fx_ge_text.cpp
index 0ed0bbbbd6..7dbeac3316 100644
--- a/core/src/fxge/ge/fx_ge_text.cpp
+++ b/core/src/fxge/ge/fx_ge_text.cpp
@@ -7,7 +7,7 @@
#include "core/include/fxge/fx_ge.h"
#include "core/include/fxge/fx_freetype.h"
#include "core/include/fxcodec/fx_codec.h"
-#include "text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#undef FX_GAMMA
#undef FX_GAMMA_INVERSE
diff --git a/core/src/fxge/ge/text_int.h b/core/src/fxge/ge/fx_text_int.h
index 5a691671be..b568b61a54 100644
--- a/core/src/fxge/ge/text_int.h
+++ b/core/src/fxge/ge/fx_text_int.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef CORE_SRC_FXGE_GE_TEXT_INT_H_
-#define CORE_SRC_FXGE_GE_TEXT_INT_H_
+#ifndef CORE_SRC_FXGE_GE_FX_TEXT_INT_H_
+#define CORE_SRC_FXGE_GE_FX_TEXT_INT_H_
#include <map>
@@ -81,4 +81,4 @@ class CFX_FontFaceInfo {
FX_DWORD m_Charsets;
};
-#endif // CORE_SRC_FXGE_GE_TEXT_INT_H_
+#endif // CORE_SRC_FXGE_GE_FX_TEXT_INT_H_
diff --git a/core/src/fxge/win32/fx_win32_device.cpp b/core/src/fxge/win32/fx_win32_device.cpp
index c346d1bbc1..a7dd22f612 100644
--- a/core/src/fxge/win32/fx_win32_device.cpp
+++ b/core/src/fxge/win32/fx_win32_device.cpp
@@ -14,7 +14,7 @@
#include "core/include/fxge/fx_ge_win32.h"
#include "core/src/fxge/agg/include/fx_agg_driver.h"
#include "core/src/fxge/dib/dib_int.h"
-#include "core/src/fxge/ge/text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#include "dwrite_int.h"
#include "win32_int.h"
diff --git a/core/src/fxge/win32/fx_win32_print.cpp b/core/src/fxge/win32/fx_win32_print.cpp
index 0c00a7b3d9..fc7cd790a7 100644
--- a/core/src/fxge/win32/fx_win32_print.cpp
+++ b/core/src/fxge/win32/fx_win32_print.cpp
@@ -13,7 +13,7 @@
#include "core/include/fxge/fx_freetype.h"
#include "core/include/fxge/fx_ge_win32.h"
#include "core/src/fxge/dib/dib_int.h"
-#include "core/src/fxge/ge/text_int.h"
+#include "core/src/fxge/ge/fx_text_int.h"
#include "win32_int.h"
#define SIZETHRESHOLD 1000
diff --git a/pdfium.gyp b/pdfium.gyp
index 50ce24c9eb..09c9028e0a 100644
--- a/pdfium.gyp
+++ b/pdfium.gyp
@@ -548,7 +548,7 @@
'core/src/fxge/ge/fx_ge_path.cpp',
'core/src/fxge/ge/fx_ge_ps.cpp',
'core/src/fxge/ge/fx_ge_text.cpp',
- 'core/src/fxge/ge/text_int.h',
+ 'core/src/fxge/ge/fx_text_int.h',
],
'variables': {
'clang_warning_flags': [