Age | Commit message (Collapse) | Author |
|
This matches the type of the corresponding |CFX_DIBSource::m_Pitch|,
where integer overflow is checked for FX_DWORD. This change is
propagated to many other places.
Also, check for integer overflow in |CCodec_RLScanlineDecoder::Create|
during the calculation of |m_Pitch| since it aligns to 4 bytes while
overflow was was previously checked without this alignment.
TBR=tsepez@chromium.org
BUG=555784
Review URL: https://codereview.chromium.org/1460033002 .
(cherry picked from commit e7950df70a2fd658f466751b29483436cb31e829)
Review URL: https://codereview.chromium.org/1461363002 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1465663002 .
|
|
This week's version. Mostly whitespace, but takes the
master version of core/src/fxge/ge/fx_ge_text.cpp
verbatim.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1462923004 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1458633004 .
(cherry picked from commit 0c8e6c1f39f20985a3efb17292e46c476194183a)
Review URL: https://codereview.chromium.org/1461693005 .
|
|
Using Chromium's clang + build options, there's more override warnings.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1453643002 .
(cherry picked from commit 126ba519bdd489ec6c285d1410dcae773e8ef673)
Review URL: https://codereview.chromium.org/1458373002 .
|
|
If jpeg_read_scanlines() ends up calling the error callback, we longjmp
into some undefined state.
BUG=558840
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1463563003 .
(cherry picked from commit 06e33aec03f13c76d9eff5c09cb03e142b0c5ef1)
Review URL: https://codereview.chromium.org/1462253004 .
|
|
Remove default argument in remaining variants.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1453373006 .
|
|
Remove pointless subclass dtors since CFWL_TargetImpl
has a virtual dtor, and can be deleted by the base
class.
Kept pointless subclass ctors for the moment to hopefully
combine with Initialize someday, though they need not do
anything since the base class ctor nulls out m_pImpl.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1460883002 .
|
|
- add suppressions.txt in tools/drmemory/
- update pdfium_tests.py to read suppression file
R=thestig@chromium.org
BUG=pdfium:238
Review URL: https://codereview.chromium.org/1454193002 .
(cherry picked from commit 76b0104270b0a7f3ce7d40ddde2b6d6c8cb944db)
Review URL: https://codereview.chromium.org/1455293003 .
|
|
This CL adds DrMemory-Windows-sfx.exe into tools/drmemory.
It also adds a set of scripts from chromium/src/tools/valgrind for
running Dr. Memory. Now we can run pdfium tests with Dr. Memory:
$ .\tools\drmemory\scripts\pdfium_tests.bat -b out\Debug -t pdfium_unittests
More update on scripts is required, but this should be a good start.
Changes from chromium/src/tools/valgrind
- rename chrome_tests.py to pdfium_tests.py
- update pdfium_tests.bat
- remove chrome tests in pdfium_tests.py
- remove memcheck code in valgrind_test.py
R=thestig@chromium.org
BUG=pdfium:238
Review URL: https://codereview.chromium.org/1452293002 .
(cherry picked from commit 4dcf313c46c176e5afa1328f5f07fce4e614366d)
Review URL: https://codereview.chromium.org/1452373004 .
|
|
IFWL_TargetData was a sibling class to which we illegally cast
other IFWL_ classes just to get access to a member, to which
they already had access in many cases.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1452403002 .
|
|
TBR=thestig@chromium.org]
BUG=556808
Review URL: https://codereview.chromium.org/1452013004 .
(cherry picked from commit 97f900e93e6a96b164b33bfe1228f383d9a5ecd3)
Review URL: https://codereview.chromium.org/1456973003 .
|
|
Instead of taking a const pointer, and then casting away the const-ness.
Also remove similar, but dead CPDF_InterForm methods.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1456763003 .
Review URL: https://codereview.chromium.org/1456823002 .
Review URL: https://codereview.chromium.org/1452843005 .
(cherry picked from commit 9c62cadff466f26307bd06ed1e9df2c1b5f25a32)
(cherry picked from commit 447946588d6bbd4d5bc34477a09dd983285c507e)
(cherry picked from commit b2a4c976841863e89804a2643eebccf881c57584)
Review URL: https://codereview.chromium.org/1457703002 .
|
|
Sadly I've gotten these to fail with Chromium debug builds.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1447163004 .
(cherry picked from commit 191333dbc8889a60ff43a10176cc0ae87dc11d89)
Review URL: https://codereview.chromium.org/1453403002 .
|
|
Follow-on from https://codereview.chromium.org/1446393002/
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1457663002 .
|
|
Rename IFWL_Target::m_pData to m_pImpl since it points
to CFWL_*Imp classes.
Rename CFWL_Widget:m_pImp to m_pIface since it points
to IFWL_* interface classes. Here, the concrete classes
have pointers to the corresponding interfaces, rather
than inheriting from them, and this is likely due to
someone not understanding virtual inheritance (since this
code has the diamond problem in spades).
Rename CFWL_Target to CWFL_TargetImp since it is the root
of the CFWL_*Imp hierarchy, and is pointed to by the
m_pImpl slot.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1446393002 .
|
|
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 .
(cherry picked from commit 3f148915d12f54a946a0c0bf526162b79c39d650)
Review URL: https://codereview.chromium.org/1452673002 .
|
|
Also protect the LayoutItem constructor, as !m_bIsContent
implies the object can be cast to the container class, so
ensure we don't make any of parent class.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1441243005 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1443563002 .
|
|
There is no longer a LayoutItem/LayoutItemImpl distinction.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1441423002 .
|
|
C-style casting masked a fairly serious botch, where an
CFWL_ type would get cast to an IFWL_ type, and later we'd
invoke virtual methods against the IFWL_ type. Without the
proper inheritance, there's no reason to believe that the
vtables for each of these would line up with each other.
Fixing the inheritence allows us to remove the c-style casts.
I'm guessing these were added to make this compile without
having to understand the true nature of the flaw.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1439093003 .
|
|
Fixes illegal casting between unrelated types, and removes
about 30 explicit casts that are no longer required.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1441183002 .
|
|
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1438253004 .
(cherry picked from commit 8bfd2fbe8a95f0b7a43f1bd29e70f61bd73e499c)
Review URL: https://codereview.chromium.org/1441963002 .
|
|
That refer to parent directories.
TBR=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1434223002 .
(cherry picked from commit 22bc4227fbbda5a5e9abad2a2c0a98c04fe7f228)
Review URL: https://codereview.chromium.org/1439223003 .
|
|
Accidentally reverted this while rebasing another CL.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1441473004 .
(cherry picked from commit 4274ea205ca2219f6a4cfc54025284c1aa3b14b8)
Review URL: https://codereview.chromium.org/1438173003 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1439083002 .
|
|
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
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1406943005 .
(cherry picked from commit 182d129bcee8f7731b9bbfde0064295ad3b37271)
Review URL: https://codereview.chromium.org/1436153003 .
|
|
This reverts commit 034477eb3a56690d339776d900100794a0f37853.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1432213005 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1437043002 .
(cherry picked from commit 44a4de0b4bd5148396b2b0de1353dafee6a4c418)
Review URL: https://codereview.chromium.org/1433303003 .
|
|
The GetFontData() behavior in FPDF_SYSFONTINFO seems reasonable.
Also do some code cleanup.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1425023003 .
(cherry picked from commit e0c16d7461ca8317433d93835e4c36a84157cbef)
Review URL: https://codereview.chromium.org/1438943002 .
|
|
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
TBR=tsepez@chromium.org
Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec
Review URL: https://codereview.chromium.org/1433423002 .
(cherry picked from commit e21fe98d5b5da7da01503b985b07b90c8e811689)
Review URL: https://codereview.chromium.org/1441563002 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1437713003 .
(cherry picked from commit f20a34c0f2dfca49f735a0f11147254c26831e7c)
Review URL: https://codereview.chromium.org/1437863005 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1432863004 .
(cherry picked from commit 56e3da27d8bed8a6c03274b7b946e3f6d6ac11f4)
Review URL: https://codereview.chromium.org/1436843003 .
|
|
Added FIXMEs to the spots where danger lurks.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1438553003 .
|
|
TBR=weili@chromium.org
Review URL: https://codereview.chromium.org/1419763005 .
(cherry picked from commit 211cab5b58151f09fbeafe2b18da77b63664c39d)
Review URL: https://codereview.chromium.org/1407413016 .
|
|
Original Review URL: https://codereview.chromium.org/1424933013 .
(cherry picked from commit 7d4c74d1b96d82681d49519c129262a1568e87d4)
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/1407063012 .
|
|
The PDF-side native objects require that the current v8 context
has been set-up to point at the state (via CJS_Runtime) for the
getters, setters, and methods to operate against. XFA doesn't
supply a context with that state, so at the first opportunity for
a PDF-side object to be leaked to XFA, set up the context to mimic
the PDF side.
Changed FXJS_GetRuntimeFromIsolate() to FXJS_GetRuntimeFromV8Context()
for consistency with the newly added method.
BUG=pdfium:266
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1412103010 .
|
|
Original Review URL: https://codereview.chromium.org/1432073003 .
(cherry picked from commit 46960a43145ab978ca3c90cb6133bb3d5600ad1d)
BUG=pdfium:273
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1424473008 .
|
|
There's a re-interpretation followed by a pointer-adjusting static cast
required here, not just a blatant re-interpretation.
BUG=pdfium:271
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1431313005 .
|
|
R=tsepez@chromium.org
TBR=tsepez@chromium.org
BUG=554115
Review URL: https://codereview.chromium.org/1435473004 .
(cherry picked from commit 46d2e278f62454ed2392630b6d18d33d380a20eb)
Review URL: https://codereview.chromium.org/1436673003 .
|
|
Instead, set the libjpeg to use via GYP/GN.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1433803002 .
(cherry picked from commit 16f26fb7621c8ee554f4d7c5b4c1972eb0ed7065)
Review URL: https://codereview.chromium.org/1409323010 .
|
|
BUG=pdfium:272
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1414043014 .
|
|
- 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.
TBR=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1415163009 .
(cherry picked from commit e6e16954f0cdc324849fca9da883be8f131b3834)
Review URL: https://codereview.chromium.org/1418493006 .
|
|
TBR=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1436573003 .
(cherry picked from commit c813e21d261c24867234107f2e2ca72e15cb2534)
Review URL: https://codereview.chromium.org/1406933007 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1437603002 .
(cherry picked from commit 21e079dd982f57daa9d5af0d9e48d58189ce35da)
Review URL: https://codereview.chromium.org/1421303006 .
|
|
Move some functions into an anonymous namespace.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1431253002 .
(cherry picked from commit b5d6497946c1117e6f54506eb85b47e0a7e0234c)
Review URL: https://codereview.chromium.org/1416113011 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1427633010 .
(cherry picked from commit 9fb27cb9797937499c9678bc74cf7846cbf5d2b8)
Review URL: https://codereview.chromium.org/1438573002 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1430213002 .
(cherry picked from commit 8deeacd23872ecc132a0a678e344a018b5114a3a)
Review URL: https://codereview.chromium.org/1416113010 .
|
|
pdfium_test
BUG=446715
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1410073009 .
Review URL: https://codereview.chromium.org/1413103007 .
|
|
BUG=446715
R=thestig@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1353093003 .
Conflicts:
core/include/fpdfapi/fpdf_parser.h
core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp
samples/pdfium_test.cc
testing/embedder_test.cpp
testing/embedder_test.h
Review URL: https://codereview.chromium.org/1412083010 .
|