summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-23Merge to M51: openjpeg: Prevent a buffer overflow in opj_j2k_read_SPCod_SPCoc.chromium/2704Oliver Chang
BUG=chromium:613160 R=tsepez@chromium.org TBR=tsepez@chromium.org Original Review-Url: https://codereview.chromium.org/2001663002 Review URL: https://codereview.chromium.org/2006643003 .
2016-05-13Merge to M51: Fix a potential UAF with FPDFAvail_IsLinearized().Lei Zhang
Cache the linearized result rather than recalculating it. BUG=608778 TBR=weili@chromium.org Review-Url: https://codereview.chromium.org/1968743002 (cherry picked from commit 35c2100a5f6a466635bf99b4e7117d23aeb54d2c) Review URL: https://codereview.chromium.org/1977903003 .
2016-04-26Merge to M51: Add a missing initialisation for CPDF_ContentMarkItem.Oliver Chang
R=dsinclair@chromium.org TBR=dsinclair@chromium.org BUG=chromium:605491 Original Review URL: https://codereview.chromium.org/1910143002 (cherry picked from commit 0f6425fff33e4096b4e1fbfb954edae1349c0145) Review URL: https://codereview.chromium.org/1921003005 .
2016-04-18Merge to M51: Prevent a potential OOB read in TranslateImageLine.Oliver Chang
Fixes a potential mismatch of |m_nComponents| between CPDF_DIBSource and its CPDF_ColorSpace, from code attempting to recover from a failed decoder initialisation in CPDF_DIBSource::CreateDecoder. BUG=chromium:603518 TBR=tsepez@chromium.org Original Review URL: https://codereview.chromium.org/1892143003 (cherry picked from commit 7cf555202756c51ce2b5ae18efdeb6e1bb6a9e41) Review URL: https://codereview.chromium.org/1897953002 .
2016-04-18Merge to M51: Prevent an OOB access in CPDF_DIBSource::TranslateScanline24bppOliver Chang
if |m_Family| was RGB, the code assumed there were 3 components, which may not be the case. BUG=chromium:602046 TBR=tsepez@chromium.org Original Review URL: https://codereview.chromium.org/1877033003 (cherry picked from commit 6a3521f049b35c801f124f1573718021a785ff6b) Review URL: https://codereview.chromium.org/1895033004 .
2016-04-18Merge to M51: Fix integer issues leading to out of bounds access in ↵Oliver Chang
fx_ge_text.cpp. - Using |-skew| to get positive index, which doesn't work when skew is INT_MIN - Incorrect logic when determining when to use |-skew| as an index. TBR=tsepez@chromium.org BUG=chromium:601362 Original Review URL: https://codereview.chromium.org/1875673004 (cherry picked from commit b8627c9d13884d48943d8a7a5381eaf0bb2c08d9) Review URL: https://codereview.chromium.org/1898853002 .
2016-04-05Suppress some additional msvs warnings (GN).chromium/2706chromium/2705chromium/2703chromium/2702chromium/2701ochang
Fixes GN build after 47ca692. R=tsepez@chromium.org,weili@chromium.org Review URL: https://codereview.chromium.org/1862773002
2016-04-05Make StringData a templated class.tsepez
First step in making the same changes to CFX_WideString that we just made to CFX_ByteString. Review URL: https://codereview.chromium.org/1844073003
2016-04-05Make down-conversion explicit from CFX_Widetring to CFX_WideStringC.tsepez
Companion to https://codereview.chromium.org/1853233002 BUG= Review URL: https://codereview.chromium.org/1857073002
2016-04-05Remove core/include/fpdfdoc/fpdf_vt.hdsinclair
This CL removes the core/include/fpdfdoc/fpdf_vt.h file. The IPDF_VariableText class was removed in favour of the only concrete class of CPD_VariableText. CPVT_Provider was moved to CPDF_VariableText::Provider and CPDF_VariableText_Iterator was moved to CPDF_VariableText::Iterator. The IFX_Edit_FontMap interface was merged into the IPVT_FontMap interface so there is only one. Other classes were split out as needed in order to keep things compiling. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1860063002
2016-04-05Rename GetCStr and GetPtr to match CFX_ByteString.dsinclair
This CL updates CFX_ByteStringC to use the more common c_str and raw_str instead of GetCStr and GetPtr. Review URL: https://codereview.chromium.org/1857713003
2016-04-05Better error for checkdeps.dsinclair
If the checkdeps script can not be found the following error will be issued instead of a stacktrace: ** Presubmit ERRORS ** Unable to run checkdeps, does pdfium/buildtools/checkdeps exist? BUG=chromium:600043 Review URL: https://codereview.chromium.org/1860803003
2016-04-04Make down-conversion explicit from CFX_ByteString to CFX_ByteStringC.tsepez
Having this happen implicitly can be dangerous because the lifetime has to be considered; we should have caught the "red bots" in https://codereview.chromium.org/1847333004/#ps60001 at compile time. Review URL: https://codereview.chromium.org/1853233002
2016-04-04Make IPDF_VariableText_{Provider,Iterator} inner classes.dsinclair
This CL moves the IPDF_VariableText_Provider and IPDF_VariableText_Iterator classes to be nested sub-classes of IPDF_VariableText. BUG=pdfium:455 Review URL: https://codereview.chromium.org/1855403002
2016-04-04flip sense of alpha maskscaryclark
One bit bitmaps may be black and white or may be alpha masks. Treat alpha masks as transparent/opaque instead of black/white. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1858613003
2016-04-04Support the device font cachecaryclark
Reuse the Skia typeface on sucessive text draw calls. This reduces the SKP size by 100x for some documents. Note that this does not use a smart pointer for the Skia typeface object. The downside of doing so is that it requires all clients that include fx_font.h to also have access to Skia. In this specific case, it is preferable to have a forward declared class to isolate Skia from the rest of PDFium. R=dsinclair,tsepez@chromium.org Review URL: https://codereview.chromium.org/1837113004
2016-04-04Cleanup the FF Handler proxy methods.dsinclair
This CL removes the proxy methods from CXFA_FFWidgetHandler and CXFA_DocHandler and removes CXFA_FFMenuHandler as it was only proxy methods. The calls are made directly on the object now. Review URL: https://codereview.chromium.org/1857893002
2016-04-04Replace FDE_XMLSYNTAX defines with enum classes.dsinclair
This CL replaces FDE_XMLSYNTAXMODE_ with FDE_XmlSyntaxState:: and FDE_XMLSYNTAXSTATUS_ with FDE_XmlSyntaxResult::. The various variables also have their names updated to make them clearer. Review URL: https://codereview.chromium.org/1856003002
2016-04-04fix gyp typoscaryclark
The gyp build on Windows detected a few typos in recent edits. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1855173003
2016-04-04Remove _FXBSTR* and calls to FX_BSTRC.dsinclair
This CL removes _FXBSTR and changes FPDF_AbbrPair to hold two FX_CHAR pointers. The two remaining uses of FX_BSTRC() were in unused FDE_CSS defines which have been removed. BUG=pdfium:151 Review URL: https://codereview.chromium.org/1847333004
2016-04-01Re-land "Use CFX_RetainPtr to ref count CFX_ByteString""tsepez
This reverts commit b33dfdf68bafa30e90a65fb71ff6b343202e0561. BUG= Review URL: https://codereview.chromium.org/1848993002
2016-04-01Remove CFX_ string type static initializers.tsepez
In XFA, we were constructing some CFX_ string types before we reached main(). Setting breakpoints on these as well as main() shows we hit main first after applying the patch. Doing so also turned up an unused variable, presumably because the static initializer made it appear used. Review URL: https://codereview.chromium.org/1846353002
2016-04-01Starting to add some documentation.dsinclair
This CL adds the beginnings of a Geting Started document for PDFium and adds the navbar.md file to get navigation on the markdown files when rendered by Gitiles. Review URL: https://codereview.chromium.org/1840793002
2016-04-01Remove CFX_{Byte,Wide}String::Equal in favor of "==".tsepez
Makes the code slightly cleaner. Review URL: https://codereview.chromium.org/1846083002
2016-03-31Remove IXFA_* interfaces.dsinclair
This CL removes the IXFA_* interfaces which are: - Implemented once. - Not implemented by an fpdfsdk class. This requires making a few classes visible to fpdfsdk so we can have the correct instances available instead of the IXFA types. Review URL: https://codereview.chromium.org/1846993002
2016-03-31Move the fpdfsdk/include/javascript folderdsinclair
This CL splits the IJavaScript.h file into the two inner classes and puts them in the fpdfsdk/javascript folder. Review URL: https://codereview.chromium.org/1847583004
2016-03-31Split core/include/fpdfdoc/fpdf_ap.hdsinclair
This CL splits the fpdf_ap.h file apart into individual pieces and moves the implementations to their own CPP files. Review URL: https://codereview.chromium.org/1840413002
2016-03-31Re-enable all the windows warnings except 4267weili
The code is changed or had been changed to no longer generate these warnings. It is safe to re-enabled these warnings. In this code change, we fixed some code which generates warnings 4018 (signed/unsigned mismatch) and 4146 (unary minus operator applied to unsigned type, result still unsigned). Warning 4333 (right shift by too large amount, data loss) and 4345 (an object of POD type constructed with an initializer of the form () will be default-initialized) are no longer generated. The same setting is applied and verified for GN build as well. BUG=pdfium:29 Review URL: https://codereview.chromium.org/1849443003
2016-03-31Beef up unit test for CFX_ByteString and CFX_WideString.tsepez
Needed to validate refactoring which was reverted. Review URL: https://codereview.chromium.org/1847193002
2016-03-31Revert "Use CFX_RetainPtr to ref count CFX_ByteString"chromium/2700chromium/2699chromium/2698chromium/2697tsepez
This reverts commit ac88953dfa7c1a68c69989d61d7bc03c0595064b. Reason for revert: Strings borked. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1852453004
2016-03-31Fix BUILD.gn file name.avallee
Typo in 'cfwl_widgetproperties.cpp'. BUG=599526 Review URL: https://codereview.chromium.org/1851543002
2016-03-31Fix CData parsing in CFDE_XMLSyntaxParser.dsinclair
This CL splits the handling of CData sections out to an individual phase of the parser. This fixes the issue with the CData parser getting confused by < characters inside the data section. BUG=pdfium:90 Review URL: https://codereview.chromium.org/1842633004
2016-03-30Fix C4434 warning about 32-bit shift assigned to 64-bitsBruce Dawson
VS 2015 has a new or louder warning about 32-bit shifts that are then assigned to a 64-bit target. This type of code triggers it: int64_t size = 1 << shift_amount; Because the '1' being shifted is a 32-bit int the result of the shift will be a 32-bit result, so assigning it to a 64-bit variable is just misleading. In this case the code that triggers it is this: m_IAID.resize(1 << SBSYMCODELEN); The destination is a size_t so the warning only shows up on 64-bit builds and doesn't indicate a real bug. But, casting the '1' constant to size_t makes the behavior/intent more obvious and consistent and allows enabling C4334 in Chromium. BUG=593448 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1843253002 .
2016-03-30Use CFX_RetainPtr to ref count CFX_ByteStringchromium/2696tsepez
This moves the reference counts from an ad-hoc mechanism to being automatically tracked. Also: Make StringData::Create() always return non-null. Add better ctors for StringData itself. Consolidate copies into StringData methods. Simplify the concat() code. Rename/reorder some parameter names to be simpler. Review URL: https://codereview.chromium.org/1810823002
2016-03-30Move mac_find_sdk out of gyp directoryweili
Gyp directory is used by a separate repository. Files in that directory may be ignored by some commands. Move it back into pdfium repository. BUG=pdfium:442 Review URL: https://codereview.chromium.org/1835943005
2016-03-30Rename _CPDF_UniqueKeyGen to CPDF_UniqueKeyGendsinclair
Review URL: https://codereview.chromium.org/1841313004
2016-03-30Replace FXJSE_DOUBLE with doubledsinclair
FXJSE_DOUBLE was just defined as double. Replace with actual type to make things clearer. BUG=pdfium:81 Review URL: https://codereview.chromium.org/1842013003
2016-03-29Re-enable warning 4005 and remove _CRT_SECURE_NO_WARNINGSWei Li
The macro _CRT_SECURE_NO_WARNINGS is no longer needed for chromium code as pdfium code itself is warning free; For standalone build, the macro may suppress warnings from third party code. But it has no use now as it is shadowed by disabled 4996 warnings. This is one of the efforts to re-enable warnings for pdfium code. BUG=pdfium:29 R=brucedawson@chromium.org Review URL: https://codereview.chromium.org/1836443002 .
2016-03-29Remove IFDE_XML* classes.dsinclair
The CFDE_XML* classes did not inhert from the IFDE_XML variants but we casted to them anyway. This CL removes the IFDE_XML* variants and we just use the CPDF_XML* classes directly. BUG=pdfium:357 Review URL: https://codereview.chromium.org/1836353002
2016-03-29Code change to avoid signed/unsigned mismatch warnings.Wei Li
This makes pdfium code on Linux and Mac sign-compare warning free. The warning flag will be re-enabled after checking on windows clang build. BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1841643002 .
2016-03-29Add a Retained Pointer smart class.tsepez
It's going to be hard to fix some XFA object leaks without this. Put this in fxcrt/ as we should be able to make the FX strings take advantage of this. BUG=pdfium:55 Review URL: https://codereview.chromium.org/1805683002
2016-03-29Rename GetElementValue() to GetDirectObject{By,At}().tsepez
Every time I read this code, I have to make the mental substituion that "Element value" means "de-ref indirect object", so it might as well just say so. BUG= Review URL: https://codereview.chromium.org/1841173002
2016-03-29Move xfa/include/fwl/{theme,lightwidget} to xfa/fwldsinclair
This CL moves and splits the remaining FWL files out of xfa/include and into their proper locations. Review URL: https://codereview.chromium.org/1834323003
2016-03-29Add test for util.byteToChar() and fix error msg.tsepez
Review URL: https://codereview.chromium.org/1838543002
2016-03-28use std::vector in more places in JavaScript bindings code.tsepez
use unique_ptrs for app:m_Timers. BUG= Review URL: https://codereview.chromium.org/1834203002
2016-03-28Added test for util.printx() and make it match spec.tsepez
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1837543002
2016-03-28Cleanup one mac headerWei Li
Remove unimplemented/unused class, and other cleanup R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1834063002 .
2016-03-28Reduce signed/unsigned comparison warningsWei Li
The warnings generated by Clang. This is part 1 for some simple cases. BUG=pdfium:29 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1840483003 .
2016-03-25Remove FX_DWORD from core/ and delete definitionchromium/2695chromium/2694chromium/2693chromium/2692tsepez
Review URL: https://codereview.chromium.org/1832173003
2016-03-25Fix FXSYS_StrToInt()Wei Li
Correctly handle sign and out of range values. R=dsinclair@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1828873002 .