Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Unified Diff: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp

Issue 1638493002: Remove unused IsContentUsedElsewhere() (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Revert to PS2. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
index 97c5a75082ed1604ca88555ac6180e6d5bcd1b19..0b93107e62016898d5c40b21dd593e3676dee193 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
@@ -2040,16 +2040,13 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
FX_BOOL bDecrypt) {
CFX_AutoRestorer<int> restorer(&s_CurrentRecursionDepth);
if (++s_CurrentRecursionDepth > kParserMaxRecursionDepth) {
- return NULL;
+ return nullptr;
}
FX_FILESIZE SavedPos = m_Pos;
- FX_BOOL bTypeOnly = pContext && (pContext->m_Flags & PDFPARSE_TYPEONLY);
bool bIsNumber;
CFX_ByteString word = GetNextWord(&bIsNumber);
if (word.GetLength() == 0) {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_INVALID;
- return NULL;
+ return nullptr;
}
if (bIsNumber) {
FX_FILESIZE SavedPos = m_Pos;
@@ -2058,29 +2055,19 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
CFX_ByteString nextword2 = GetNextWord(nullptr);
if (nextword2 == "R") {
FX_DWORD objnum = FXSYS_atoi(word);
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_REFERENCE;
return new CPDF_Reference(pObjList, objnum);
}
}
m_Pos = SavedPos;
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_NUMBER;
return new CPDF_Number(word);
}
if (word == "true" || word == "false") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_BOOLEAN;
return new CPDF_Boolean(word == "true");
}
if (word == "null") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_NULL;
return new CPDF_Null;
}
if (word == "(") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_STRING;
CFX_ByteString str = ReadString();
if (m_pCryptoHandler && bDecrypt) {
m_pCryptoHandler->Decrypt(objnum, gennum, str);
@@ -2088,8 +2075,6 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
return new CPDF_String(str, FALSE);
}
if (word == "<") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_STRING;
CFX_ByteString str = ReadHexString();
if (m_pCryptoHandler && bDecrypt) {
m_pCryptoHandler->Decrypt(objnum, gennum, str);
@@ -2097,8 +2082,6 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
return new CPDF_String(str, TRUE);
}
if (word == "[") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_ARRAY;
CPDF_Array* pArray = new CPDF_Array;
while (CPDF_Object* pObj =
GetObject(pObjList, objnum, gennum, nullptr, true)) {
@@ -2107,15 +2090,10 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
return pArray;
}
if (word[0] == '/') {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_NAME;
return new CPDF_Name(
PDF_NameDecode(CFX_ByteStringC(m_WordBuffer + 1, m_WordSize - 1)));
}
if (word == "<<") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_DICTIONARY;
-
if (pContext)
pContext->m_DictStart = SavedPos;
@@ -2165,9 +2143,6 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
}
if (pContext) {
pContext->m_DictEnd = m_Pos;
- if (pContext->m_Flags & PDFPARSE_NOSTREAM) {
- return pDict.release();
- }
}
FX_FILESIZE SavedPos = m_Pos;
CFX_ByteString nextword = GetNextWord(nullptr);
@@ -2175,16 +2150,11 @@ CPDF_Object* CPDF_SyntaxParser::GetObject(CPDF_IndirectObjectHolder* pObjList,
m_Pos = SavedPos;
return pDict.release();
}
-
return ReadStream(pDict.release(), pContext, objnum, gennum);
}
if (word == ">>") {
m_Pos = SavedPos;
- return nullptr;
}
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_INVALID;
-
return nullptr;
}
@@ -2195,15 +2165,12 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
PARSE_CONTEXT* pContext) {
CFX_AutoRestorer<int> restorer(&s_CurrentRecursionDepth);
if (++s_CurrentRecursionDepth > kParserMaxRecursionDepth) {
- return NULL;
+ return nullptr;
}
FX_FILESIZE SavedPos = m_Pos;
- FX_BOOL bTypeOnly = pContext && (pContext->m_Flags & PDFPARSE_TYPEONLY);
bool bIsNumber;
CFX_ByteString word = GetNextWord(&bIsNumber);
if (word.GetLength() == 0) {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_INVALID;
return nullptr;
}
if (bIsNumber) {
@@ -2212,46 +2179,31 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
if (bIsNumber) {
CFX_ByteString nextword2 = GetNextWord(nullptr);
if (nextword2 == "R") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_REFERENCE;
- FX_DWORD objnum = FXSYS_atoi(word);
- return new CPDF_Reference(pObjList, objnum);
+ return new CPDF_Reference(pObjList, FXSYS_atoi(word));
}
}
m_Pos = SavedPos;
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_NUMBER;
return new CPDF_Number(word);
}
if (word == "true" || word == "false") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_BOOLEAN;
return new CPDF_Boolean(word == "true");
}
if (word == "null") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_NULL;
return new CPDF_Null;
}
if (word == "(") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_STRING;
CFX_ByteString str = ReadString();
if (m_pCryptoHandler)
m_pCryptoHandler->Decrypt(objnum, gennum, str);
return new CPDF_String(str, FALSE);
}
if (word == "<") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_STRING;
CFX_ByteString str = ReadHexString();
if (m_pCryptoHandler)
m_pCryptoHandler->Decrypt(objnum, gennum, str);
return new CPDF_String(str, TRUE);
}
if (word == "[") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_ARRAY;
std::unique_ptr<CPDF_Array, ReleaseDeleter<CPDF_Array>> pArray(
new CPDF_Array);
while (CPDF_Object* pObj =
@@ -2261,14 +2213,10 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
return m_WordBuffer[0] == ']' ? pArray.release() : nullptr;
}
if (word[0] == '/') {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_NAME;
return new CPDF_Name(
PDF_NameDecode(CFX_ByteStringC(m_WordBuffer + 1, m_WordSize - 1)));
}
if (word == "<<") {
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_DICTIONARY;
if (pContext)
pContext->m_DictStart = SavedPos;
@@ -2306,9 +2254,6 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
}
if (pContext) {
pContext->m_DictEnd = m_Pos;
- if (pContext->m_Flags & PDFPARSE_NOSTREAM) {
- return pDict.release();
- }
}
FX_FILESIZE SavedPos = m_Pos;
CFX_ByteString nextword = GetNextWord(nullptr);
@@ -2321,10 +2266,7 @@ CPDF_Object* CPDF_SyntaxParser::GetObjectByStrict(
}
if (word == ">>") {
m_Pos = SavedPos;
- return nullptr;
}
- if (bTypeOnly)
- return (CPDF_Object*)PDFOBJ_INVALID;
return nullptr;
}
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698