summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-12Fix use of an uninitialised CFX_Widestring in AFNumber_Keystroke.ochang
BUG=611352 R=thestig@chromium.org Review-Url: https://codereview.chromium.org/1977613002
2016-05-12IFX_Edit::NewEdit never returns nullptr.thestig
Review-Url: https://codereview.chromium.org/1969353002
2016-05-12Replace CXFA_PtrSetTemplate with std::unordered_set.tsepez
Building a set on top of a map and ignoring the mapped value seems wasteful. Review-Url: https://codereview.chromium.org/1942903003
2016-05-12put change to CFX_ImageStretcher in Skia as wellcaryclark
R=tsepez@chromium.org,thestig@chromium.org Review-Url: https://codereview.chromium.org/1975823002
2016-05-11Fix a sign mismatch.chromium/2735thestig
TBR=tsepez@chromium.org Review-Url: https://codereview.chromium.org/1976443002
2016-05-11Clean up CFX_ImageStretcher.thestig
Review-Url: https://codereview.chromium.org/1968273002
2016-05-11Revert "Reland of relax a couple checks to allow certain non-standard PDF ↵weili
files. (patchset #1 id:1 of https://codereview.chromium.org/1946693002/ )" This reverts commit a031357eaab7c934ac03717968cf78ff556c819b. The reason to revert it is that some malformed or maliciously crafted PDF files may cause crashes. BUG=610973 Review-Url: https://codereview.chromium.org/1971013002
2016-05-11Add much-needed Find() method for CFX_*StringCtsepez
BUG=pdfium:493 Review-Url: https://codereview.chromium.org/1968233002
2016-05-11Remove c_str() from fpdf_font.cpptsepez
BUG=pdfium:493 Review-Url: https://codereview.chromium.org/1967223002
2016-05-11Fix a divide by zero in CFX_ImageStretcher.thestig
BUG=611198 Review-Url: https://codereview.chromium.org/1963233005
2016-05-11Use bytestringC rather than raw ptr/len pairs in syntax parsertsepez
In particular, we seek to make more use of the .Mid() (substr) method to make these. Precursor to removing c_str() calls. BUG=pdfium:493 Review-Url: https://codereview.chromium.org/1966293002
2016-05-11Remove CPVT_Size and CPVT_FloatRange.chromium/2734thestig
- CPVT_Size is the same as CFX_SizeF - CPVT_FloatRange is unused. Review-Url: https://codereview.chromium.org/1961333002
2016-05-11CPDF_VariableText::GetIterator() never returns NULL.thestig
Same goes for CFX_Edit::GetIterator(). Review-Url: https://codereview.chromium.org/1967963002
2016-05-11Clean up CPDF_Color and some related code.thestig
- Remove dead code in CPDF_Color. - Encapsulate member variables. - Added accessors as need. - Remove unused CPDF_ColorSpace::GetMaxIndex(). - Remove redundent CPDF_StreamContentParser::GetNumber16(). Review-Url: https://codereview.chromium.org/1965243002
2016-05-11Fix a potential UAF with FPDFAvail_IsLinearized().thestig
Cache the linearized result rather than recalculating it. BUG=608778 Review-Url: https://codereview.chromium.org/1968743002
2016-05-11Use STL map for m_eventTargets.tsepez
Remove unused member and return value along the way. Review-Url: https://codereview.chromium.org/1940033002
2016-05-11fix skia buildcaryclark
Fix some bit rot with the Skia build; update the gypi to current and switch a deprecated call for the current one. R=tsepez@chromium.org Review-Url: https://codereview.chromium.org/1958263002
2016-05-11Replace some calls to Release() with direct delete, part 1.tsepez
Searching for the anti-pattern: void Release() { delete this; } We must be explicit on the ownership model. Add unique_ptrs as a result. Review-Url: https://codereview.chromium.org/1960673003
2016-05-10Remove some dead code.thestig
- No caller checks the CPDF_VariableText::SetProvider() return value. - IFX_Edit::SetVTProvider() is unused. - CFX_ListItem::SetCaret() is useless. - CFX_List::SetItemCaret() is also useless. - CPVT_GenerateAP::GenerateEditAP() has a param that's always NULL. Review-Url: https://codereview.chromium.org/1960183003
2016-05-10Make GYP and GN build consistent for third_party targetsweili
Remove several obsolete warnings from GYP build; Move disabled warning flags closer to the target instead of the whole package for GYP build; Use macro undefine instead of disabled warning for libtiff for GN build. Review-Url: https://codereview.chromium.org/1962863002
2016-05-09Remove std::string usage in PublicMethods.cpp.thestig
BUG=pdfium:488 Review-Url: https://codereview.chromium.org/1936383002
2016-05-09fix linux warningscaryclark
The Skia variant generates a couple of warnings on the linux build. One of the warning silenced is an unused variable. Once PDFs are identified that exercise this variable, the dummy code will be replaced. R=tsepez@chromium.org Review-Url: https://codereview.chromium.org/1962683002
2016-05-06CFX_ArabicChar contains only static methods, no need to instantiate.chromium/2733chromium/2732chromium/2731chromium/2730tsepez
Review-Url: https://codereview.chromium.org/1954593004
2016-05-05Resolve macro redefinition warnings when built in Chromiumweili
Chromium defines WIN32_LEAN_AND_MEAN on Windows. Third party library libtiff also defines it. So we undefine it before compiling libtiff code for GYP build. Also, remove _CRT_SECURE_NO_WARNINGS macro since it is redefined in zlib library as well. Our code no longer needs it. After fixing the above, re-enable warning flag 4005 which alerts about "macro redefinition". For GN build, we disable warning 4005 for compiling libtiff code before we can figure out another way to do this. Review-Url: https://codereview.chromium.org/1954773002
2016-05-05Only set memory tool define if not set.dsinclair
This fixes a build issue where MEMORY_TOOL_REPLACES_ALLOCATOR may already be set. Review-Url: https://codereview.chromium.org/1951383002
2016-05-05Remove CLASSHASH defines in favour of an enum class.dsinclair
This Cl updates all the CLASSHASH defines to use an enum class. A few defines where unabled and were either updated or removed if the number no longer exists in the code base. Review-Url: https://codereview.chromium.org/1946213003
2016-05-05Avoid unused variable warnings on LinuxWei Li
TBR=tsepez@chromium.org,dsinclair@chromium.org Review URL: https://codereview.chromium.org/1949383002 .
2016-05-04Properly fix the warningsWei Li
ASSERT(statement) will not execute statement in release builds. So need to move statements outside ASSERT(). TBR=tsepez@chromium.org,dsinclair@chromium.org Review URL: https://codereview.chromium.org/1949613004 .
2016-05-04Enable 'treating warnings as errors' for 64 bit Win buildsweili
The reason to disable 'treating warnings as errors' earilier is due to c4267 warnings, which we already disabled uniformly in pdfium.gyp. Re-enable this now so that we can have the same level of compilation warnings/errors on 32 bit and 64 bit builds. Also fix two c4390 warnings on Windows release builds. Their warning messages are "empty controlled statement found; is this the intent?" Review-Url: https://codereview.chromium.org/1949303002
2016-05-04Convert FWL_ERR into an enum class.dsinclair
This Cl updates FWL_ERR to be an FWL_Error enum class. It removes FX_ERR and replaces it with FWL_Error as well as the values were the same. There were many places where we either returned other values for FWL_ERR results. This Cl is the same as: https://codereview.chromium.org/1943413002/ but I seem to have messed up the base URL in that one. TBR=tsepez@chromium.org Review-Url: https://codereview.chromium.org/1952693003
2016-05-04More gtest overrides to fix OSX GN builddsinclair
Review-Url: https://codereview.chromium.org/1951873003
2016-05-04Ignore the generate_library_loader directorydsinclair
Review-Url: https://codereview.chromium.org/1952853002
2016-05-04Copy the event definition file to the testing directory along with pdftsepez
data_binding.pdf is much closer now that events are sent. It still diffs due to some bg color issues, not that the box is unchecked. Review-Url: https://codereview.chromium.org/1952823002
2016-05-04Cleanup IFWL_Adapter interfaces.dsinclair
This CL removes: * IFWL_AdapterNative * IFWL_Adapter{Widget|Thread}Mgr * IFWL_WidgetMgrDelegate * CFWL_SDAdapter{Widget|Thread}Mgr Methods which just returned have also been removed. Review-Url: https://codereview.chromium.org/1928963004
2016-05-04Cleanup CFWL_ThemePart data.dsinclair
The m_dwData pointer was being used as a generic way to pass around data. There were only two places we were reading that data. This Cl changes to have two specific flags and removes the generic pointer. Review-Url: https://codereview.chromium.org/1950973003
2016-05-04Convert some theme defines to values.dsinclair
This Cl updates several of the theme defines to be constant values instead of defines. Some of the items were re-ordered so the calculations would work correctly. Review-Url: https://codereview.chromium.org/1945183004
2016-05-04More define cleanup.dsinclair
This CL converts defines into constants, enums, enum classes or removes them as needed. Review-Url: https://codereview.chromium.org/1938163002
2016-05-04Return bool rather than bitwise-and for FX_BOOLtsepez
Investigate results of: git grep -ni 'return [(]*[a-z0-9_]* &[^&]' git grep -ni 'BOOL.*= [(]*[a-z0-9_]* &[^&]' Review-Url: https://codereview.chromium.org/1951653002
2016-05-04Fix event sending in pdfium_test.tsepez
Passing bad args in pdfium_test -- all void* pointers look alike. Make output less verbose while we're here. Turn on event sending mode for corups tests. No effect until .evt files added to corpus. Review-Url: https://codereview.chromium.org/1946873004
2016-05-04Update README to use GN instead of GYPdsinclair
This Cl updates the README so GN is the recommended method to build PDFium in a standalone fashion. BUG=pdfium:485 Review-Url: https://codereview.chromium.org/1950103002
2016-05-04Skia GN build.dsinclair
This Cl makes GN execute correctly for builds with pdf_use_skia=true enabled. BUG=pdfium:487 Review-Url: https://codereview.chromium.org/1932683003
2016-05-04Reland of lax a couple checks to allow certain non-standard PDF files. ↵weili
(patchset #1 id:1 of https://codereview.chromium.org/1946693002/ ) Reason for revert: The culprit was found and confirmed, not this one. Original issue's description: > Revert of Relax a couple checks to allow certain non-standard PDF files. (patchset #1 id:1 of https://codereview.chromium.org/1926823002/ ) > > Reason for revert: > Speculatively revert due to high volume of crashes on Chromium. > > Original issue's description: > > Relax a couple checks to allow certain non-standard PDF files. > > > > Some non-standard PDF files misuse the size of cross reference table, > > and reuse some object number which the old one is still in use. PDFium > > can relax the reusing of xref objects only since it is not referred in > > the pdf document. When the size of cross reference table is larger > > than defined, PDFium will try to continue other than abort. > > > > BUG=chromium:596947 > > > > Committed: https://pdfium.googlesource.com/pdfium/+/cd1e9ff4f432cbc29ed279e6891fb7ddc2ea3734 > > TBR=thestig@chromium.org,dsinclair@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=chromium:596947 > > Committed: https://pdfium.googlesource.com/pdfium/+/5fc4f31285c3a88fc157fd2d9b9cf2eb5c7cabed TBR=thestig@chromium.org,dsinclair@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:596947 Review-Url: https://codereview.chromium.org/1947983002
2016-05-04Revert of Remove unneeded CPVT classes. (patchset #7 id:140001 of ↵chromium/2729chromium/2728chromium/2727chromium/2726chromium/2725dsinclair
https://codereview.chromium.org/1919283008/ ) Reason for revert: Causing segv on certain PDFs which make the PDF load tests hang. crbug.com/608901 Original issue's description: > Remove unneeded CPVT classes. > > - CPVT_Size is the same as CFX_PointF > - CPVT_FloatRange is unused. > - CPVT_ArrayTemplate is just a wrapper for CFX_ArrayTemplate. > > Committed: https://pdfium.googlesource.com/pdfium/+/a354eb517429e10d84abff65e455f0c183fe58e0 TBR=thestig@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/1947093002
2016-05-04Replace IFX_MemoryAllocator::Release() with delete.tsepez
All Release() did was invoke delete. Add some "overrides" while we're at it. Review-Url: https://codereview.chromium.org/1951573002
2016-05-04Remove unused CFX_CPLTree<> templatetsepez
Review-Url: https://codereview.chromium.org/1944893003
2016-05-03Cleanup XFA-Specific memory allocators.tsepez
Remove unused "dynamic" allocator (the scary one). Use malloc/free wrapper allocator under #ifdef for CF/asan testing. Rename IFX_MEMAllocator to IFX_MemoryAllocator (MEM in all caps would imply that MEM was an acroynm, not an abbreviation). Review-Url: https://codereview.chromium.org/1944093002
2016-05-03Remove FWL_WGTHITTEST_* defines in favour of enum class.dsinclair
This Cl updates the FWL_WGTHITTEST_ defines to an enum class and fixes up any code issues. Review-Url: https://codereview.chromium.org/1948583002
2016-05-03Revert of Relax a couple checks to allow certain non-standard PDF files. ↵weili
(patchset #1 id:1 of https://codereview.chromium.org/1926823002/ ) Reason for revert: Speculatively revert due to high volume of crashes on Chromium. Original issue's description: > Relax a couple checks to allow certain non-standard PDF files. > > Some non-standard PDF files misuse the size of cross reference table, > and reuse some object number which the old one is still in use. PDFium > can relax the reusing of xref objects only since it is not referred in > the pdf document. When the size of cross reference table is larger > than defined, PDFium will try to continue other than abort. > > BUG=chromium:596947 > > Committed: https://pdfium.googlesource.com/pdfium/+/cd1e9ff4f432cbc29ed279e6891fb7ddc2ea3734 TBR=thestig@chromium.org,dsinclair@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:596947 Review-Url: https://codereview.chromium.org/1946693002
2016-05-03Reland of Allow overriding GN build flagschromium/2724dsinclair
This reverts commit 038bf0b129e56212a6de0989dca1ae023bb17c5d. In order to enable XFA from GN builds we need to be able to override pdf_enable_xfa. To do this a build_overrides/pdfium.gni file needs to be created in Chrome. To use that, //pdfium.gni reads the override values and sets them into the defined arguments. We have to create a build_overrides/pdfium.gni file in PDFium that sets the default overrides for PDFium builds. BUG=chromium:62400 Review-Url: https://codereview.chromium.org/1936313002
2016-05-02Replace CFX_PtrArray with typesafe CFX_ArrayTemplate, part 11tsepez
Last part. Remove CFX_PtrArray typedef. Review-Url: https://codereview.chromium.org/1941863002