summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2016-12-01Make CPDF_ImageCacheEntry's private CFX_DIBSources unique_ptrsnpm
Review-Url: https://codereview.chromium.org/2541373002
2016-12-01Improve early return in CGifLZWDecoder::Decodenpm
|code_size_cur| could be larger than |code_size|, so |code| could be larger than |code_end|. If this happens, early return, since the Decode has failed. BUG=659417 Review-Url: https://codereview.chromium.org/2542673004
2016-12-01Protect against unexpected library create/destroytsepez
Probably won't fix bug 669797 on its own, but nice to have. Remove unimplemented static method. Review-Url: https://codereview.chromium.org/2543833002
2016-11-30Fix initial kerning when there is a horzscale setchromium/2938npm
Reasoning: the pTextAdvanceX in CPDF_TextObject::CalcPositionData is being multiplied by horz_scale in CPDF_TextObject::CalcPositionData. Then, m_pCurStates->m_TextX is updated by this amount. So multiply by the scale also when updating with initial and final kerning and when nsegs = 0. BUG=528103 Review-Url: https://codereview.chromium.org/2542743002
2016-11-30Convert loose FX_Create* functions into static methodstsepez
Also remove a bool that is always false. Review-Url: https://codereview.chromium.org/2539203002
2016-11-30Remove unused methods from CPDF_FontNicolas Pena
Removed unused methods, and GetCharSize no longer overrides. Change-Id: I29384afb4d79cfd8e8b4ede4a0b52272020bfcd9 Reviewed-on: https://pdfium-review.googlesource.com/2031 Reviewed-by: ooo 11-24 -- 12-05 (dsinclair) <dsinclair@chromium.org>
2016-11-29Add pdfium::MakeRetain<>() helper function.tsepez
Part of the work to get rid of |new|s. Stripped from a forthcoming CL. Review-Url: https://codereview.chromium.org/2536973003
2016-11-29Do not clone in CPDF_ImageCacheEntry::GetCachedBitmapnpm
Review-Url: https://codereview.chromium.org/2536903004
2016-11-28Make FDF document creation return unique_ptrstsepez
Review-Url: https://codereview.chromium.org/2538533003
2016-11-28Use CFX_MaybeOwned<> in fpdf_edit_create.cppchromium/2936tsepez
Fix missing second template parameter in cfx_maybe_owned.h Review-Url: https://codereview.chromium.org/2522313002
2016-11-28Add some methods in CPDF_ImageRenderernpm
Made a member private and added some methods to reduce code duplication Review-Url: https://codereview.chromium.org/2531643002
2016-11-28Merge CPDF_ImageLoader with its handlenpm
Review-Url: https://codereview.chromium.org/2524403002
2016-11-28Nits in fx_ge_linuxnpm
Moved all CFX_LinuxFontInfo to the namespace. Added its constructor and destructor. And fixed includes and {}s. Review-Url: https://codereview.chromium.org/2529013002
2016-11-28Fix leak in cpdf_document_unittestnpm
Make GetPagesInDisorder be TEST_F instead of TEST for consistency... Call CPDF_ModuleMgr::Destroy() on TearDown to avoid leaks. Review-Url: https://codereview.chromium.org/2528093002
2016-11-28Replace ASSERT with error return in bmp_read_headernpm
The width and compress flag are read, so returning with error is more appropriate than having an ASSERT. BUG=659497 Review-Url: https://codereview.chromium.org/2535863002
2016-11-23Rename IFWL classes which do not have CFWL equivalentsdsinclair
This CL moves the IFWL classes that do not have CFWL class buddies to have the CFWL name. This CL leaves the tree in a weird state of having CFWL be two hierarchies, one of which is intertwined with the IFWL hierarchy. This should be commited just before the CL to move the rest of IFWL to CFWL. Review-Url: https://codereview.chromium.org/2525083002
2016-11-23Add FPDF_RenderPageBitmapWithMatrix API.thestig
BUG=pdfium:522 Review-Url: https://codereview.chromium.org/2526473002
2016-11-23Use CFX_MaybeOwned<> in CPDF_Imagetsepez
Review-Url: https://codereview.chromium.org/2523093003
2016-11-23Add CFX_MaybeOwned<> template.tsepez
This will allow us to get rid of more .release()s of unique_ptrs, as shown by the changed cpdf_colorspace usage. Review-Url: https://codereview.chromium.org/2526903002
2016-11-23Remove some .release() calls in cpdf_renderstatustsepez
Propagates unique_ptr's back to callers. Review-Url: https://codereview.chromium.org/2518333003
2016-11-23Avoid cloning in CPDF_ImageCacheEntry::ContinueGetCachedBitmapnpm
We are always cloning when the bitmap size is bounded by some constant, and we are always cloning the mask. Instead, just assign pointers. BUG=pdfium:633 Review-Url: https://codereview.chromium.org/2518063005
2016-11-23Move CPDF_ImageRenderer from render_intnpm
Review-Url: https://codereview.chromium.org/2525833002
2016-11-23fix negative font sizecaryclark
PDF can specify a negative font size to change the y-axis for text. Add support in the Skia driver for that. The cached form for text and paths had fallen out of sync with the uncached code used by skiapaths, so sync that up so that the mainline skia setting has those bug fixes as well. This does not fix the underlying bug in 528103, but gets Skia on parity with native PDFium text rendering. The bold text is still drawn in the wrong place. R=dsinclair@chromium.org BUG=528103 Review-Url: https://codereview.chromium.org/2528663002
2016-11-23Add API for getting page labels.thestig
BUG=pdfium:479 Review-Url: https://codereview.chromium.org/2521843003
2016-11-22Multiply safely in CCodec_TiffContext::Decodenpm
BUG=667074 Review-Url: https://codereview.chromium.org/2520253003
2016-11-22Use more unique_ptrs in CPDF_SyntaxParser and CPDF_Annotchromium/2929tsepez
Review-Url: https://codereview.chromium.org/2526543003
2016-11-22Ensure CPDF_CountedObjects only made from owned references.tsepez
Deletion of said object is still inflicted on the callers. But that's an issue for another day. Review-Url: https://codereview.chromium.org/2523743004
2016-11-22handle antialiased rendering as premultipliedcaryclark
Transparencies and bitmap patterns need to be unpremultiplied after Skia renders them so that PDFium can use its own compositing. Also added some linear (i.e. axial) gradient support, although its unclear if any of the test corpus uses this feature. R=dsinclair@chromium.org Review-Url: https://codereview.chromium.org/2520073003
2016-11-22pdfium: Fix inconsistent number of color components of ICC profilekcwu
fx_codec_icc.cpp specify default number of color components as 3 for unknown profiles. However, lcms may know such profile with different number of components. The inconsistency may lead to array access violation. This CL uses cmsChannelsOf() from lcms to ensure consistency. And rejects unexpected number according to PDF spec. BUG=chromium:667694 Review-Url: https://codereview.chromium.org/2522933002
2016-11-22Continue splitting pageint.h into per-class filestsepez
Add cpdf_streamparser.h and cpdf_contentparser.h since there are already corresponding .cpp files with the same name. Review-Url: https://codereview.chromium.org/2521123003
2016-11-21Avoid calls to WrapUnique in CPDF_streamparsertsepez
Review-Url: https://codereview.chromium.org/2520953004
2016-11-21Split fwl/core class pt II.dsinclair
Split classes in FWL to be single class per file. In the case of data providers which added no new methods, removed and used the IFWL_Widget::DataProvider directly. Review-Url: https://codereview.chromium.org/2520063002
2016-11-21Use more unique_ptrs in CPDF_Image.thestig
Do the same in CPDF_TextObject. Discover CPDF_PageObject::Clone() is unnecessary and remove it. Review-Url: https://codereview.chromium.org/2517163003
2016-11-21Remove some WrapUnique() calls by returing unique_ptrstsepez
Return these from underlying methods as appropriate. Review-Url: https://codereview.chromium.org/2520133002
2016-11-21Remove iCompress parameter to CPDF_Image::SetImage().thestig
It's always set to 0. Review-Url: https://codereview.chromium.org/2520123002
2016-11-21Make CPDF_ImageObject::m_Matrix private.thestig
Review-Url: https://codereview.chromium.org/2514263003
2016-11-21Remove some void* usage in fx_crypt.cpptsepez
Review-Url: https://codereview.chromium.org/2521693003
2016-11-21Check dimensions and content of bitmaps in EmbedderTests.chromium/2927thestig
Review-Url: https://codereview.chromium.org/2514173002
2016-11-21Make CPDF_Stream() take unique_ptr's to its dictionary.tsepez
Review-Url: https://codereview.chromium.org/2520493002
2016-11-21Remove unused CRYPT_SetPubKeyDecryptor()tsepez
Review-Url: https://codereview.chromium.org/2520073002
2016-11-21Add unit test for fdrm's MD5tsepez
Review-Url: https://codereview.chromium.org/2517153003
2016-11-21Fixup lint flags.Dan Sinclair
The -build/include setting was masking out build/include_what_you_use. This CL restores them, fixes any build errors, and adds NOLINT as needed. As well, the runtime/explicit and runtime/printf flags are aslo enabled and NOLINT'd. lint cleanups Change-Id: Ib013b3eb29c8d0e48cad74c5df9028684130719f Reviewed-on: https://pdfium-review.googlesource.com/2030 Reviewed-by: Tom Sepez <tsepez@chromium.org>
2016-11-21Fix CPDFImage::IsInline().thestig
Commit 137a344a changed its behavior. BUG=chromium:667012 Review-Url: https://codereview.chromium.org/2513273003
2016-11-21Continue splitting up render_intnpm
Moved CPDF_ImageLoader, CPDF_ImageLoaderHandle, and CPDF_TransferFunc Review-Url: https://codereview.chromium.org/2518553002
2016-11-21Clean up CPDF_PageContentGenerator.thestig
Review-Url: https://codereview.chromium.org/2513313002
2016-11-21use skia textcaryclark
This adds text to the _SUPPORT_SKIA_PATHS_ variant. The output of the test corpus has more differences, but no feature changes or dropouts that I can see. The text is a bit lighter. Bungeman thinks this is because of our support of SRGB color, although the fonts also look different so maybe there's more to the story. The output looks compatible with the variations I see in Adobe Reader and Firefox on the same platform. There's probably more text tuning to do. Additionally, this turns off the caching feature for this variation. Caching can't work because the drawing alternates between Skia and PDFium's native blits, so any state caching won't know about changes and drawing performed by the other. R=dsinclair@chromium.org, bungeman@chromium.org Review-Url: https://codereview.chromium.org/2520483002
2016-11-20Provide perfect-forwarding in CPDF_Object templates.tsepez
We'll hit this issue when we try to make CPDF_stream ctors take other unique pointers, for example. Review-Url: https://codereview.chromium.org/2513613003
2016-11-18Make CPDF_Dictionary use unique pointers.chromium/2926tsepez
Some changes were required to match underlying ctors as invoked by the templated methods. Many release() calls go away, a few WrapUniques() are introduced to avoid going deeper into other code. Review-Url: https://codereview.chromium.org/2510223002
2016-11-18Add unit test for CXFA_FileRead.tsepez
The FileRead's return convention is being modified at https://codereview.chromium.org/2430743003/, so first provide a test of the old behaviour. Fix some issues with null dictionaries as provided by the CPDF_Stream default ctor along the way. Review-Url: https://codereview.chromium.org/2517513003
2016-11-17fix corpus testscaryclark
All corpus tests draw reasonably well. There are pixel differences, but no missing features or large scale errors. This was verified by running run_corpus_tests.py on skiapaths and agg build dirs, then running the skdiff tool to generate a report of the pixel difference. For example, after running $ ninja -C out/skia skdiff $ ./out/skia/skdiff /repo/pdfium/out/agg/gen/pdfium/testing/corpus/ /repo/pdfium/out/skiapaths/gen/pdfium/testing/corpus/ ~/aggskiadiffs view the report in a browser at ~/aggskiadiffs/index.html R=dsinclair@chromium.org BUG=skia:5973 Review-Url: https://codereview.chromium.org/2504863003