Age | Commit message (Collapse) | Author |
|
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 .
|
|
BUG=537173
R=jun_fang@foxitsoftware.com, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1376093002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1360103002 .
|
|
Check the image size before attempting to decode.
BUG=538103
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1377493005 .
|
|
Found using the test examples from https://crbug.com/537780
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1376413003 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1386463003 .
|
|
BUG=537790
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1379243002 .
|
|
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 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1372103004 .
|
|
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 .
|
|
- 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 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1359013003 .
|
|
This reverts commit 3e144b8c23d7c52ed36329e87f0cb01f38ec1ed7.
This may be causing the failures seen in crbug.com/537799.
BUG=537799
Review URL: https://codereview.chromium.org/1382433003 .
|
|
BUG=chromium:529012
R=jochen@chromium.org, krasin@google.com
Review URL: https://codereview.chromium.org/1353193004 .
|
|
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>.
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1368153003 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1380663003 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1373333002 .
|
|
For bit per component (bpc), PDF spec mentions that a RunLengthDecode or DCTDecode filter shall always deliver 8-bit samples. However, some PDF files don't follow this rule. We can find that filter is RunLengthDecode but bpc is 1 in the provided test file. In this case, pdfium will correct bpc to 8 but the actual bpc is 1. It causes a failure because the data is much more than the expected. To handle this case, pdfium doesn't correct bpc to 8 when the original bpc is 1.
BUG=512557
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1328213002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1367633005 .
|
|
Also changes DEPS to specify a specific v8 version, this will
require us to manually update this version from time to time,
but also solves a longstanding problem where going back to an
older version (say for bisecting) wouldn't always work.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1372963003 .
|
|
Follow-up from https://codereview.chromium.org/1366053003/
- use kPerIsolateDataIndex rather than magic constant 1.
- make a helper function for common code in JS_Define.h
- remove dead prototypes missed in earlier CL.
- fxjs_v8 can't include generic fpdfsdk includes (layering).
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1367813003 .
|
|
The font is slightly different from Linux/Windows.
BUG=524043
R=jun_fang@foxitsoftware.com
Review URL: https://codereview.chromium.org/1366363002 .
|
|
files""
This reverts commit fa9756f77ad6145940d3dc697814b84f5755ae17.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1307353005/
|
|
This reverts commit 9bd18183ba8210c91d71c3060146235750a4c71c.
|
|
Pdfium swallows 'fi' or 'ff' in some tested files because it doesn't load the embedded font file correctly. The root cause is that there is incorrect keyword like 'ngendstream' in the stream of the embedded font file. Pdfium tries to find another correct keyword but uses wrong offset rather than accumulated offset.
BUG=524043
R=thestig@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1307353005 .
|
|
This reverts commit 3b4382a847b5a7439a3107512dbe54c317108579.
The difference between this CL and the one that failed is
fxjs_v8.cpp:271. In master, we pass the runtime information
as:
v8::isolate -> v8::Context -> FXJS Runtime,
but in XFA:
V8::Isolate -> PerIsolate struct -> FXJS Runtime.
The master way is more correct, in that FXJS_Runtime is 1:1
with v8 contexts and many:1 (in theory) with isolates.
It looks like the XFA branch missed a patch along the way.
I'll do that next.
Having made this change, the only data in the per-isolate
struct will be the ptr array (on master); it will also
include the XFA context (on XFA). I've kept the struct on
master for the sake of similarity.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1365733003 .
|
|
- Remove dead code
- Use unique_ptr
BUG=pdfium:202
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1365903002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1359233002 .
|
|
R=jbreiden@google.com
Review URL: https://codereview.chromium.org/1346043003 .
|
|
Also merge a check for failed document loads from XFA.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1362143002 .
|
|
Fix lint issues / git cl format.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1357423006 .
|
|
Code is mostly stolen from Chromium's scoped_ptr.
- Add unit tests.
- Use this to fix a leak.
BUG=chromium:531408
R=jyasskin@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1351383004 .
|
|
Reason for revert: embeddertests failed.
This reverts commit 70bc04b16646c92f221c5aa56831b01d6ec7c1ca.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1358263004 .
|
|
Work on this was first performed on the XFA branch, since
it has additional requirements (FXJSE layer) that needed
to be accomodated by the solution.
(cherry picked from commit ed7b2b50aa1744e0bc5a60bef12c61fa91d863b7)
Original Review URL: https://codereview.chromium.org/1351173002 .
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1354593004 .
|
|
This avoids some custom linked-list code. Also note that
we use a local copy to be sure we removed the same thing
that was added no matter how our callees may muck with the
handler.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1352393003 .
|
|
std::unique_ptr supports move assignment as in:
ptr2 = std::move(ptr1);
R=jyasskin@chromium.org
Review URL: https://codereview.chromium.org/1358163002 .
|
|
Discovered with experimental Clang plugin that flags temporary objects
that are immediately destroyed.
patch from issue 1359063003 at patchset 1 (http://crrev.com/1359063003#ps1)
A=mdempsky@chromium.org
R=mdempsky@chromium.org
Review URL: https://codereview.chromium.org/1359103002 .
|
|
BUG=none
R=tsepez@chromium.org, jam@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1356323002 .
|
|
The Factory Design Pattern isn't buying us anything here over just new'ing
the object we want.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1360523004 .
|
|
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1349423006 .
|
|
Kill some now unused functions as a result.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1350703003 .
|
|
Not sure why building with gyp was working despite the missing '../' but
it wasn't working in stricter build systems.
BUG=
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1321293003.
|
|
Re-arrange things in the header so function overloads are
next to each other, and related things are near each other.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1348693003 .
|
|
Target v8 has:
'direct_dependent_settings': {
'defines': [
'V8_SHARED',
'USING_V8_SHARED',
],
},
For this to work, targets using v8 headers have to depend on v8
directly, else the V8_EXPORT macro won't work. Add a direct
dependency on v8.
BUG=none
TEST=do a debug component build of pdfium_embeddertests on Win,
should work without linker errors
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1349843002 .
|
|
Move header file includes when usage moved.
Windows-only section missing a ")".
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1349783003 .
|
|
Currently, its hard to tell which functions come from the JS_
layer at fpdfsdk/include/javascript vs. which functions come
from the FXJS_V8 layer at fpdfsdk/include/jsapi. Until we
take up the task of using namespaces, at least make the
prefix consistent.
Move objects out of FXJS_V8 that are really part of JS_.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1347833002 .
|
|
This was guarded by an assert, but the path is hit.
BUG=528015
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1345923002 .
|
|
R=thakis@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1330173002 .
|
|
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1345883003 .
|