Age | Commit message (Collapse) | Author |
|
We should not fill out the m_Encoding for Type3 fonts. This way, we
stop getting garbage characters from text extraction. Guessing that
unicode == charcode (in the absence of ToUnicode) is our best bet.
BUG=pdfium:642
Review-Url: https://codereview.chromium.org/2643543002
|
|
Also use unique_ptr in one spot while we're at it.
Review-Url: https://codereview.chromium.org/2625483002
|
|
We should not have valid objects where the object number is
CPDF_Object::kInvalidObjNum.
BUG=pdfium:609
Review-Url: https://codereview.chromium.org/2610393004
|
|
Review-Url: https://codereview.chromium.org/2611413002
|
|
Review-Url: https://codereview.chromium.org/2617683003
|
|
GetCachedBitmap method is not being used. This removal
simplifies some of the code.
Change-Id: I075c245c3511e8a1b595c8ba148991f7c838f504
Reviewed-on: https://pdfium-review.googlesource.com/2154
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
CPDF_DIBSource was already in its own file, but files needed renaming.
Change-Id: Ib3ac787a0bb33d3f78ecdcdfcdbc938867857a14
Reviewed-on: https://pdfium-review.googlesource.com/2152
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
The previous implementation, FindPDFPage, was already doing this since
the recursive call was always with return. Currently, we were trying to
keep going even after reaching max level. The problem is that if the
page tree is not a tree, we might loop forever. This could also be
solved by keeping track of the dictionaries that have been visited, but
this solution takes much less space.
BUG=672172
Change-Id: Ia37aea58e92b6068de69f26736c612aa6a0ff4b3
Reviewed-on: https://pdfium-review.googlesource.com/2138
Commit-Queue: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Also be sure that a loop terminates without relying on
specific behaviour of the callers.
Review-Url: https://codereview.chromium.org/2598473002
|
|
TBR=dsinclair@chromium.org
BUG=675752
Review-Url: https://codereview.chromium.org/2585113004
|
|
BUG=pdfium:644
Review-Url: https://codereview.chromium.org/2581873002
|
|
- Add unit tests for sha256 implementation.
- Remove void* types from API in favor of correct actual types.
Review-Url: https://codereview.chromium.org/2577223002
|
|
In turn, make CPDF_Stream() take an unique_ptr.
Review-Url: https://codereview.chromium.org/2584683002
|
|
Rename GetAlphaMask => CloneAlphaMask since it does more than get.
Rename CopyAlphaMask => SetAlphaMask, as it copies IN, not OUT.
ditto for CopyPalette => SetPalette.
BUG=
Review-Url: https://codereview.chromium.org/2572243002
|
|
Review-Url: https://codereview.chromium.org/2571313002
|
|
Allows JPEG data to be copied into the file rather than left in a
separate file. This is needed to allow rasterized PDFs to avoid saving
image files for each page. See Chromium issue 2524143003 for chromium
changes.
BUG=534945, 550205, 480628
Review-Url: https://codereview.chromium.org/2529543003
|
|
Be suspicious of |new|. This removes some of the
easy cases.
Review-Url: https://codereview.chromium.org/2571913002
|
|
Review-Url: https://codereview.chromium.org/2572843002
|
|
Review-Url: https://codereview.chromium.org/2558373002
|
|
We can remove a lot of "bOwnsStream" logic in the process.
Always pass these by const reference, in case the called method
wants to hang on to the stream (one exception is where we stick
a raw pointer into a void* slot in a context from another layer).
Review-Url: https://codereview.chromium.org/2451493002
|
|
This permits consecutive path drawing or text drawing to combine
if their graphics state matches. This speeds up rendering considerably
when PDFium draws in many small parts. It also allows discarding
changes to the clip state that have no effect from draw to draw.
All corpus tests draw equivalently with caching enabled or disabled.
Change the member order in CPDF_PageRenderContext so the device is
flushed before the referencing annotation is deleted.
Add more printf style debugging for test draws.
R=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2546803003
|
|
Because that's what clone does. Perform immediate release
in some spots to avoid disrupting too much at once.
Review-Url: https://codereview.chromium.org/2534953004
|
|
Review-Url: https://codereview.chromium.org/2551593002
|
|
It's a separate hierarchy unrelated to the IFX_*Stream classes.
Also rename CFX_Stream to CFGAS_Stream, and so forth.
Review-Url: https://codereview.chromium.org/2535723010
|
|
Group related IFX_ classes.
Move #defines to .cpp file that uses them.
Replace loose function with static method.
Review-Url: https://codereview.chromium.org/2548583004
|
|
Review-Url: https://codereview.chromium.org/2550543002
|
|
Review-Url: https://codereview.chromium.org/2546813002
|
|
Split the remaining code into files per class.
Change-Id: Idb959dbf807223a509e16c76f9626e61856a886b
Reviewed-on: https://pdfium-review.googlesource.com/2094
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
Review-Url: https://codereview.chromium.org/2541373002
|
|
Probably won't fix bug 669797 on its own, but nice to have.
Remove unimplemented static method.
Review-Url: https://codereview.chromium.org/2543833002
|
|
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
|
|
Also remove a bool that is always false.
Review-Url: https://codereview.chromium.org/2539203002
|
|
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>
|
|
Review-Url: https://codereview.chromium.org/2536903004
|
|
Review-Url: https://codereview.chromium.org/2538533003
|
|
Fix missing second template parameter in cfx_maybe_owned.h
Review-Url: https://codereview.chromium.org/2522313002
|
|
Made a member private and added some methods to reduce code duplication
Review-Url: https://codereview.chromium.org/2531643002
|
|
Review-Url: https://codereview.chromium.org/2524403002
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2523093003
|
|
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
|
|
Propagates unique_ptr's back to callers.
Review-Url: https://codereview.chromium.org/2518333003
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2525833002
|
|
Review-Url: https://codereview.chromium.org/2526543003
|
|
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
|
|
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
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2520953004
|
|
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
|