Age | Commit message (Collapse) | Author |
|
Turns out that "FromUnicode" is misleading in that, on linux, it simply
removes any characters beyond 0xFF and passes the rest unchanged, so
no unicode decoding actually takes place. On Windows, it passes it into
the system function specifying FX_CODEPAGE_DefANSI, converting it into
the so-called "default ANSI code plane", passing some characters,
converting others to '?' and still others to 'A'. Either way, nothing
resembling UTF8 comes out of this, so pick a better name.
These now immediately look suspicious, so a follow-up CL will see
which ones should really be WideString::UTF8Encode() instead.
Making this a normal method on a widestring rather than a static
method on a bytestring feels more natural; this is parallel to
the UTF8Encode and UTF16LE_Encode functions.
Add a test that shows these conversions.
Change-Id: Ia7551b47199eba61b5c328a97bfe9176ac8e583c
Reviewed-on: https://pdfium-review.googlesource.com/39690
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Because we don't want to trust anything V8 gives us back.
Use a deep namespace so we can have a short declaration in the
structs, but avoid collisions.
Change-Id: Ibb832a5dcd34c652159c3343dd70c9e2ee561537
Reviewed-on: https://pdfium-review.googlesource.com/38972
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Given the issues we've seen on the non-XFA side, be more careful
about using V8-provided data on the XFA side.
Change-Id: I13b7fa9ac852be74c8135410734445b2c9a23c97
Reviewed-on: https://pdfium-review.googlesource.com/38430
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
This CL changes the JS error produced by the CFXJSE_Class when a method
call returns with error. Instead of outputing something like:
JS Error: resolveNode.:
we will now get:
JS Error: Root.resolveNode:
which at least lets us know we're looking at the Root class.
Bug: pdfium:1097
Change-Id: I4982109398e290d9ebc2763fcc2421a642c581a5
Reviewed-on: https://pdfium-review.googlesource.com/34090
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
As it turns out, this doesn't cause any bugs with the FXJS/FXJSE
interaction since the magic values will never be present in the
other slot, but the code looks wrong wrt. the document.
Also fix an assert in FXJSE that our objects have two slots,
and null appropriately (just a defensive measure).
Also assert that one of our casts is valid.
Change-Id: I3146fe58350da5e9b76e711d81480565dabd587f
Reviewed-on: https://pdfium-review.googlesource.com/29859
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
The non-Isolate version will soon be deprecated.
Bug: v8:7269, v8:7282
Change-Id: I204e45bd73f5b809d6c44b77bbcf62d32e7ccbec
Reviewed-on: https://pdfium-review.googlesource.com/23058
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
|
|
This CL changes the CJX methods from void (*)(CFXJSE_Arguments*) to
CJS_Return (*)(CJS_V8* runtime, const std::vector<v8::Local<v8::Value>>&
params) which is closer to how CJS works in practice.
Change-Id: I3a3129268acfe4262dfeb04179919ed19f6c24e1
Reviewed-on: https://pdfium-review.googlesource.com/20491
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@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 moves the Format and FormatV methods of ByteString to be static.
Bug: pdfium:934
Change-Id: I9c30455a789aff9f619b9d5bf89c0712644f2d9a
Reviewed-on: https://pdfium-review.googlesource.com/18650
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@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>
|
|
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>
|
|
The definition of info.This is changing in v8. We want to work with
the Holder and not what info.This will be returning in the
future.
Change-Id: Ic988f62d225569398cfde84ab51c72ae620a991a
Reviewed-on: https://pdfium-review.googlesource.com/3147
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The -build/include setting was masking out build/include_what_you_use. This CL
restores them, fixes any build errors, and adds NOLINT as needed. As well,
the runtime/explicit and runtime/printf flags are aslo enabled and NOLINT'd.
lint cleanups
Change-Id: Ib013b3eb29c8d0e48cad74c5df9028684130719f
Reviewed-on: https://pdfium-review.googlesource.com/2030
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
|
|
When setting a new value for a V8 object property, the passed along
pointer of CFXJSE_Value is only used, but needs to be released by the
original owner. Use unique_ptr to have the pointer released
automatically.
BUG=pdfium:242
Review-Url: https://codereview.chromium.org/2328273004
|
|
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
|