Age | Commit message (Collapse) | Author |
|
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>
|
|
Test the lowest layer without firing up the whole library. Requires
firing up v8 in the unit test main, though.
Move array buffer allocator to cfx_v8 to allow building isolates.
Change-Id: I9a56d503a48e0e555d3310f2997fa12137695860
Reviewed-on: https://pdfium-review.googlesource.com/26130
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Makes CFXJS_Engine and CFXJSE_Engine consistent with each other in
that both have a V8 context to themselves, and not one inheritted
from the CJS_V8 (which is now more per-isolate than per-context).
Consolidate NewLocalContext() and GetPersistentContext(), which both
did the exact same thing under the covers once inside v8 land.
Rename a few things to make it simpler.
Change-Id: I68905db9ad44253063da235fcb276a75627a2dbc
Reviewed-on: https://pdfium-review.googlesource.com/25170
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: Ib03ee28f7a52cd5aa53c315402141b3b6cff5e7d
Reviewed-on: https://pdfium-review.googlesource.com/21892
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Review-Url: https://codereview.chromium.org/2386273004
|
|
And fix a typo.
TBR=tsepez@chromium.org
Review-Url: https://codereview.chromium.org/2382443004
|
|
CFXJS_Engine class should always be constructed with an isolate, except
for its subclasses which may need to create an isolate by themselves.
Move SetIsolate() function to be protected so that only subclasses can
access it.
Review-Url: https://codereview.chromium.org/2354353002
|
|
Nearly all the "loose" functions in FXJS become methods on
the CFJXS_Engine.
This is the "missing link" wrt some layering violatons that
have been around forever. We can stop passing &m_ variables
from CJS_ down into FXJS Initialization as a result.
Review-Url: https://codereview.chromium.org/2245863002
|
|
Create a new class to hold these, CFXJS_Engine (could have been
called Runtime, but there are too many "Runtimes" already). In a
subsequent patch, all the FXJS_*() functions that take an isolate
as the first argument can become methods on the engine.
CJS_ must still manage the isolates; this happens outside
the engine.
The IJS_Runtime abstraction moves up to fpdfsdk/javascript; it
remains to allow for either a real JS library or a stubb one to
be linked (for non-js builds).
Review-Url: https://codereview.chromium.org/2241483004
|
|
And call it from FPDF_DestroyLibrary(). Otherwise further attempts to
FPDF_InitLibraryWithConfig() can hit fail an assertion in
IJS_Runtime::Initialize().
BUG=604587
Review-Url: https://codereview.chromium.org/2103443004
|
|
The entire code base is single-threaded, hence the lockers
ought not be required.
Review-Url: https://codereview.chromium.org/2026933002
|
|
R=thestig@chromium.org
BUG=
Review-Url: https://codereview.chromium.org/2019383002
|
|
BUG=515137,564736
TBR=ochang@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1533233002 .
Review URL: https://codereview.chromium.org/1544493003 .
(cherry picked from commit b426e3edde040089b70d1a223c83b90957aa571d)
(cherry picked from commit bd35d484a4027775f19ff93e9143e0b270133d42)
Review URL: https://codereview.chromium.org/1546443002 .
|