Age | Commit message (Collapse) | Author |
|
This reverts commit 0569ab0b11b723d9bca4ddd642b0cf8828c4bdd1.
This changes the various comparisons of char >= '0' && char <= '9' and
char < '0' || char > '9' to use std::isdigit checks. It also cleans up
a handful of hex to digit conversions to call one common method.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1449873003 .
|
|
That refer to parent directories.
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1434223002 .
|
|
During decoding, when an image decoder is encountered, any
subsequent decoders are ignored, but remain in the array. However,
later on CPDF_DIBSource::ValidateDictParam expects the image
decoder to be the last in the array, causing issues.
A check is also added in CPDF_DIBSource::GetScanline to ensure
that the calculated pitch value is <= the (4-aligned) pitch value in the
cached bitmap to prevent future issues.
Also cleans up some NULL usages.
BUG=552046
R=jun_fang@foxitsoftware.com, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1406943005 .
|
|
CPDF_DIBSource::DownSampleScanline32Bit
Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to
access the source components as if |m_bpc| == 8. Even when it fell into
the codepath that tried to do the right thing in this case, it was
wrong.
BUG=554151
R=tsepez@chromium.org, thestig@chromium.org
Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec
Review URL: https://codereview.chromium.org/1433423002 .
|
|
CPDF_DIBSource::DownSampleScanline32Bit"
This reverts commit 9b99615806e358fdb396d1cb162ee2e69c2a20ec.
Broke Windows build.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1437963003 .
|
|
Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to
access the source components as if |m_bpc| == 8. Even when it fell into
the codepath that tried to do the right thing in this case, it was
wrong.
BUG=554151
R=tsepez@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1433423002 .
|
|
See bug for details.
BUG=pdfium:273
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1432073003 .
|
|
R=tsepez@chromium.org
BUG=554115
Review URL: https://codereview.chromium.org/1435473004 .
|
|
This reverts commit b27902b8995bb3e003daed6b0811ed746763c68d.
Cleanup some numeric code.
This changes the various comparisons of char >= '0' && char <= '9' and
char < '0' || char > '9' to use std::isdigit checks. It also cleans up
a handful of hex to digit conversions to call one common method.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1432973003 .
|
|
- Remove CPDF_Stream::Create() and checks that it might fail.
- Remove m_pCryptoHandler that's always a nullptr.
- Remove m_FileOffset that's always 0.
- Rename file version of InitStream() to InitStreamFromFile().
- Use IsMemoryBased() in more places.
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1415163009 .
|
|
This reverts commit da06e60fb5a095a91c9a4f509466667878624cb3.
Cleanup some numeric code.
This changes the various comparisons of char >= '0' && char <= '9' and
char < '0' || char > '9' to use std::isdigit checks. It also cleans up
a handful of hex to digit conversions to call one common method.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1433513002 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1436573003 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1437603002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1427633010 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1408063016 .
|
|
run from any directory.
Previously the tests which read test files assume the current directory is under pdfium. Running from any other directory will break the build.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1408003014 .
|
|
BUG=pdfium:268
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1425293010 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1419533016 .
|
|
- In non-standalone builds, use the provided jpeg library.
- Run gn format over all the GN files.
- Also roll DEPS for buildtools to c2f2598.
BUG=541704
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1425153006 .
|
|
This tests whether RebuildCrossRef could handle well-formatted pdf file.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1409013005 .
|
|
Also cleans up some places in the relevant functions since we're here.
BUG=551460
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1421783004 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1419373005 .
|
|
The state '12' is only used once. This CL folds the contents of state 12 back
into the place where we set our state to 12.
This works because all state 12 does is decrement the loop counter so we process
the same character again and move us to state 0.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1430643007 .
|
|
This reverts commit e0e922db5fb77df9a5a9cc802096f484ed21da1c.
Broke Windows build.
FAILED: ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\core\src\fxcrt\fxcrt.fx_basic_gcc.obj.rsp /c ..\..\core\src\fxcrt\fx_basic_gcc.cpp /Foobj\core\src\fxcrt\fxcrt.fx_basic_gcc.obj /Fdobj\fxcrt.cc.pdb
e:\b\build\slave\windows\build\pdfium\core\src\fxcrt\fx_basic_gcc.cpp(28) : error C2220: warning treated as error - no 'object' file generated
e:\b\build\slave\windows\build\pdfium\core\src\fxcrt\fx_basic_gcc.cpp(75) : see reference to function template instantiation 'T FXSYS_StrToInt<int32_t,const FX_WCHAR*>(STR_T)' being compiled
with
[
T=int32_t
, STR_T=const FX_WCHAR *
]
e:\b\build\slave\windows\build\pdfium\core\src\fxcrt\fx_basic_gcc.cpp(28) : warning C4244: 'argument' : conversion from 'const FX_WCHAR' to 'char', possible loss of data
FAILED: ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\core\src\fpdftext\fpdftext.fpdf_text.obj.rsp /c ..\..\core\src\fpdftext\fpdf_text.cpp /Foobj\core\src\fpdftext\fpdftext.fpdf_text.obj /Fdobj\fpdftext.cc.pdb
e:\b\build\slave\windows\build\pdfium\core\src\fpdftext\fpdf_text.cpp(439) : error C2039: 'isdigit' : is not a member of 'std'
FAILED: ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\core\src\fxcrt\fxcrt.fx_basic_wstring.obj.rsp /c ..\..\core\src\fxcrt\fx_basic_wstring.cpp /Foobj\core\src\fxcrt\fxcrt.fx_basic_wstring.obj /Fdobj\fxcrt.cc.pdb
e:\b\build\slave\windows\build\pdfium\core\src\fxcrt\fx_basic_wstring.cpp(973) : error C2220: warning treated as error - no 'object' file generated
e:\b\build\slave\windows\build\pdfium\core\src\fxcrt\fx_basic_wstring.cpp(973) : warning C4244: 'argument' : conversion from 'const FX_WCHAR' to 'char', possible loss of data
e:\b\build\slave\windows\build\pdfium\core\src\fxcrt\fx_basic_wstring.cpp(981) : warning C4244: 'argument' : conversion from 'const FX_WCHAR' to 'char', possible loss of data
FAILED: ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\core\src\fpdftext\fpdftext.fpdf_text_int.obj.rsp /c ..\..\core\src\fpdftext\fpdf_text_int.cpp /Foobj\core\src\fpdftext\fpdftext.fpdf_text_int.obj /Fdobj\fpdftext.cc.pdb
e:\b\build\slave\windows\build\pdfium\core\src\fpdftext\fpdf_text_int.cpp(2436) : error C2039: 'isdigit' : is not a member of 'std'
e:\b\build\slave\windows\build\pdfium\core\src\fpdftext\fpdf_text_int.cpp(2440) : error C2039: 'isdigit' : is not a member of 'std'
ninja: build stopped: subcommand failed.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1431683008 .
|
|
This reverts commit 23d576f0b498bd4f37ef2175916223a2e5ea0324.
Cleanup some numeric code.
This changes the various comparisons of char >= '0' && char <= '9' and
char < '0' || char > '9' to use std::isdigit checks. It also cleans up
a handful of hex to digit conversions to call one common method.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1405253007 .
|
|
This size is different on Windows vs Mac and Linux. Need to use numeric_limits
instead of a hard coded value.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1414793010 .
|
|
This CL adds tests for the ReadHexString method of the syntax parser.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1433503002 .
|
|
This CL adds a unit test for the ReadHexString method.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1408213008 .
|
|
This CL adds tests for the CMap_GetCode and CMap_GetCodeRange methods. To do
so, it moves the methods to be static private members of CPDF_CMapParser and
makes the test class a friend.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1414013005 .
|
|
I moved the declaration to be public, instead of having it implicit in one
file and defined in a seperate cpp file.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1410873009 .
|
|
There are no uses of this method, I also checked the XFA branch and there don't
appear to be any uses there either.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1427913006 .
|
|
This CL adds a test case for the StringToCode and
StringToWideString methods in fpdf_font.cpp. In order
to do so, it moves the methods to be private methods of CPDF_ToUnicodeMap and
make the tests friends of the class.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1428593005 .
|
|
BUG=446715
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1410073009 .
|
|
BUG=446715
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1353093003 .
|
|
This reverts commit 589f7e0a57675efce9810c15a3e9b7c49bf0bc90.
Broke the build on Mac, unable to find std::isdigit.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1428853002 .
|
|
This changes the various comparisons of char >= '0' && char <= '9' and
char < '0' || char > '9' to use std::isdigit checks. It also cleans up
a handful of hex to digit conversions to call one common method.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1415933005 .
|
|
Also stray newline in fpdf_parser_document.cpp in master.
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1424213004 .
|
|
This CL adds a helper to check if a given character is a \n or \r.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1418073006 .
|
|
R=thestig@chromium.org
BUG=548714
Review URL: https://codereview.chromium.org/1430653002 .
|
|
This CL adds constants for some of the path operators to make it more obvious
what is being checked.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1413783009 .
|
|
When we call OpenDocument we fail to check if the document was actually opened.
Currently we return true in all cases (assuming we read the file). This CL
updates the code to check if the document was opened and return false if not.
I've updated several tests to check for FALSE instead of TRUE. I verified the
documents in fact don't open with my local (non-PDFium) PDF reader.
BUG=pdfium:223
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1417893007 .
|
|
This Cl moves all of the m_Size <= m_Pos and m_Pos >= m_Size checks to an
PositionIsInBounds() helper.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1412793008 .
|
|
This CL adds helpers to provide more descriptive access to
PDF_CharType.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1407913004 .
|
|
This Cl converts a bunch of c-style casts to static_cast<CPDF_Object*>().
BUG=pdfium:201
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1428583003 .
|
|
Currently the shading types are referenced by number. This Cl creates and enum
and updates the code to use the enum names instead of magic numbers.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1418623011 .
|
|
The m_pShadingObj can be a stream or a dictionary depending on how it's used.
This CL adds some simple type checking to make sure that the type of the
object matches what we expect.
BUG=chromium:547706
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1421973004 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1412823005 .
|
|
Also fix a potential object leak.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1414963005 .
|
|
As seen in FPDFViewEmbeddertest.Crasher_451830.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1385803002 .
|
|
There appear to be a bunch of corpus tests which fail with this change such
as FAILURE: shading1.pdf
This reverts commit 85361b227ad6786d2aeef8409b79a8d077a26ee9.
Make m_pShadingObj a CPDF_Stream instead of CPDF_Object.
This object is required to be a stream and was being converted as such. With
the new type checking this caused us to pass a nullptr where previously we'd
have, incorrectly, cast a CPDF_Dictionary to a CPDF_Stream.
This CL changes the m_pShadingObj to always be a CPDF_Stream. Then, we never
go down the bad code path because we check if m_pShadingObj is nullptr earlier
and bail out.
BUG=chromium:547706
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1414283003 .
|