summaryrefslogtreecommitdiff
path: root/fpdfsdk/src/javascript
AgeCommit message (Collapse)Author
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-24Introduce "underlying types" to abstract XFA differences.Tom Sepez
See the comment in fsdk_define.h. Also tidy up a bit, and remove dead DeletePages(). This should help us match master more closely (given corresponding changes on the master side). R=thestig@chromium.org Review URL: https://codereview.chromium.org/1473503002 .
2015-11-20Mising JS refactoring in XFA.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1463973002 .
2015-11-20Update XFA fpdfsdk to match masterTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1465663002 .
2015-11-16Merge to XFA: Reland "Cleanup some numeric code.""Dan Sinclair
This reverts commit 0569ab0b11b723d9bca4ddd642b0cf8828c4bdd1. This changes the various comparisons of char >= '0' && char <= '9' and char < '0' || char > '9' to use std::isdigit checks. It also cleans up a handful of hex to digit conversions to call one common method. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1449873003 . (cherry picked from commit 3f148915d12f54a946a0c0bf526162b79c39d650) Review URL: https://codereview.chromium.org/1452673002 .
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-11Merge to XFA: Replace CJS_Parameters with std::vector<CJS_Value>.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1437713003 . (cherry picked from commit f20a34c0f2dfca49f735a0f11147254c26831e7c) Review URL: https://codereview.chromium.org/1437863005 .
2015-11-11Merge to XFA: Cleanup CPDF_ApSettings and CJS_Parameters.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1432863004 . (cherry picked from commit 56e3da27d8bed8a6c03274b7b946e3f6d6ac11f4) Review URL: https://codereview.chromium.org/1436843003 .
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: Fix all relative includes to third_party.Lei Zhang
- In non-standalone builds, use the provided jpeg library. - Run gn format over all the GN files. - Also roll DEPS for buildtools to c2f2598. - And fix XFA's lack of #includes. BUG=541704 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425153006 . (cherry picked from commit 34bb6c58fe60206a08dc0a1f37b7cfe83e8c762c) Review URL: https://codereview.chromium.org/1434543003 .
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-11-04Merge to XFA: Cleanup: Remove some NULL checks in fpdfsdk.Lei Zhang
And simplify code. TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1411663013 . (cherry picked from commit ff5adbc0dfa71270a9979f0c3e1d27923c16218a) Review URL: https://codereview.chromium.org/1414793016 .
2015-11-04Merge to XFA: Make JS app.setTimeOut() work again.Lei Zhang
This regressed in commit 794c9b6. BUG=551248 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1424743006 . (cherry picked from commit 8cadf995e9a0fec8da19f69edac9d10fccca7eed) (cherry picked from commit 955930dce7e4b5c764cdd34b134baea4207de523) Review URL: https://codereview.chromium.org/1416663008 .
2015-11-04XFA: make JS_Define.h match masterTom Sepez
Remove parameter names in template specialization. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1416623004 .
2015-11-02Fix XFA compilation noise, part 1.Tom Sepez
Mainly: volatile/override/method shadowing. unused variables. intialization list init order. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1422113003 .
2015-10-21XFA: add CPDFDocumentToFPDFDocument()Tom Sepez
Abstracts away that master returns CPDF_Documents directly, but XFA wraps them with a CPDFXFA_Document. Tidy dead code along the way. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1415803002 .
2015-10-21Merge to XFA: Add type cast definitions for CPDF_Name.Dan Sinclair
This Cl adds ToName, CPDF_Object::AsName and CPDF_Object::IsName and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1417823005 . (cherry picked from commit 1c77edb7b34e03787605b7965784cea38ef9f1d7) Review URL: https://codereview.chromium.org/1417033004 .
2015-10-21Merge to XFA: Add type cast definitions for CPDF_String.Dan Sinclair
This Cl adds ToString, CPDF_Object::AsString and CPDF_Object::IsString and updates the src to use them as needed. BUG=pdfium:201 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1417933002 . (cherry picked from commit 53d3ab125ef583be8cfac907b308a6551b93067a) Review URL: https://codereview.chromium.org/1408323006 .
2015-10-21Merge to XFA: Add type cast definitions for CPDF_Number.Dan Sinclair
This Cl adds ToNumber, CPDF_Object::AsNumber and CPDF_Object::IsNumber and updates the src to use them as needed. BUG=pdfium:201 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1410673005 . (cherry picked from commit 83bf02dfb860a66d756434d194118dae572d04d3) Review URL: https://codereview.chromium.org/1422583002 .
2015-10-20[Merge to XFA] Add type cast definitions for CPDF_Boolean.Dan Sinclair
This CL adds ToBoolean, CPDF_Object::AsBoolean and CPDF_Object::IsBoolean and updates the src to use them as needed. BUG=pdfium:201 TBR=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1417623005 . (cherry picked from commit ce4f95d61f5aa5fb9a5fc6cb8487999a9cf46458) Review URL: https://codereview.chromium.org/1419663004 .
2015-10-14Next round of XFA changes to match master.Tom Sepez
This contains a missed merge of the Document:delay fixes. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1398703009 .
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-13Merge to XFA: Allow compiling PDFium without V8.Tom Sepez
Original Review URL: https://codereview.chromium.org/1395733006 . (cherry picked from commit f1c713663192368d26031a4caed1f9705f4510af) Conflicts: BUILD.gn fpdfsdk/src/fpdfview.cpp fpdfsdk/src/javascript/JS_Runtime.cpp pdfium.gyp samples/BUILD.gn samples/samples.gyp BUG=pdfium:211 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1393833006 .
2015-10-12Allow building of XFA branch without XFATom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1399833002 .
2015-10-08Merge to XFA: Wean CJS_Value off of v8::Isolate.Tom Sepez
(cherry picked from commit 287b63d9ab410783d71cf37291f09fd57d3059b4) Original Review URL: https://codereview.chromium.org/1394103002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1394053003 .
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-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-06Merge to XFA: Make the vast majority of JS headers private to src/javascript.Tom Sepez
(cherry picked from commit 5b3d0208723f21c50b9922bdc500c9d78c359a25) Original Review URL: https://codereview.chromium.org/1389783002 . New changes to fix IWYU in: fpdfsdk/include/fpdfxfa/fpdfxfa_app.h xfa/include/fxfa/fxfa.h xfa/include/fxfa/fxfa_objectacc.h R=thestig@chromium.org Review URL: https://codereview.chromium.org/1388023003 .
2015-10-05Merge to XFA: Remove pointless CPDFSDK_PageView usage in CJS_Object / ↵Lei Zhang
CJS_EmbedObj. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1374723004 . (cherry picked from commit 4942ed7a79188bd832c2a599e7dd94ea59b674ae) Review URL: https://codereview.chromium.org/1390623003 .
2015-10-05Merge to XFA: CJS_Timer should observe CJS_Runtime destruction.Lei Zhang
Also remove dead CJS_EmbedObj::{Begin,End}Timer code. BUG=539107 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1384883002 . (cherry picked from commit 794c9b67d3d519342aa7e15052766f7d4a99f551) Review URL: https://codereview.chromium.org/1386053002 .
2015-10-05Merge to XFA: Remove JavaScript.hTom Sepez
Small manaul merge in JS_Object.cpp (cherry picked from commit 5e8b7356d68e35d7d631a2a917e651a4e7c73b65) Original Review URL: https://codereview.chromium.org/1385983002 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1381233005 .
2015-10-02XFA: Remove more checks for new returning NULL.Lei Zhang
This is partially based on https://codereview.chromium.org/1198903002/ R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1377733005 .
2015-09-22Merge to XFA: Use std::set<> to track active event handlers.Tom Sepez
Merge conflicts in JS_Runtime.cpp (cherry picked from commit d8d223127d706aa4961b2c9b0037ab256fce9a8f) Original Review URL: https://codereview.chromium.org/1352393003 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1365503003 .
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-21Merge to XFA: Remove CJS_RuntimeFactoryTom Sepez
New edits in: fpdfsdk/include/fpdfxfa/fpdfxfa_app.h fpdfsdk/include/javascript/IJavaScript.h fpdfsdk/src/fpdfxfa/fpdfxfa_app.cpp (cherry picked from commit bca779d0957965eb2ebfad5479e0894844749626) Original Review URL: https://codereview.chromium.org/1360523004 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1348393007 .
2015-09-21Merge to XFA:More tidy of CJS_Object, kill implicit cast operatorTom Sepez
(cherry picked from commit 270fc65d5824eeedbb2ed17516a72721bde9c9ef) Original Review URL: https://codereview.chromium.org/1349423006 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1357243002 .
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-14Merge to XFA: Get CJS_RuntimeFactory out of CJS_GlobalData management.Tom Sepez
(cherry picked from commit 9a817f092e6800e9338b41acf4ea0416b6ad4467) Original Review URL: https://codereview.chromium.org/1338993005 . Small manual merge in fpdfsdk/src/javascript/JS_GlobalData.cpp fpdfsdk/src/javascript/global.cpp TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1341913002 .
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-11Merge to XFA: Rename Init methods to more accurately describe purposeTom Sepez
(cherry picked from commit df4de98c06075b0e491ac645f2d118a6813cedc9) Trivial manual merges in fpdfsdk/include/javascript/JS_Runtime.h fpdfsdk/src/javascript/JS_Runtime.cpp Original Review URL: https://codereview.chromium.org/1335763002 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1334313002 .
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 .