summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2016-06-20Fix clang_use_chrome_plugin for Mac and Skia buildsweili
These changes are specific to Mac and Skia builds. They are needed for these builds to compile with clang_use_chrome_plugin. BUG=pdfium:469 Review-Url: https://codereview.chromium.org/2081523002
2016-06-20Change func(void) to func()weili
Since PDFium is compiled as C++ code, the void keyword is not needed. BUG=pdfium:519 Review-Url: https://codereview.chromium.org/2084603003
2016-06-20Remove unused CFX_Font members.thestig
Review-Url: https://codereview.chromium.org/2077243002
2016-06-20Another round of fx_ge cleanup.thestig
- Clean up CFX_GEModule. - Remove duplicate #defines in fx_ge.h - Remove IsFontStyleFromCharCode() that always returns true. - Mark a FXTEXT_CHARPOS field as Mac only. Review-Url: https://codereview.chromium.org/2075333002
2016-06-20Fixup LoadImageInfo type checking.dsinclair
The ::DetectImageType method does more then just detecting the image type, it also sets up various needed structures to handle the decoding. Instead of skipping the ::DetectImageType call this CL changes the code to return early if the image check fails. This should allow us to stop working on images which do not match the required data format. BUG=chromium:621094 Review-Url: https://codereview.chromium.org/2085493002
2016-06-16Simplify CPDF_TextPage::FindTextlineFlowOrientation().chromium/2773chromium/2772chromium/2771thestig
Review-Url: https://codereview.chromium.org/2066043002
2016-06-16Remove unused code.dsinclair
This cl removes code that exists but is never called. This includes: * cfwl_formtp * cfwl_widgetdelegate * cfwl_scrollbar * cfwl_theme * cfwl_tooltip * PWL_Label * PWL_ListCtrl * PWL_Signature * PWL_IconList * BC_ResultPoint * BC_CommonPerspectiveTransform * BC_CommonBitSource * BC_PDF417Codeword * fx_codec_flate.h (the .cpp file still exists) Review-Url: https://codereview.chromium.org/2071953002
2016-06-15fix skia buildcaryclark
Add out-of-line implementations to Skia as well. R=weili@chromium.org,dsinclair@chromium.org Review-Url: https://codereview.chromium.org/2072493002
2016-06-15Make code compile with clang_use_chrome_plugin (part IV)weili
This change mainly contains files in fpdfsdk/ directory. This is part of the efforts to make PDFium code compilable by Clang chromium style plugins. The changes are mainly the following: -- move inline constructor/destructor of complex class/struct out-of-line; -- add constructor/destructor of complex class/struct if not explicitly defined; -- add explicit out-of-line copy constructor when needed; -- move inline virtual functions out-of-line; -- Properly mark virtual functions with 'override'; -- some minor cleanups plus removing an unused file and splitting cxfa_eventparam out from fxfa.h BUG=pdfium:469 Review-Url: https://codereview.chromium.org/2062313002
2016-06-14Make code compile with clang_use_chrome_plugin (part II)weili
This change contains files in core directory which were not covered in part I. This is part of the efforts to make PDFium code compilable by Clang chromium style plugins. The changes are mainly the following: -- move inline constructor/destructor of complex class/struct out-of-line; -- add constructor/destructor of complex class/struct if not explicitly defined; -- add explicit out-of-line copy constructor when needed; -- move inline virtual functions out-of-line; -- Properly mark virtual functions with 'override'; -- some minor cleanups; BUG=pdfium:469 Review-Url: https://codereview.chromium.org/2060913003
2016-06-14Clean up CPDF_TextPage.thestig
- Use more enums to better describe return results. - Simplify code. Review-Url: https://codereview.chromium.org/2064223002
2016-06-14Get rid of IPDF_DataAvail.thestig
BUG=pdfium:520 Review-Url: https://codereview.chromium.org/2061973002
2016-06-13Delete Transform1bppBitmap() after commit 2f30766.thestig
It's unused and causing the build to fail. TBR=dsinclair@chromium.org Review-Url: https://codereview.chromium.org/2060743004
2016-06-13Remove default arguments from IFX_RenderDeviceDriver.thestig
Review-Url: https://codereview.chromium.org/2059883004
2016-06-13Make code compile with clang_use_chrome_plugin (part I)weili
This change contains files in core/fpdfapi directory. This is part of the efforts to make PDFium code compilable by Clang chromium style plugins. The changes are mainly the following: -- move inline constructor/destructor of complex class/struct out-of-line; -- add constructor/destructor of complex class/struct if not explicitly defined; -- add explicit out-of-line copy constructor when needed; -- move inline virtual functions out-of-line; -- Properly mark virtual functions with 'override'; -- some minor cleanups; BUG=pdfium:469 Review-Url: https://codereview.chromium.org/2060973002
2016-06-13Optionally skip image type detection in progressive decoder.dsinclair
The progressive decoder will attempt to verify that the provided image type matches the actual image content. We need to disable this check when running the fuzzer in order to target the fuzzing to specific decoders otherwise each fuzzer will end up fuzzing all of the decoders. BUG=chromium:587126 Review-Url: https://codereview.chromium.org/2061733002
2016-06-13Fix CGdiDeviceDriver::DrawLine().chromium/2769chromium/2768chromium/2767thestig
- Do the bounds check before applying the transformation. - Simplify the bounds check. - Fix nits. - Remove some nearby dead code. BUG=108144 Review-Url: https://codereview.chromium.org/2057423002
2016-06-13use pos textcaryclark
Use SkCanvas::drawPosText() to render the whole string rather than drawing glyphs one at a time. R=dsinclair@chromium.org Review-Url: https://codereview.chromium.org/2057343002
2016-06-10[Android] Add support for standalone PDFium gn build on Android.jbudorick
This pulls in the android NDK and catapult, rolls chromium/src/build/, and pulls in two .gni updates. It also fixes a few miscellaneous compile failures in android-specific code. BUG=pdfium:38 Review-Url: https://codereview.chromium.org/2059553002
2016-06-09Clean up fx_codec_tiff.cpp.thestig
Fix regressions from commit 4997b22. BUG=618164 Review-Url: https://codereview.chromium.org/2053573003
2016-06-08Remove redundant casts, part 4tsepez
Review-Url: https://codereview.chromium.org/2053513002
2016-06-08Remove even more const casting from core.tsepez
Make the return types/arguments match reality. Review-Url: https://codereview.chromium.org/2053483002
2016-06-08Add some consts and remove more casts in core/tsepez
Review-Url: https://codereview.chromium.org/2049003003
2016-06-08Set data availablity error.dsinclair
If we have been told we have a hint table, but fail to read the table, set the document status to error instead of just returning. BUG=pdfium:512 Review-Url: https://codereview.chromium.org/2040373003
2016-06-08update skiacaryclark
Update Skia to the last revision that passed the Chrome DEPS roll. This will help green the Skia tree so that future changes to Skia that break PDFium can be detected. R=rmistry@google.com,dsinclair@chromium.org Review-Url: https://codereview.chromium.org/2042403004
2016-06-08Remove implicit CFX_CountedRef::operator T*()tsepez
Explicitly invoke GetObject() method instead. This avoids having code where it looks like non-pointers are assigned to pointers but works due to the cast operator. Review-Url: https://codereview.chromium.org/2045083003
2016-06-07Avoid const-cast in CPDF_Fonttsepez
Introduce a logically const initialization (via mutable members) so that this can happen lazily under const methods. Review-Url: https://codereview.chromium.org/2045033002
2016-06-07Use static_casts for cpdf_type1font bsearch on mac.tsepez
Also sort the static table to be compatible with bsearch(). Review-Url: https://codereview.chromium.org/2047813002
2016-06-07Get rid of NULLs in fpdfsdk/thestig
Review-Url: https://codereview.chromium.org/2031653003
2016-06-07Fix more code which has shadow variablesweili
The code has local variables that shadow struct or class member variables. Also, when this happens, different variable names should be used instead of namespaces. These were discovered by /Wshadow warning flag in Clang. Review-Url: https://codereview.chromium.org/2034253003
2016-06-07Get rid of NULLs in core/thestig
Review-Url: https://codereview.chromium.org/2032613003
2016-06-07Check the hint table exists before using.dsinclair
It's possible for the hint table to not exist event though we have a hint key in the object database. If the table does not exist then return false from CheckHIntTables(). BUG=pdfium:512 Review-Url: https://codereview.chromium.org/2047723002
2016-06-07Verify we have a CJBig2_Image before attempting use.dsinclair
In CJBig2_SDDProc::decode_Arith we will set a SDNEWSYMS value to nullptr if the height or width are 0. With the PDF from the bug, all of the decoders are set to nullptr. Then, we call into CJBig2_TRDProc::decode_Arith and pull out one of the nullptr decoders and attempt to use it, crashing. This CL adds a check that we have a non-null decoder before attempting to use the decoder. BUG=pdfium:511 Review-Url: https://codereview.chromium.org/2048683002
2016-06-07Add missing const to CPDF_Stream::InitStream()tsepez
Review-Url: https://codereview.chromium.org/2044453003
2016-06-06Remove unused PS generation code.thestig
CFX_PSRenderer, IFX_PSOutput, CPSOutput, CPSPrinterDriver. Also reland commit 2d63eaa. Review-Url: https://codereview.chromium.org/2019603002
2016-06-06Get rid of unused android GetHandle() and FPF_HFONTtsepez
git grep FPF_HFONT git grep '\bGetHandle\b' show these are unused. Review-Url: https://codereview.chromium.org/2032793003
2016-06-03Fix more bugs found by /analyze toolweili
Three more bugs are discovered: -- potientially used freed pointer; -- potientially used uninitialized variable; -- Used '&&' instead of bitwise operator '&' BUG=chromium:613623, chromium:427616 Review-Url: https://codereview.chromium.org/2040503002
2016-06-03Fix some code which causes warnings when compiled by /analyze toolweili
The code may not cause error conditions, but can be improved. These warnings include uninitialized variables, signed/unsigned mismatch, redundant condition, and using bool in arithmetic operations. Also remove a chunk of unused code. BUG=chromium:613623, chromium:427616 Review-Url: https://codereview.chromium.org/2036203004
2016-06-02Fix all the code which has duplicate variable declarationsweili
When there are duplicate variable declarations, the inner names shadow the outter ones. This is error prone and harder to read. Remove all the instances found by /analyze. BUG=chromium:613623, chromium:427616 Review-Url: https://codereview.chromium.org/2027273002
2016-06-02Remove unused code for Arabic char and line handlingweili
The code is not used anywhere, and it may contain bugs. Review-Url: https://codereview.chromium.org/2036573002
2016-06-02The PDFium source in core/fxge/dib implements a bit-blitting backend.caryclark
This code has several disadvantages over a more modern graphics engine: - no SIMD support - no GPU support - limited quality Further, calling this code locks in the perceived resolution, so that the output cannot be scaled without additional loss. By directing all bitmap drawing through CFX_SkiaDeviceDriver::StartDIBits, Skia can handle all appropriate bitmap optimizations. To that end, SetDIBits and StretchDIBits now call StartDIBits. Other changes: Skia's bitmaps are premultiplied. PDF contains bitmaps that are unpremultiplied. PDFium appears to use premultiplied bitmaps sometimes, and unpremultiplied bitmaps elsewhere. Add a debug check for unpremultiplied bits in Skia's driver, and add a utility to premultiply PDFium's bitmaps' bits. PDFium supports a 24 bit RGB bitmap padded to a 32 bit word. Set the high byte so that Skia can treat this as an ARGB bitmap. Defer the application of the alpha value to the draw call rather than calling MultiplyAlpha where possible. Allow the destination bitmap to be alpha 8 or argb 32. Review-Url: https://codereview.chromium.org/2025043002
2016-06-01Change CFX_Font::GetPsName() to return a CFX_ByteString.thestig
So everyone can avoid doing Byte to WideString conversions. Also remove CFX_GEFont::GetPsName() and deduplicate a couple of GetPsName() calls. Review-Url: https://codereview.chromium.org/2019173002
2016-06-01Relax checks added in commit 8f3a311.chromium/2760chromium/2759chromium/2758chromium/2757chromium/2756thestig
Some shading types do not use these fields. Review-Url: https://codereview.chromium.org/2027053002
2016-06-01Validate the BitsPerFlag entry in shading dictionaries.thestig
BUG=616248 Review-Url: https://codereview.chromium.org/2020183004
2016-05-31Validate a couple of fields in shading dictionaries.thestig
BUG=616246 Review-Url: https://codereview.chromium.org/2022263003
2016-05-27Change IsGDIEnabled() to use a bool.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/2017293002 .
2016-05-27Clean up some Android/Windows code.thestig
Review-Url: https://codereview.chromium.org/2004313007
2016-05-27Add back-pointer to "Associated widget" to CFWL_WidgetImp.tsepez
This is the last use of CFX_PrivateData, which is now removed. Review-Url: https://codereview.chromium.org/2016743002
2016-05-26Remove default arguments from CFX_FxgeDevice.thestig
Remove unused dithering code. Review-Url: https://codereview.chromium.org/2010813003
2016-05-26Fix a bug which may cause infinite loopweili
When the condition is "status == FXCODEC_STATUS_DECODE_TOBECONTINUE" while |status| never gets updated in the loop, it would enter infinite loop. Also, since Start_decode_MMR() never returns FXCODEC_STATUS_DECODE_TOBECONTINUE, there is no point to check on the return value for that. Review-Url: https://codereview.chromium.org/2013263002