Age | Commit message (Collapse) | Author |
|
In turn, it too is always nullptr. This shows that the V8
side check for hasInstance() was never being applied. We will
augment this with C++ side checks down the road, since we don't
want to trust V8 anyways.
Change-Id: Iee38f32af9561783dbf253d798bd975029f3a4a2
Reviewed-on: https://pdfium-review.googlesource.com/38594
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Isolates are long-lived, but this may catch a few things.
Introduce CFX_V8IsolateDeleter for unique_ptr<v8::Isolate> usage.
Fix Dispose()/SetIsolate(nullptr) ordering in cjs_runtime.cpp
Remove one unused isolate member.
Flip protected -> private in one place.
Change-Id: I26cdd120f799192e93b0d9d04dcde8f348dc21f3
Reviewed-on: https://pdfium-review.googlesource.com/37931
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
We used to assume that a global proxy object could be distinguished
by it not having two internal fields, but that invariant isn't
correct. Instead, flag it as such so the block of code at line 126
will check the prototype to find an actual object.
Squeeze some bytes out of the tags while were at it, no reason for
them to be wide. Also remove GetGlobalObjectFromContext() helper, for
transparency into what's really going on in v8. This then shows a
needless retrieval of an object we already have in one case.
Bug: pdfium:1097
Change-Id: Iafc356373166fe5fda76ea7d64193826ee69a6c3
Reviewed-on: https://pdfium-review.googlesource.com/34630
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I6a634cb3fb9acdd78ae29017987e5e41865a0d4b
Reviewed-on: https://pdfium-review.googlesource.com/34490
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Its no longer required.
Change-Id: I180ca99817352a91b6d9d7c9b45985cd96dc730e
Reviewed-on: https://pdfium-review.googlesource.com/34290
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I773ff83b45ffbd736f064daedb1010c8d01a99d5
Reviewed-on: https://pdfium-review.googlesource.com/34050
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Methods are not called, removed.
Bug: pdfium:1097
Change-Id: I0c7bc8ded070002dd5eb980a4705eabb829fb6ec
Reviewed-on: https://pdfium-review.googlesource.com/33390
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL writes any JS exceptions to the console in XFA if running in
Debug mode. This makes it possible to see when an error happens in JS
execution.
Bug: pdfium:1097
Change-Id: Ida14050328c5e6e85ab2704bb5dddfec370dddf1
Reviewed-on: https://pdfium-review.googlesource.com/33154
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
V8 won't do this for us when it creates a global object under the
covers off of a template with a non-zero internal field count, instead
just leaving it uninitialized. We were careful to set the iternal
fields on the object we explicitly create, but there are these
implicitly created ones as part of making a new context that need
to be handled as well.
BUG: pdfium:1005
Change-Id: Ic40bafc206ec5119cbceb58f0bb725693e7ddf80
Reviewed-on: https://pdfium-review.googlesource.com/29910
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Place the template map definitions entirely in .cpp file.
Change-Id: I2643f1b99f5582b69aa985857c4aa6f9b5ab57c8
Reviewed-on: https://pdfium-review.googlesource.com/26150
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Avoids call to CFXJS_Engine::EngineFromIsolateCurrentContext() during
the Dispose() path, which feels scary because there aren't guarantees
about it having an engine at isolate "dispose" time. Fortunately, |this|
is not used, so make that fact clear.
Replace some c-style callbacks with std::function while we're at it.
Change-Id: Ia1a1a1fcc085d8657939e6f8c8d34fc511afddfe
Reviewed-on: https://pdfium-review.googlesource.com/25970
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Bug: 773229
Change-Id: Ic3774c7f6abe3a195bbe09b91d91c549d4d7ac46
Reviewed-on: https://pdfium-review.googlesource.com/25110
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
These two methods need to be switched to using the maybe versions,
since the older versions are being deprecated.
BUG=pdfium:989
Change-Id: Id2b48395353af0078e51b2d3ac42103643922320
Reviewed-on: https://pdfium-review.googlesource.com/23830
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
The non-Maybe versions will soon be deprecated.
Where the code was already handling failures, I did the same; where the
code was not handling failures, I inserted ToLocalChecked() calls. Thus
the behavior before and after this patch should be the same.
For consistency, also updated the use of v8::Function::Call
in CFXJSE_Context::ExecuteScript() to the Maybe version, so
that all code in that function now branches on the non-emptyness
of MaybeLocals, rather than TryCatch::HasCaught(). ASSERTs were
inserted to sanity-check the API usage.
Bug: v8:7269, v8:7273, v8:7274
Change-Id: I59696e63a64a233a9f9c2b72c621a05b5e349a31
Reviewed-on: https://pdfium-review.googlesource.com/23270
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
|
|
Change-Id: I182388970e422bd31d011628a4f1b905d12b0da0
Reviewed-on: https://pdfium-review.googlesource.com/20193
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: Iea75ce6b3a7e06b7977491a89e7a31755f038312
Reviewed-on: https://pdfium-review.googlesource.com/20191
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL converts the JS set_* methods and the JSMethod methods to accept
v8::Local<v8::Value> objects instead of CJS_Value objects.
Change-Id: I6de41305deff458eba515bdc3462522b502f74ad
Reviewed-on: https://pdfium-review.googlesource.com/16670
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves CFX_UnownedPtr to UnownedPtr and places in the fxcrt
namespace.
Bug: pdfium:898
Change-Id: I6d1fa463f365e5cb3aafa8c8a7a5f7eff62ed8e0
Reviewed-on: https://pdfium-review.googlesource.com/14620
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Automated using git grep & sed.
Replace StringC classes with StringView classes.
Remove the CFX_ prefix and put string classes in fxcrt namespace.
Change AsStringC() to AsStringView().
Rename tests from TEST(fxcrt, *String*Foo) to TEST(*String*,
Foo).
Couple of tests needed to have their names regularlized.
BUG=pdfium:894
Change-Id: I7ca038685c8d803795f3ed02545124f7a224c83d
Reviewed-on: https://pdfium-review.googlesource.com/14151
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL switches the CFXJSE_Context::GetGlobalObject method to call
FXJSE_GetGlobalObjectFromContext() instead of getting the global object
directly.
Bug: pdfium:832
Change-Id: I6c04adb0a9775926d3a0708cefb8bba85c60fd21
Reviewed-on: https://pdfium-review.googlesource.com/9111
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I8365ba80e3395d59a3cf35dbd9d9162e86e712e3
Reviewed-on: https://pdfium-review.googlesource.com/5970
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
There are two APIs to V8 from pdfium: FXJS and FXJSE (for XFA).
Previously, we put tags in internal fields for FXJS's objects.
Now do the same for FXJSE.
Bug: 713998
Change-Id: Ife4f616df3768db566b996dedc1da104f8d3fb93
Reviewed-on: https://pdfium-review.googlesource.com/4475
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Remove unused CFXJSE_Arguments::GetRuntime().
Remove some default argument values.
Make members of CFXJSE_Context private.
Change-Id: Id21951f7d8d68929b2799a9d6a2cdd7a3677f52a
Reviewed-on: https://pdfium-review.googlesource.com/4493
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This CL replaces some new's with pdfium::MakeUnique.
Change-Id: I50faf3ed55e7730b094c14a7989a9dd51cf33cbb
Reviewed-on: https://pdfium-review.googlesource.com/3430
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I96e0a20d66b9184d22f64d8e4ce0dadd5a78c1e8
Reviewed-on: https://pdfium-review.googlesource.com/2967
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
FX_BOOL was a type just like a regular C++ bool, except that it
took 4x the space and frequently was used to hold values besides
true or false.
Review-Url: https://codereview.chromium.org/2471353002
|
|
BUG=pdfium:611
Review-Url: https://codereview.chromium.org/2380713005
|
|
This Cl moves the fxjse/ directory to fxjs/ in anticipation of merging in
fpdfsdk/jsapi. In the process the filenames are updated to better match the
class contents. Static methods are moved to anonymous namespaces as possible.
Review-Url: https://codereview.chromium.org/2136213002
|