summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-25Pass CFX_*StringCs to FX_HashCode_GETA and _GETW hash functions.tsepez
Too many calls were of the form fn(x.c_str(), x.GetLength()) which is an anti-pattern given the StringC classes which tie these together. There are a few places where explicit CFX_*StringCs are constructed, but this can be avoided by changing the args to these functions in the same manner. Removed String_ from name of functions since it added little value. Also removed default argument. Review URL: https://codereview.chromium.org/1919563002
2016-04-25Combine the javascript and pixel test runners.dsinclair
These runners are very similar in their implementation. Combine them into a single test runner. Corpus will, hopefully, be combined into this test runner in the future. Review URL: https://codereview.chromium.org/1906803005
2016-04-25Standalone GN on macdsinclair
Without the mac_deployment_target_build_override variable in build.gni the following error is produced. ERROR at //build/config/mac/mac_sdk.gni:17:27: Undefined identifier mac_deployment_target = mac_deployment_target_build_override ^----------------------------------- Added needed gtest/gtest_mac.* files. BUG=pdfium:106 Review URL: https://codereview.chromium.org/1907193002
2016-04-22Change the code to avoid three unit test failures on release buildweili
We have three failed unit tests -- FX_AllocOverflow(), FX_AllocOverflow2D(), and FX_TryAllocOverflow() on Linux and Mac release builds, because Clang aggressively optimizes the code. Adding some usage of the return value of a function can avoid the function being optimized away by Clang. Review URL: https://codereview.chromium.org/1915693002
2016-04-22Add a simple check for V4 cross reference tableweili
Some unknown software generates cross reference table with the claimed object numbers are all off by one. Add a simple verification function to detect this scenario, thus have a chance to rebuild the correct cross reference table. To avoid unnecessary checks and potiential performance hit, we only check for the very first non free entry. BUG=602650 Review URL: https://codereview.chromium.org/1910063004
2016-04-22Remove CFX_MapPtrTemplate usage in fsdk_baseform.cpptsepez
Replace one instance with std::map. Remove another instance that is never inserted into. Review URL: https://codereview.chromium.org/1919433002
2016-04-22Fix standalone mac builddsinclair
Missing default statement in the switch. Duplicated the method signature on both sides of the #ifdef to make it clearer what was going on. Review URL: https://codereview.chromium.org/1905303003
2016-04-22Remove #ifdef platform which is always true.tsepez
fx_system.h errors out during compile if _FXM_PLATFORM_ is not one of the four values tested in the ifdef. Remove duplicated code, and use unique_ptr for cleanup. Review URL: https://codereview.chromium.org/1912023002
2016-04-21Remove next batch of CFX_ arrays from fpdf_edit_doc.cpptsepez
Review URL: https://codereview.chromium.org/1904303002
2016-04-21Remove more CFX_ArrayTemplate from fpdf_edit_doc.cpptsepez
Review URL: https://codereview.chromium.org/1909213002
2016-04-21Remove one warning from PDFium compilation in Crosweili
The original code caused an optimization warning when gcc tries to get rid of 'count > m_Length - index' in CFX_ByteStringC::Mid() while assuming there is no signed integer overflow. This could also be avoided once FX_STRSIZE is no longer a signed integer type. Review URL: https://codereview.chromium.org/1906213002
2016-04-21Replace CFX_ArrayTemplate with std::vector in CPDF_ObjectStreamtsepez
Replace two parallel arrays with an array of pairs. Several methods always returned same value, make void instead. Review URL: https://codereview.chromium.org/1908153002
2016-04-21Remove unused CFX_IntArray.tsepez
The only place its used, elements are added to it but the array is not used otherwise. Review URL: https://codereview.chromium.org/1906133002
2016-04-21Remove IFDE_CSSTagProvider.dsinclair
There is only one subsclass, use that instead. Remove the use of WideStringC in the API. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1911843002
2016-04-21Remove CFWL_Note.dsinclair
This CL removes the CFWL_Note class. The two subclasses, CFWL_Event and CFWL_Message are distinct types and should not be related by the subclass. The code has been updated to pass the correct types as needed. The various FWL_EVTHASH and FWL_MSGHASH defines have all been removed and turned into an FWL_EventType and FWL_MessageType enum classes. BUG=pdfium:474 Review URL: https://codereview.chromium.org/1901183002
2016-04-21Add a missing initialisation for CPDF_ContentMarkItem.chromium/2717chromium/2716chromium/2715ochang
R=dsinclair@chromium.org BUG=chromium:605491 Review URL: https://codereview.chromium.org/1910143002
2016-04-21Replace CFX_RectArray with std::vector<CFX_FloatRect>tsepez
Use RVO now that we use an array type compatible with it. Review URL: https://codereview.chromium.org/1906903002
2016-04-21Make CFX_BasicArray non-copyable.tsepez
Its implicit copy constructor is unsafe, since it ends up sharing the underlying data. Fix one place where it was being unintentionally invoked. Review URL: https://codereview.chromium.org/1908073003
2016-04-21Remove CFX_ArrayTemplate from fpdf_parser_decode.cpptsepez
Replace two parallel arrays with single array of pairs. Review URL: https://codereview.chromium.org/1911673002
2016-04-21Assert that CFX_ strings are pointer-size.tsepez
The principle has been implicit in the implementation, but make it obvious for future generations. Review URL: https://codereview.chromium.org/1904143002
2016-04-21Cleanup FDE interfaces.dsinclair
This CL removes IFDE_TextOut, IFDE_Path, IFDE_RenderContext, IFDE_RenderDevice, and IFDE_VisualSetIterator in favour of the concrete classes. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1896893003
2016-04-21Only call shading code with streams.dsinclair
There are 4 types of meshes that attempt to convert the shading object into a stream. According to spec (section 8.7.4.1 table 76), the shading object can be a stream or a dictionary. All of this shading code assumes it can load the mesh from a stream. The original code just early exited if it was not a stream. We skip the call if it is not a stream. BUG=pdfium:481 Review URL: https://codereview.chromium.org/1908903003
2016-04-21Remove CFX_ArrayTemplate from CPDF_LinkExtracttsepez
Use unqiue_ptrs while we're at it, also better ctor. Review URL: https://codereview.chromium.org/1896303002
2016-04-21Pixel tests are all generated, not .pdf filesdsinclair
The font_size.pdf file should not have been committed as it will be generated at test time from the .in file. Review URL: https://codereview.chromium.org/1908613004
2016-04-21Remove unused FWL flagsdsinclair
No usages, removed. Review URL: https://codereview.chromium.org/1903993003
2016-04-21Convert some FWL defines to enums.dsinclair
This CL converts FWL_WGTCAPACITY_* defines to the CFWL_WidgetCapacity enum class. The FWL_PART_* defines to the FWL_Part enum class and the FWL_PartState_* defines to an enum. Review URL: https://codereview.chromium.org/1898713003
2016-04-20Remove duplication.dsinclair
The GN information got accidentally dup'd in the DEPS file. BUG=pdfium:106 Review URL: https://codereview.chromium.org/1899193006
2016-04-20Inline CFX_WideString::c_str.dsinclair
This was causing issues at one point with the GN build but seems to have been resolved in the meantime. Review URL: https://codereview.chromium.org/1907563002
2016-04-20Upgrade build and clang.dsinclair
The issue with //testing/multiprocess_func_list has been fixed in upstream //build. This Cl upgrades //build to ToT. In order to do so clang must also be updated. The Wno-undefined-var-template is only passed if the pinned clang revision isn't 266460, which is the currently pinned clang revision in chromium. This is there so that the bot that builds with trunk clang gets this flag, but pinned clang doesn't. We accidentally pickup the flag since our pinned clang is different from the Chrome version. So, we must always roll //build and clang together when changing deps or bad things may happen as there is an implicit dependency due to compile flags. BUG=pdfium:106 Review URL: https://codereview.chromium.org/1911483002
2016-04-20Standalone GN build.dsinclair
This CL setups up a standalone GN build. You'll need to set gn args similar to: use_goma = true clang_use_chrome_plugins = false pdf_enable_xfa = true pdf_enable_v8 = true pdf_is_standalone = true The third_party/pymock files are needed to make git cl upload work correctly. BUG=pdfium:106 Review URL: https://codereview.chromium.org/1904563002
2016-04-20Remove build/ directory.dsinclair
In anticipation of putting the Chromium //build directory here, remove the remaining files from the build/ directory. Everything should be working off of build_gyp/ at this point. BUG=pdfium:106 Review URL: https://codereview.chromium.org/1908433003
2016-04-20Revert of Re-Reland Combined test runner. (patchset #4 id:80001 of ↵dsinclair
https://codereview.chromium.org/1888673003/ ) Reason for revert: Dr.Memory code is wrong..... Original issue's description: > Re-Reland Combined test runner. > > Original Commit Message: > > This CL revives the old CL to combine the test runners [1] which was reverted > due to failing font_size tests. I've deleted the font_size.pdf as it is not > needed and for testing. Pixel tests are either .in or .pdf files, not both. > > Original description: > This CL takes the three test runners (corpus, javascript, pixel) and combines > the code into a single test_runner file. Each of the individual runners still > exists and calls the test runner with their data directory. > > With this change, the pixel and javascript test will now run in parallel if > multiple processors are available. > > 1-https://codereview.chromium.org/1430623006/ > > BUG= > > Committed: https://pdfium.googlesource.com/pdfium/+/84b26ec6ba8193235ce0df817dec5c0f1da29841 TBR=ochang@chromium.org,zhaoqin@chromium.org,tsepez@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1898353004
2016-04-20Cleanups from prior CLs.dsinclair
This cleans up the Initialize methods and the ownership in CPDF_Creator. Review URL: https://codereview.chromium.org/1902713003
2016-04-20Re-Reland Combined test runner.dsinclair
Original Commit Message: This CL revives the old CL to combine the test runners [1] which was reverted due to failing font_size tests. I've deleted the font_size.pdf as it is not needed and for testing. Pixel tests are either .in or .pdf files, not both. Original description: This CL takes the three test runners (corpus, javascript, pixel) and combines the code into a single test_runner file. Each of the individual runners still exists and calls the test runner with their data directory. With this change, the pixel and javascript test will now run in parallel if multiple processors are available. 1-https://codereview.chromium.org/1430623006/ BUG= Review URL: https://codereview.chromium.org/1888673003
2016-04-20fix issue of Heap Use-After-Free in CXFA_LayoutItem::AddChildjinming_wang
BUG=chromium:590711 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1901013002 .
2016-04-19Re-enable warning 4701 for GN (re-land)weili
Remove one left warning from GN Release build. Review URL: https://codereview.chromium.org/1904473003
2016-04-19Remove a few more char* members from structs/classes.tsepez
This is a result of looking for the anti-paterns /char\*\sm_/ and /m_.*=.*\.c_str/ which indicate that a class may be using the contents of a string without extending the lifetime of the underlying storage. Along the way, change to uint8_t in fx_dib; this is unrelated but avoids grep hits (it is binary, not chars anyways). Also remove two string operators that make it easy to assign in a manner that does not extend contents lifetime. Review URL: https://codereview.chromium.org/1902953002
2016-04-19Fix path in BUILD.gn file.chromium/2714chromium/2713pcc
Unbreaks the build when pdf_enable_xfa=true. BUG= R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1898313002
2016-04-19Store WideString, not raw pointer, in FX_TXTRUNtsepez
Storing raw pointers in structs is a questionable idea, given that we've got string classes to auto-manage lifetimes of the underlying storage. Also, return FX_TXTRUN while we're at it, since we count on RVO removing copies nowadays. BUG=pdfium:480 Review URL: https://codereview.chromium.org/1900743004
2016-04-19Move build/ to build_gyp/.dsinclair
This CL moves the build/ files to build_gyp/ in anticipation of pulling in Chromiums build/ directory. The gyp_pdfium files have been duplicated into both places. Once the bots are updated we'll remove the build/ versions. BUG=pdfium:106 Review URL: https://codereview.chromium.org/1900913003
2016-04-19Remove IPDF_TextPage, IPDF_TextPageFind and IPDF_LinkExtract interfaces.dsinclair
Each was only used by one subclass. Removed and used the concrete classes. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1897993002
2016-04-19Remove fullscreen code.dsinclair
The FWL_SetFullScreen() method is never called, remove and all the supporting fullscreen code. Review URL: https://codereview.chromium.org/1902083002
2016-04-19Remove IPDF_CryptoHandler and IPDF_SecurityHandler.dsinclair
This CL replaces the interfaces with the concrete classes. The concrete classes are also renamed to remove the Standard from their names. BUG=pdfium:468 Review URL: https://codereview.chromium.org/1898173002
2016-04-19XFA unused function cleanupdsinclair
This CL removes a series of unused XFA methods. Review URL: https://codereview.chromium.org/1899103002
2016-04-18Exclude XFA-only corpus from non-xfa and roll corpus.tsepez
Test still need modification to process input events. For now, we just suppress anything that diffs. Review URL: https://codereview.chromium.org/1894083003
2016-04-18Allow pdfium_test to send simple events to each page.tsepez
We add the --send-events flag, which causes pdfium_test to look for a .evt file with the same base name as the .pdf file being rendered, and to use its contents to drive calls to FORM_* APIs. The .evt file syntax is crude, roughly: # comments keycode,65 mousedown,right,300,300 # more comments mouseup,right,300,300 mousemove,300,300 Review URL: https://codereview.chromium.org/1898993002
2016-04-18Use the same Clang revision as v8 usesweili
Roll Clang revision to the same one as v8 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1900603004
2016-04-18Revert "Use the same Clang revision as v8 uses"weili
Reason: a wrong patch got submitted. This reverts commit 07af99b822588c5d6bab7cbf548c756346352184. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1895263002
2016-04-18Use the same Clang revision as v8 usesWei Li
Roll Clang revision to the same one as v8 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1900603004 .
2016-04-18Use lkgr revision of Clang for PDFiumweili
Recent change of Clang (https://codereview.chromium.org/1879753002) invokes GetVSVersion() which imports vs_toolchain which PDFium has not used yet. This breaks our bots. Now we pinned Clang to last good version. We can either change back to use Tot Clang after we have toolchain utility, or we can roll Clang periodically. Review URL: https://codereview.chromium.org/1900823002