summaryrefslogtreecommitdiff
path: root/fpdfsdk/src/jsapi/fxjs_v8.cpp
AgeCommit message (Collapse)Author
2016-02-04Pdfium does not create isolate when it runs in chromiumjinming_wang
BUG=pdfium:373 R=jochen@chromium.org Review URL: https://codereview.chromium.org/1652873003 .
2016-01-28Fix memory leakage on Linux - part3jinming_wang
BUG=pdfium:348 R=jochen@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1633083002 .
2015-11-30Tidy PDF_ENABLE_XFA #ifdefs in fpdfsdk.Tom Sepez
-- label matching #endifs -- prefer #ifdef over #ifndef -- consolidate some blocks. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1484843002 .
2015-11-25Inflict PDF_ENABLE_XFA ifdefs on XFA fpdfsdk/Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1477583002 .
2015-11-25Merge to XFA: CFXJS_ObjDefinition's lifetime must match isolate.Tom Sepez
Review URL: https://codereview.chromium.org/1468423004 . (cherry picked from commit 628f7053cc646c58c61add247c75bc65ac135327) BUG=561184 TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/1473943002 .
2015-11-20Mising JS refactoring in XFA.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1463973002 .
2015-11-12Merge to XFA: Remove relative includes.Lei Zhang
That refer to parent directories. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1434223002 . (cherry picked from commit 22bc4227fbbda5a5e9abad2a2c0a98c04fe7f228) Review URL: https://codereview.chromium.org/1439223003 .
2015-11-10Merge to XFA: Keep "static" objects per-context rather than per isolate.Tom Sepez
Original Review URL: https://codereview.chromium.org/1424933013 . (cherry picked from commit 7d4c74d1b96d82681d49519c129262a1568e87d4) TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/1407063012 .
2015-11-10Segv when PDF-side JS object property getter invoked from XFA.Tom Sepez
The PDF-side native objects require that the current v8 context has been set-up to point at the state (via CJS_Runtime) for the getters, setters, and methods to operate against. XFA doesn't supply a context with that state, so at the first opportunity for a PDF-side object to be leaked to XFA, set up the context to mimic the PDF side. Changed FXJS_GetRuntimeFromIsolate() to FXJS_GetRuntimeFromV8Context() for consistency with the newly added method. BUG=pdfium:266 R=jochen@chromium.org Review URL: https://codereview.chromium.org/1412103010 .
2015-11-10Merge to XFA: Remove CFX_PtrArray usage in fpdfsdk.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1430213002 . (cherry picked from commit 8deeacd23872ecc132a0a678e344a018b5114a3a) Review URL: https://codereview.chromium.org/1416113010 .
2015-11-09Merge to XFA: Fix all relative includes to core.Lei Zhang
Do some IWYU to fix build errors due to files that have no #includes but just happened to work previously because the #includes were in the right order. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1407423004 . (cherry picked from commit 9e7cd8ffb81c564e1102f6c6459ec0942a0b11ea) Review URL: https://codereview.chromium.org/1425163004 .
2015-11-06Merge to XFA: Rename CFXJS_PrivateData to CFXJS_PerObjectData.Tom Sepez
Original Review URL: https://codereview.chromium.org/1424933012 . (cherry picked from commit b2dd2c96f6271a1520c36d707b626a34c72f7fb6) R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1411333006 .
2015-11-06Merge to XFA: Remove FXJS_GetRuntimeTom Sepez
Original Review URL: https://codereview.chromium.org/1413733004 . (cherry picked from commit 93f191bb011508a8d4e66746135e8ba8e9583870) TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/1435493002 .
2015-10-27Merge to XFA: Fix memory leak in FXJS_ReleaseRuntime.Oliver Chang
Should fix a bunch of JS related memory leaks reported by LSan/DrMemory. Clean merge. TBR=tsepez@chromium.org BUG=pdfium:242 Review URL: https://codereview.chromium.org/1417973009 . (cherry picked from commit fbbb3c3de517309b6808d7a8f4c441aa0abf7065) Review URL: https://codereview.chromium.org/1406053006 .
2015-10-13Merge to XFA: Pass IJS_Runtime, not IJS_Context, to native object constructors.Tom Sepez
Original Review URL: https://codereview.chromium.org/1389163007 . (cherry picked from commit 848a13b6777cbff8cc4aea3ab3d69eaa0b82ae6c) Merge conflics in: fpdfsdk/src/javascript/JS_Runtime.cpp fpdfsdk/src/javascript/JS_Runtime_Stub.cpp fpdfsdk/src/jsapi/fxjs_v8.cpp R=thestig@chromium.org Review URL: https://codereview.chromium.org/1394993006 .
2015-10-08Merge to XFA: Fix a leak with g_DefaultGlobalObjectTemplate.Lei Zhang
As seen when running FXJSV8Embeddertest.Getters. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1380993003 . (cherry picked from commit eda27bd13270f5324ce3caa34a09a40cffc4026f) Review URL: https://codereview.chromium.org/1391843005 .
2015-10-08Merge to XFA: Only call DefineJSObjects() once for the global V8 isolate.Lei Zhang
BUG=539106 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1386823002 . (cherry picked from commit 7dfe5929282cb6d78d7b5e32e1d72e9db99d3066) Review URL: https://codereview.chromium.org/1400503003 .
2015-10-08Merge to XFA: Rename IFXJS_Runtime and IFXJS_Context to IJS_.Tom Sepez
Merge conflicts in: fpdfsdk/src/javascript/Document.cpp fpdfsdk/src/javascript/JS_Define.h New code in: fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp (cherry picked from commit 213a172779fddbd7e588ee2e2b3906ccc47d6896) Original Review URL: https://codereview.chromium.org/1386173002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1395713002 .
2015-10-08Merge to XFA: Refcount external V8 isolate initialization / release.Lei Zhang
BUG=531339 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1377463005 . (cherry picked from commit 9b6735445f20ae17b883b5739bf79a7c1f99e139) Review URL: https://codereview.chromium.org/1393243002 .
2015-10-07Merge to XFA: Remove unused global argument from FXJS_CONSTRUCTOR.Tom Sepez
(cherry picked from commit ebd39a6a8fcbbbf1c5a2e6f1b2e30f452971d0ee) Original Review URL: https://codereview.chromium.org/1389003003 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1394023002 .
2015-10-07Merge to XFA: Pass v8::Isolate to PDFium at init time.Tom Sepez
New code changes in JS_Runtime.cpp. (cherry picked from commit 3dedace9623fef6161a8666e53a4ab2b9be61e4c) Original Review URL: https://codereview.chromium.org/1367033002 . Also merge to XFA: Run FXJS_V8 embedder tests against a shared isolate, since the two go together. (cherry picked from commit 4ea721cb7954898a9722c389dae86c62957352d0) Original Review URL: https://codereview.chromium.org/1377293004 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1381633008 .
2015-10-06Merge to XFA: Store object definition ID in each js_class.Tom Sepez
Manual edits in JS_Define.h. (cherry picked from commit f0a5b2803c09f3605dcd606e764ef604f0d2a8ea) Original Review URL: https://codereview.chromium.org/1382263002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1382683008 .
2015-10-02Merge to XFA: Fix static initializer in fxjs_v8.cppTom Sepez
(cherry picked from commit 20fc82efdc9c9e4caa6e72d05a83b9206e8c8f72) Original Review URL: https://codereview.chromium.org/1372103004 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1383033002 .
2015-09-30Merge to XFA: Add signatures to FXJS_V8.Tom Sepez
(cherry picked from commit 158e335717efba9dce3aa6f6d1e31ed884e1f59e) Original Review URL: https://codereview.chromium.org/1353193004 . TBR=jochen@chromium.org, krasin@google.com Review URL: https://codereview.chromium.org/1376343002 .
2015-09-28Merge to XFA: Introduce kPerIsolateDataIndex and tidy JS_Define.hTom Sepez
(cherry picked from commit d6d9dc6b9a45368abdf43477592ee9f6cdb6102e) (cherry picked from commit cfff2f65aaec70247d020188bc68a0dc4fb34c3e) Original Review URL: https://codereview.chromium.org/1372963003 . Original Review URL: https://codereview.chromium.org/1367813003 . TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/1370133007 .
2015-09-28XFA: Pass IFXJS_Runtime via V8 contexts, not V8 isolatesTom Sepez
This makes the XFA branch look more like the master. I suspect a patch was lost during the intial XFA checkin. R=jochen@chromium.org Review URL: https://codereview.chromium.org/1366053003 .
2015-09-22XFA: contention between FXJSE and FXJS over isolate data slotsTom Sepez
This probably broke at 06b60021e when the FXJS slot moved to 0 from 1 unless explicitly overriden by the embedder, which conflicted with the FXJSE_ usage of slot 0. Also simplify some logic used to track global intialization of the underling JS. TEST=run_javascript_tests.py on XFA branch doesn't segv. R=jochen@chromium.org Review URL: https://codereview.chromium.org/1351173002 .
2015-09-17Merge to XFA: Don't pass null isolates to FXJS_ when we have a real isolate.Tom Sepez
(cherry picked from commit 34b39e1d4fa0b16d47770b823230344356cc451a) Original Review URL: https://codereview.chromium.org/1350703003 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1342403005 .
2015-09-17Merge to XFA: Ensure functions in FXJS_V8 are prefixed by FXJS_.Tom Sepez
Manual edits: fpdfsdk/include/javascript/JS_Define.h fpdfsdk/src/fpdfxfa/fpdfxfa_app.cpp fpdfsdk/src/javascript/Document.cpp fpdfsdk/src/javascript/JS_Runtime.cpp fpdfsdk/src/jsapi/fxjs_v8.cpp (cherry picked from commit 506df426d5d64d68e9dc27ffebcf56f6c6a1bccf) Original Review URL: https://codereview.chromium.org/1347833002 . (cherry picked from commit 455019ca48f60bd285e043986471f51f17c69a0d) Original Review URL: https://codereview.chromium.org/1349783003 . (cherry picked from commit 1af240cc45480520b447be767686e73a29c48f9e) Original Review URL: https://codereview.chromium.org/1348693003 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1356563003 .
2015-09-15Merge to XFA: Refactor fxjs_v8 and add embeddertests for it.Tom Sepez
(cherry picked from commit b17d62601b21dfce85718e08cfd0ffce3a45d74e) (cherry picked from commit 09ed30750282bf56a92d0e646ab22c64bea81a36) Manual edits: fpdfsdk/src/jsapi/fxjs_v8_embeddertest.cpp - add lockers. fppdfsdk/src/javascript/JS_Runtime.cpp - rework XFA init path. Original Review URL: https://codereview.chromium.org/1338073002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1348433002 .
2015-09-11Merge to XFA: Fix strings, ..., void return types for Consts.h.Tom Sepez
(cherry picked from commit f9e40aec10263f9445d69598657f42550294d653) Orignal Review URL: https://codereview.chromium.org/1342433002 . R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1338003004 .
2015-09-10Merge to XFA: Remove some abstractions in fxjs_v8.h.Tom Sepez
Conflicts: fpdfsdk/src/javascript/Document.cpp fpdfsdk/src/javascript/JS_Runtime.cpp fpdfsdk/src/jsapi/fxjs_v8.cpp New: fpdfsdk/src/fpdfxfa/fpdfxfa_app.cpp (cherry picked from commit 6df59849472958e7de96da6d9fc7b223b7c1f1c3) Original Review URL: https://codereview.chromium.org/1332973002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1334833003 .
2015-09-10Merge to XFA: Fix JS_GetArrayElement to not return an empty handle on successJochen Eisinger
BUG=chromium:528376 TBR=ulan@chromium.org, tsepez@chromium.org Original Review URL: https://codereview.chromium.org/1337433002 . (cherry picked from commit 0d0935d3d6603dd7d851b1d5828635230f4c43ca) Review URL: https://codereview.chromium.org/1334633004 .
2015-09-01Merge to XFA: CJS_Context::compile unusedTom Sepez
Manual merge in fpdfsdk/src/javascript/JS_Context.cpp (cherry picked from commit 6e945a1ebbacde3ed2a4fc83ccb7215ccbc46931) Original Review URL: https://codereview.chromium.org/1318543012 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1318343004 .
2015-08-06XFA: clang-format all pdfium code, again.Nico Weber
Also add a presubmit that checks for this so I don't have to keep doing it. No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none R=thestig@chromium.org Review URL: https://codereview.chromium.org/1277043002 .
2015-08-05Kill off last uses of FX_NEW in XFA.Tom Sepez
It would seem that this never merged completely. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1277583002 .
2015-08-04XFA: clang-format all pdfium code.Nico Weber
No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none
2015-07-30Merge to XFA: Plumb in an externally created v8::IsolateJochen Eisinger
Origin Review URL: - https://codereview.chromium.org/1234053003 - https://codereview.chromium.org/1241863004 - https://codereview.chromium.org/1235303003 R=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/1263963002 .
2015-07-22Merge to XFA: Remove dead code found by Scythe.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1249643003 . (cherry picked from commit b05f1fd710496dea44b001bb905fa1c16a39bb28) Review URL: https://codereview.chromium.org/1250433003 .
2015-06-13Remove trailing whitespaces in fpdfsdk, XFA edition.Lei Zhang
Review URL: https://codereview.chromium.org/1185843005.
2015-06-10Merge to XFA: Remove typdefs for pointer types in fx_system.h.Tom Sepez
Original Review URL: https://codereview.chromium.org/1171733003 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1178613002.
2015-05-19Merge V8 API updates to xfa branchJochen Eisinger
Set pointers in internal fields directly instead of wrapping them Review URL: https://codereview.chromium.org/1139853003 Use phantom handles instead of weak handles Review URL: https://codereview.chromium.org/1129253004 Replace deprecated with non-deprecated V8 APIs Review URL: https://codereview.chromium.org/1126203010 Add myself to OWNERS file Review URL: https://codereview.chromium.org/1133333005 Replace v8::Handle with v8::Local and v8::Persistent with v8::Global Review URL: https://codereview.chromium.org/1138823004 TBR=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/1140033004
2015-04-23Merge to XFA: Remove unused nParamNum values from JS method tables.Tom Sepez
Original Review URL: https://codereview.chromium.org/1084183008 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1105813002
2015-04-14Merge to XFA: Kill CFX_Object.Tom Sepez
Not just a simple merge, but changes to remove CFX_Object from XFA. Original Review URL: https://codereview.chromium.org/1088733002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1087053002
2015-04-09Merge to XFA: Fix ref to timezone variable - removed in VS 2015Bruce Dawson
It turns out that 'timezone' has been deprecated for a while. If deprecation messages are enabled then VS 2013 says this when 'timezone' is referenced: warning C4996: 'timezone': This function or variable may be unsafe. Consider using _get_timezone instead. Sometimes features stay deprecated for decades, but in this case 'timezone' is now gone. Merged from change https://codereview.chromium.org/1075673002 TBR=tsepez@chromium.org BUG=440500 Review URL: https://codereview.chromium.org/1077773002
2015-03-02Merge to XFA: Return error information from pdfium to JS.Tom Sepez
Cherry-pick from b720d0a14601f1496ef15297bc46d401f5a2a890 + Manually resolve merge conflicts + Fix more IWYU to fix compile. Original Review URL: https://codereview.chromium.org/963193003 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/971013002
2015-01-02XFA: merge patch from CL 788143009, remove g_NaN var and constructorBruce Dawson
Doing the type conversion on demand is just as efficient as doing it at startup time, and makes for more efficient startup. Also mark g_nan as const, to reduce .data section size and enforce desired semantics. BUG=441899 TBR=bo_xu@foxitsoftware.com Review URL: https://codereview.chromium.org/788143009 Review URL: https://codereview.chromium.org/832933002
2014-12-30XFA: merge patch from CL 733693003, get rid of FX_LPCSTR castBo Xu
Get rid of FX_LPCSTR cast. Follow up on https://codereview.chromium.org/733693003 R=brucedawson@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/809993004
2014-12-15XFA: merge patch from issue 801913002 and 804463003John Abd-El-Malek
Simplify PDFium by removing code that's not used in the open source repo. -remove parameter from FPDF_InitLibrary -remove a bunch of ifdefs that are unused Fix build after previous commit. TBR=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/809513002
2014-11-17Merge to XFA: patch from CL 730993002Bo Xu