summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-09Pass IJS_Runtime, not IJS_Context, to native object constructors.Tom Sepez
This better separates the two IJS_ classes, with the IJS_Context taking on its proper role of describing an event. There's no need for the event details for object creation, so this gets much cleaner. Move some JS error reporting code from CJS_Context to CJS_Runtime. Make InitInstance() and ExitInstance() voids, they always return TRUE and we never check the result anyways. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1389163007 .
2015-10-09Allow compiling PDFium without V8.Tom Sepez
Original patch from issue 1391843004 at patchset 1 (http://crrev.com/1391843004#ps1) Introduce a pdf_enable_v8 GYP variable, which controls a corresponding PDF_ENABLE_V8 #define, and bring in the real JS library when set. Otherwise, link against a stub JS runtime. BUG=pdfium:211 R=dml@google.com, jochen@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1395733006 .
2015-10-09Fix a bad refactoring error from commit 8a9ce57.Lei Zhang
BUG=541323 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1400773002 .
2015-10-09Fix a compiling error on MacJun Fang
BUG=497357 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1395493003 .
2015-10-09Fix heap-buffer-overflow in color_sycc_to_rgbJun Fang
It's a bug existing in the conversion from YUV420 to RGB. For YUV 420 format, four pixels have 4 Y but only one U and one V. In some cases, there are odd columns or lines in some images. The pixels on last line or column may have Y but no U or V data. For this case, We shall extend U or V using the data on previous column or line. BUG=497357 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1342683002 .
2015-10-08Minimal revert from commit d03ba8d.Lei Zhang
The values that were changed to size_t can go negative. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1400723002 .
2015-10-08Fix a bunch of sign mismatch warnings.Lei Zhang
Also remove some gotos and move code into an anonymous namespace. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1356373003 .
2015-10-08Fix a malloc/delete mismatch introduced in commit 8a9ce57.Lei Zhang
Just get rid of the malloc altogether and use CJBig2_List instead. BUG=540873 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1394933002 .
2015-10-09Various changes to JBig2 cache:David Lattimore
- Makes the cache be per-document - Keys the cache on ObjNum and stream offset instead of keying on a pointer to the data (which can result in false cache hits). - Makes it so the cache is only used for the globals stream. - Reenable the cache. R=thestig@chromium.org BUG=pdfium:207 Review URL: https://codereview.chromium.org/1380243004 .
2015-10-08Put CJBig2_SymbolDict's images in a CJBig2_List container.Lei Zhang
Also mark it private. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1395613003 .
2015-10-08Wean CJS_Value off of v8::Isolate.Tom Sepez
CJS_Values should belong to CJS_Runtimes so that we may eventually cram much of the v8 dependencies down into fxjs. This is a first step; the remaining split in this code between isolate and CJS_Runtime goes away when fxjs provides a CFXJS_Runtime object, and the CJS_Runtime is-a/has-a CFXJS_Runtime. But that can't happen until this is resolved. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1394103002 .
2015-10-08Relax the check on 0 length streams.chromium/2531Lei Zhang
CPDF_SyntaxParser::ReadStream() originally created stream objects when the length is 0. Commit 2526930 tightened the constraint and returned NULL. This has some adverse affects, as seen in Chromium's print preview of PDFs. Instead, relax the constraint a little so when the length is 0, return a CPDF_Stream with NULL data and size 0. BUG=531835 Review URL: https://codereview.chromium.org/1394743002 .
2015-10-08Remove some dead code from CCodec_Jbig2Module. Variable was only ever set to ↵David Lattimore
false. R=thestig@chromium.org BUG= Review URL: https://codereview.chromium.org/1393153002 .
2015-10-07Rename IFXJS_Runtime and IFXJS_Context to IJS_.Tom Sepez
Nothing but sed. FXJS is a layer that makes it easier to define objects in V8, but has no knowledge of PDF-specific native objects. It could in theory be used to implement other sets of native objects. JS is the layer that implements PDF-specific native objects on top of FXJS. Therefore, the classes used to interface to JS should be named using IJS_. IFXJS_ is reserved for someday adding better API for FXJS iteslf. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1386173002 .
2015-10-07Update README.md to reflect added .png supportTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1391023004 .
2015-10-07Stop inlining CJBig2_BitStream.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1393823002 .
2015-10-07Fix the Windows build after commit 8a9ce57.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1396533002 .
2015-10-07Remove gotos in JBig2 code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1382613003 .
2015-10-07Move build instructions to README.mdJochen Eisinger
That way, they'll be automatically displayed on gitiles BUG= R=andybons@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1378073003 .
2015-10-06Roll DEPS for v8 to 9081ee1.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1391733002 .
2015-10-07Fix include paths for fx_system.hDavid Lattimore
R=thestig@chromium.org BUG= Review URL: https://codereview.chromium.org/1390863002 .
2015-10-06Remove unused global argument from FXJS_CONSTRUCTOR.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1389003003 .
2015-10-06Store object definition ID in each js_class.Tom Sepez
Avoids doing a lookup via FXJS_V8 for something already known in CJS layer. Also: Consolidate repeated code in JS macros. Remove knowledge that Document is global from FXJS layer R=thestig@chromium.org Review URL: https://codereview.chromium.org/1382263002 .
2015-10-06Run FXJS_V8 embedder tests against a shared isolate.Tom Sepez
Start to back-fill some tests for the recent isolate work. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1377293004 .
2015-10-06Make the vast majority of JS headers private to src/javascript.Tom Sepez
The fpdfsdk/include/javascript/IJavascript.h is the sole API. This required moving a creaton method to it from JS_Runtime. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1389783002 .
2015-10-05Fix regression in JBIG2 decoding from commit ce37d73.chromium/2530chromium/2529Lei Zhang
many callers can tolerate CJBig2_ArithIntDecoder::decode() OOB failure. BUG=539749, pdfium:209 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1384663007 .
2015-10-05Remove JavaScript.hTom Sepez
It merely includes a bunch of other .h files which are handled better since we fixed IWYU. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1385983002 .
2015-10-05Original patch by forshaw.Tom Sepez
Added a fallback Win32 font information class for win32k lockdown. This is to support running PDFIUM within the Win32k lockdown by removing dependancies on USER32/GDI for the font information code. It falls back to using a freetype/directory enumeration implementation if it detects the win32k system calls have been disabled by policy. BUG=523278 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1306883002 .
2015-10-05Disable JBIG2 cache; prevent data corruption - try 2.Lei Zhang
Also change CJBig2_SymbolDict::DeepCopy() to return a unique_ptr to prevent a potential leak if the cache size was 0. BUG=pdfium:207 R=tsepez@chromium.org, jbreiden@google.com Review URL: https://codereview.chromium.org/1374633004 .
2015-10-04Fix a leak with g_DefaultGlobalObjectTemplate.chromium/2528Lei Zhang
As seen when running FXJSV8Embeddertest.Getters. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1380993003 .
2015-10-04Remove pointless CPDFSDK_PageView usage in CJS_Object / CJS_EmbedObj.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1374723004 .
2015-10-04Only call DefineJSObjects() once for the global V8 isolate.Lei Zhang
BUG=539106 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1386823002 .
2015-10-04CJS_Timer should observe CJS_Runtime destruction.Lei Zhang
Also remove dead CJS_EmbedObj::{Begin,End}Timer code. BUG=539107 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1384883002 .
2015-10-03Fix NULL pointer dereference in CPDF_InterForm.Lei Zhang
BUG=537772 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1387703002 .
2015-10-03Refcount external V8 isolate initialization / release.chromium/2527Lei Zhang
BUG=531339 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1377463005 .
2015-10-02Pass v8::Isolate to PDFium at init time.Tom Sepez
Move the external isolate and embedder slot from the IPDF_JSPlatforms struct supplied at the FPDFDOC_InitFormFillEnvironment() call time to arguments to the FPDF_InitLibraryWithConfig() call. This has several benefits: -- Avoids the crash that could happen if multiple FPDFDOC_InitFormFillEnvironmen() calls should happen to be made by an embedder with different slot values. -- Down the road, for XFA, there may be XFA but no FormFill environment. We support both forms for the time being, until the chrome side catches up, at which point we will deprecate the old way. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1367033002 .
2015-10-02Do not call into formfiller code with a NULL PageView.Lei Zhang
BUG=537173 R=jun_fang@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/1376093002 .
2015-10-02Get rid of gotos in CPDF_SyntaxParser and FlateUncompress().Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1360103002 .
2015-10-02Prevent divide by zeros in CJBig2_GSIDProc::decode_MMR().Lei Zhang
Check the image size before attempting to decode. BUG=538103 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1377493005 .
2015-10-02Fix a leak in PDF_DataDecode() on failure.Lei Zhang
Found using the test examples from https://crbug.com/537780 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1376413003 .
2015-10-02Turn a couple functions that always return true to return void.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1386463003 .
2015-10-02Fix PNG decoding divide by zero error due to zero row count.Lei Zhang
BUG=537790 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1379243002 .
2015-10-02Correct mistakes in test case for 507316Tom Sepez
Original patch by chamalsl. Trailer size in bug_507316 was wrong. embedder_test.cpp's GetPageTrampoline passed null parameter. It will affect future test cases even if it does not affect this. BUG=507316 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1377403003 .
2015-10-01Fix static initializer in fxjs_v8.cppTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1372103004 .
2015-10-01Disable JBIG2 cache; prevent data corruptionLei Zhang
BUG=pdfium:207 Original author: jbreiden@google.com Original CL: http://codereview.chromium.org/1362133003/ R=jbreiden@google.com Review URL: https://codereview.chromium.org/1382073002 .
2015-10-01Clean up some image decoder classes:Lei Zhang
- Use std::vector<uint8_t> instead of raw uint8_t* - Make ICodec_ScanlineDecoder::GetScanline() return const uint8_t* - Add FxFreeDeleter, use it in CCodec_ImageDataCache. - Make CCodec_ImageDataCache encapsulate its data members. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1361053002 .
2015-10-01Cleanup JBig2_ArithIntDecoder.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1359013003 .
2015-10-01Revert "Leak per-isolate data in pdfium"Raymes Khoury
This reverts commit 3e144b8c23d7c52ed36329e87f0cb01f38ec1ed7. This may be causing the failures seen in crbug.com/537799. BUG=537799 Review URL: https://codereview.chromium.org/1382433003 .
2015-09-30Add signatures to FXJS_V8.Tom Sepez
BUG=chromium:529012 R=jochen@chromium.org, krasin@google.com Review URL: https://codereview.chromium.org/1353193004 .
2015-09-30Leak per-isolate data in pdfiumchromium/2525chromium/2524Raymes Khoury
Right now we're freeing per-isolate data everytime a document is destroyed even though it may be in use by other documents. For now we leak the per-isolate data until crbug.com/531339 is fixed. BUG=531339 R=jochen@chromium.org Review URL: https://codereview.chromium.org/1372353002 . Patch from Raymes Khoury <raymes@chromium.org>.