summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-09-15Implement FPDFAction_GetFilePath().Lei Zhang
The API is the same as the Foxit version, except the encoding is specified as UTF-8 instead of local encoding. Also remove CPDF_LWinParam since it's unused. BUG=chromium:517713 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1335373002 .
2015-09-15Fix build broken at 09ed30750282Tom Sepez
Wrong parameter set to nullptr during one of the CL revisions. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1344483005 .
2015-09-15Refactor fxjs_v8 and add embeddertests for it.Tom Sepez
This forces the layer defined by fxjs_v8.h to be (more) self-contained, so that it can be tested apart from the CJS_* objects (in fpdfsdk/{src,include}/javascript. This implies the array buffer allocator must be part of fxjs_v8. One wrinkle is that we'd like to be able to test an isolate upon which no native objects have been added, so some initialization that would have occurred as part of object definition must be made explicit. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1338073002 .
2015-09-15Fix build broken at ac8fda05418b on windowsTom Sepez
|constexpr| not supported on windows. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1347723002 .
2015-09-15Add move ctor to nonstd::unique_ptr.Tom Sepez
R=jyasskin@chromium.org Review URL: https://codereview.chromium.org/1338383002 .
2015-09-15Cleanup JBig2_GeneralDecoder.cpp.Lei Zhang
- FX_Alloc() can't fail and return. - Use unique_ptr / remove gotos. - NULL -> nullptr. - Combine common code. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1337823003 .
2015-09-15Cleanup: Fix a typo. s/Processive/Processing/Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1338573002 .
2015-09-15Add a missing #include that's needed for call to FXSYS_tolower.David Lattimore
BUG= R=thestig@chromium.org Review URL: https://codereview.chromium.org/1329343002.
2015-09-14Get CJS_RuntimeFactory out of the CJS_GlobalData management business.Tom Sepez
First part of getting rid of CJS_RuntimeFactory. The factory design pattern isn't appropriate here since we only ever make one kind of object. CJS_GlobalData is now perfectly capable of managing itself through internal ref counts. I'm philosophically opposed to keeping ref-counts outside the object (do you hear me std::shared_ptr, you're bad!) R=thestig@chromium.org Review URL: https://codereview.chromium.org/1338993005 .
2015-09-11Convert some unneeded gotos into returns.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1332193002 .
2015-09-11Cleanup casting of FX_Alloc() return values.Lei Zhang
Also convert some FX_AllocOrDie() calls to FX_Alloc(). R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1332173002 .
2015-09-11Fix strings, remove stringify macros, void return types for Consts.h.Tom Sepez
Replace multiple #defines of the same strings with externs. Fix strings mangled by interaction of # and clang-format. Remove macros as possible. Make more JS_ functions void and simplify. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1342433002 .
2015-09-11Rename Init methods to more accurately describe purposeTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1335763002 .
2015-09-10Guard against null image data in CJBig2_GRRDProc.chromium/2509chromium/2508Lei Zhang
Credit to karl at skomski.com for the initial version of the CL. BUG=527174 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1305033006 .
2015-09-10Remove CJBig2_Object, CJBig2_Module, and friends.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1326953006 .
2015-09-10Remove some abstractions in fxjs_v8.h.Tom Sepez
It's too hard to keep mapping between v8 and fx abstractions; the lack of transparency prevents those skilled in v8 only from working on this code. Apparently, the original intention was to confine v8 types to fpdfsdk/{include,src}/jsapi, but fpdfsdk/{include,src}/javascript is already well-polluted with v8 types. Also remove no-op JS_SetThisObj(). Also remove unused ParserParams() [noticed because it was incorrectly passing handles as pointers]. Also remove cast operator from CJS_Runtime and call GetIsolate() explicitly. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1332973002 .
2015-09-10Fix JS_GetArrayElement to not return an empty handle on successchromium/2507Jochen Eisinger
BUG=chromium:528376 R=ulan@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1337433002 .
2015-09-10Resolve bad cast to CJS_EventHandlerfoxit
At line 2026 in pdfsdk/src/javascript/PublicMethods.cpp, the writer wants to perform type cast like line 2027 but he made a mistake to make type conversion on m_pValue. Even at line 2027, it's redundant to make type conversion. The returned type of pContext->GetEventHandler() is CJS_EventHandler*. BUG=529310 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1325753007 .
2015-09-09Remove existing generated images before running a test.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1314443007 .
2015-09-09Fix heap use after free in CPDFSDK_Annot::GetPDFAnnot.Tom Sepez
Use two seperate loops to kill current focus annot and to release annots in current page. Loop to kill current focus annot is run first, so it will not access deleted annots. BUG=507316 R=tsepez@chromium.org TEST=Reproduction steps mentioned in issue 507316 should not crash chrome. Unit test added to pdfium. Run pdfium_embeddertests.exe. Review URL: https://codereview.chromium.org/1312313006 .
2015-09-09Test files for issue 507316Tom Sepez
Upload pdf test files for codereview 1312313006. BUG=507316 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1325533004 .
2015-09-08Beef up app_props.in and tidy app.cpp.Tom Sepez
Some of the values returned are dubious; capture the current state of affairs. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1317393003 .
2015-09-08Change the JS app.viewerType() return value to "pdfium"Lei Zhang
BUG=pdfium:181 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1331633002 .
2015-09-08Remove unneeded checks for CPDF_Object::GetDict() return values.Lei Zhang
CPDF_Object::GetDict() always returns a valid pointer for dictionaries. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1317733007 .
2015-09-04Fix typos, nits and remove dead code in fpdf_text_int.cpp.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1316643004 .
2015-09-03Remove CJBig2_Module::JBig2_Error and friends.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1327983003 .
2015-09-03Make a bunch of JBig2 classes independent of CJBig2_Object.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1319713003 .
2015-09-03Turn a failing assert into an actual check.chromium/2506chromium/2505chromium/2504chromium/2503chromium/2502chromium/2501Lei Zhang
BUG=522131 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1327913002 .
2015-09-02Change fixup_pdf_template.py to open files in binary mode.Lei Zhang
Fix for the pixel test failure on Windows from commit 870b5b6793fa. Seems to work for me on Windows. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1312493006 .
2015-09-02Remove dead JBig2 code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1328643002 .
2015-09-02Reapply Foxit's libopenjpeg modifications.Lei Zhang
They were lost in commit d53e6fd. BUG=pdfium:168 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1196523002 .
2015-09-01Cleanup dead code in CPDF_DIBSource::LoadJpxBitmap() and friends.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1310603006 .
2015-09-01Remove IPDFSDK_AnnotHandler interface.Tom Sepez
It's pointless to have an abstract interface and its only concrete implementation defined in the same header. We can de-virtualize along the way and get a small savings. Rename CPDFSDK_BFAnnotHandler along the way, since its the only kind of AnnotHandler, and I can't imagine what BF stands for. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1313733013 .
2015-09-01CPDFSDK_MediaActionHandler is unused.Tom Sepez
It's never instantiated, and any pointers to it are always NULL. Also kill an unused arg to CPDFSDK_ActionHandler ctor along the way. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1329583004 .
2015-08-31CJS_Context::compile unusedTom Sepez
This, in turn, allows us to get rid of the DoJob method and its clumsy mode parameter conditional. Add explicit and consts, and remove pointless asserts along the way. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1318543012 .
2015-08-31Fix two issues shown by bug 489995Tom Sepez
- Handle NULL in buffer operator<< under JS mailForm() calls. - Ensure correct type in JS addIcon() calls. BUG=489995 R=brucedawson@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1327473002 .
2015-08-31Move configs out of targets in GN build files.chromium/2500chromium/2499chromium/2498Brett Wilson
I'm trying to disallow this since it's confusing. It looks like it provides scoping for the inner config, but it is actually no different than declaring the config at the top level. For clarify, all configs and targets should be declared at the top level. R=jam@chromium.org Review URL: https://codereview.chromium.org/1328443003 .
2015-08-30Fix infinite loop for objects that reference themselves.Lei Zhang
BUG=pdfium:193 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1306793002 .
2015-08-28Replace signed char with int8_t. Fix Linux ARM build after r7830e9e.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1321883002 .
2015-08-28Check array bounds for opj_dwt_decode_1() and friends.Lei Zhang
Based on an earlier patch by jun_fang@foxitsoftware.com. BUG=450844 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1320443003 .
2015-08-20Fix some -Wmaybe-uninitialized errors.Lei Zhang
- Break up CPDF_DIBSource::DownSampleScanline() into smaller functions. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1287843004 .
2015-08-20Remove a bunch of dead JBIG2 code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1293393002 .
2015-08-19Extern in .cpp file is a code smell, part 2.Tom Sepez
Fixes the remaining issues, except for JBIG2/Skia ... R=thestig@chromium.org Review URL: https://codereview.chromium.org/1298393003 .
2015-08-19Extern in .cpp files is a code smell.Tom Sepez
Part 1. Move to headers so compiler can type check against the definitions. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1299963002 .
2015-08-18Fix mac build after commit e1ce94e.chromium/2497chromium/2496chromium/2495chromium/2494chromium/2493chromium/2492chromium/2491chromium/2489chromium/2488Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1297303002 .
2015-08-18Cleanup CFX_Font a bit.Lei Zhang
- Make methods const. - Make variables non-public. - Remove LoadFile() method. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1293973002 .
2015-08-18Remove unused code warnings found by clang.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1297593005 .
2015-08-18FX_CMapDwordToDword considered harmful.Tom Sepez
Lookups are log(n), but random insertions could result in n^2 behaviour. Replace with maps and sets. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1289703003 .
2015-08-18Remove more dead code from fx_basic.hTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1294683003 .
2015-08-17Clean up IFX_BidiCharLei Zhang
- Replace IFX_BidiChar with just CFX_BidiChar - Document implementation - Change out parameters to pointers - Remove dead code - Add an enum for bidi directions - Move several externs to a header - Add unit tests R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1197643002 .