summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2016-04-18Make FWL_CornerEnlarge a constdsinclair
This CL changes the FWL_CornerEnlarge define into a const value in the anonymous namespace. Review URL: https://codereview.chromium.org/1896923002
2016-04-18Remove unused FWL Panel code.dsinclair
This code was used to subclass Form only, the one method in Panel is overridden in Form. Review URL: https://codereview.chromium.org/1899743002
2016-04-18Fold the FWL NoteThread classes up to the Thread classes.dsinclair
The NoteThread classes only contained one member and don't provide any added clarity. This CL moves the NoteDriver up to the Thread classes and removes the NoteThread classes. Review URL: https://codereview.chromium.org/1887703003
2016-04-15Avoid narrowing of strings in FWL SetEditText methods.tsepez
Review URL: https://codereview.chromium.org/1892813004
2016-04-15Renable warning 4701 for GN (Windows).chromium/2712chromium/2711chromium/2710Oliver Chang
Partially reverts https://codereview.chromium.org/1885093002 R=tsepez@chromium.org TBR=tsepez@chromium.org, weili@chromium.org Review URL: https://codereview.chromium.org/1893743002 .
2016-04-15Remove unused IFDE_CSSStyleSheetCache/CFDE_CSSStyleSheetCache.tsepez
Review URL: https://codereview.chromium.org/1896553004
2016-04-15Avoid narrowing to StringC in CPDF_Name and CPDF_NameTreetsepez
Remove redundant CPDF_Name constructors given promotion rules. Rework one char* in CPDF_PageContentGenerator. Review URL: https://codereview.chromium.org/1890973006
2016-04-15Prevent a potential OOB read in TranslateImageLine.ochang
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 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1892143003
2016-04-15Pass WideStrings without narrowing to c_str in javascript/tsepez
Avoid string duplication when the caller already has one. Review URL: https://codereview.chromium.org/1883273003
2016-04-15Use platform specific test results as fallback in difference testsweili
So far, we have only two Windows tests require to use platform specific test results due to platform idiosyncracies. However, VS2015 has fixed those issues. So in general, We only need to use platform based results if checking against the regular results failed. Review URL: https://codereview.chromium.org/1892013003
2016-04-14Explicity use CFX_ByteStrings in a couple of placestsepez
These are exposed by making the ByteString from ByteStringC ctor explicit, but we can clean them up independently. Review URL: https://codereview.chromium.org/1884363002
2016-04-14Simplify XFA event handling.thestig
- Avoid casting to void* - Don't bother firing events that no one listens for Review URL: https://codereview.chromium.org/1890563003
2016-04-14Avoid string allocs for CMap_GetString() return value.tsepez
StringC's are all that's needed here. Also CMap_GetString() and GetCode() are side-effect free, so remove calls where the value is not used. Review URL: https://codereview.chromium.org/1889003002
2016-04-14Still more comments about stringstsepez
TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1888843004
2016-04-14Update comments about string constructorstsepez
TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1887003003
2016-04-14Change string argument type to GetFormatDataValue.tsepez
Avoid string duplication, since the first thing these routines do is allocate a new string from the static string argument. Review URL: https://codereview.chromium.org/1889983002
2016-04-14Pass CFX_WideString to CXFA_FFDocView::GetWidgetByName.tsepez
Avoids downgrade followed by duplication of existing strings. Review URL: https://codereview.chromium.org/1891673003
2016-04-14Avoid needless construction of CFX_ByteStrings during string buildingtsepez
There are perfectly fine operators for adding to an existing string without first duplicating the arguments. Review URL: https://codereview.chromium.org/1891953002
2016-04-14Rename CFX_ByteTextBuf::GetByteString() to AsStringC().tsepez
Do the same for CFX_WideTextBuf as well. The name is confusing because these return CFX_ByteStringC, not CFX_ByteString. The AsStringC naming gives parallelism with the string types themselves, and may help to indicate that the result is only good for the lifetime of the object being operated upon. Review URL: https://codereview.chromium.org/1886263003
2016-04-14Make CPDF_ApSettings take CFX_ByteString args.tsepez
These are immediately used to access a dictionary, so the use of static CFX_ByteStringCs may force duplicate allocations. BUG= Review URL: https://codereview.chromium.org/1888893002
2016-04-14Make CPDF_Dictionary methods take CFX_ByteString argumentstsepez
This will help avoid duplicate allocation of CFX_ByteStrings when the caller already has one. It may seem counter-intuitive that requiring the caller to pass an allocated CFX_ByteString rather than a static CFX_ByteStringC would improve the situation, but due to the idiosyncrasies of std::map, the CPDF_Dictionary methods must always do an allocation under the covers which can't be avoided. The changed callers in this CL are places where we would previously demote to CFX_ByteStringC and then allocate a a duplicate CFX_ByteString in the dictionary method. Review URL: https://codereview.chromium.org/1889863002