Age | Commit message (Collapse) | Author |
|
This CL adds a type template to the CJX_Object::GetProperty method so we
can have the correct types returned.
Change-Id: Ieda8ec4bd31d26a1e71af30f08b48eb826f5993d
Reviewed-on: https://pdfium-review.googlesource.com/21250
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL templates the various Get methods in CXFA_Node in order to
return the correct node type.
Change-Id: I4f50df6dd9213873deb8f8f262eaf579c6c4ca7d
Reviewed-on: https://pdfium-review.googlesource.com/21230
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Currently CXFA_Node::GetChild always returns a CXFA_Node* object. We
know the type we want when we call GetChild, so this CL changes the code
to add a template parameter to GetChild and return the correct CXFA_Node
subtype for the desired element.
Change-Id: I5aecf2e840504235dc246483abee48e0564841fe
Reviewed-on: https://pdfium-review.googlesource.com/21210
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CXFA_ScriptData wrapper and uses CXFA_Script
directly.
Change-Id: I1f1932ef96ee4a24407de7eb1d68b8631a5a67ea
Reviewed-on: https://pdfium-review.googlesource.com/21173
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
CXFA_SubmitData is a thin wrapper around CXFA_Submit. This CL folds the
two classes together.
Change-Id: I867b6db067786d232df2a25c1ba7b29d6d454f8e
Reviewed-on: https://pdfium-review.googlesource.com/21190
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL folds the CXFA_TextData back into CXFA_Text. CXFA_TextData is a
thin wrapper around the CXFA_Text object.
Change-Id: I4edc37f2ac66fc9b662942d3351fce6b697f27c7
Reviewed-on: https://pdfium-review.googlesource.com/21172
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
The CXFA_ValueData class is a thin wrapper around the CXFA_Value, this
CL moves the methods from CXFA_ValueData into CXFA_Value.
Change-Id: I2c57e93e5c4675b82af71cf75f2dfc0fb12e4b20
Reviewed-on: https://pdfium-review.googlesource.com/21170
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
The ValidateData class is a thin wrapper around the Validate class. Now
that the Validate class exists we can fold the methods from ValidateData
into Validate.
Change-Id: I1e72f4b7bddeb22a311f4fe9a5940204221b6d2a
Reviewed-on: https://pdfium-review.googlesource.com/21150
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL creates classes for the various XFA JS objects. The method
calls from xfa_basic_data_element_script have been modified to call
these methods instead of methods in CJX_Object.
Change-Id: Idb2de38656f7e8edc559d44921eba25073e6c806
Reviewed-on: https://pdfium-review.googlesource.com/21110
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This removes the double adding to the cache list in the engine that is
occuring for TreeList. It also sets the correct TreeList specific
values at the Object level.
BUG=pdfium:665
Change-Id: Ie972daee4c638f34ad207f6502dc6d34cbebf1b6
Reviewed-on: https://pdfium-review.googlesource.com/21171
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL converts all of the JSNode() to JSObject() calls as all of the
original CJX_Node methods have been moved to CJX_Object. This fixes
potential bad casts from things like CJX_Content which do not inhert
from CJX_Node.
Bug: pdfium:793372
Change-Id: I6c7f63a78f3d47bb6bad74faed3fd8c535bf095e
Reviewed-on: https://pdfium-review.googlesource.com/21090
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I9ebacd18252a837f1f5f13ccaec19b196bacc3ae
Reviewed-on: https://pdfium-review.googlesource.com/21072
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_* from CJX_Node to CJX_Object.
Change-Id: I9f063c9d796896ba34be802a8ef8f108911ed56c
Reviewed-on: https://pdfium-review.googlesource.com/20972
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Som_* from CJX_Node to CJX_Object.
Change-Id: Iacb21758d9bf83f148044af225c710ad7d8521d2
Reviewed-on: https://pdfium-review.googlesource.com/20993
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Som_*Message from CJX_Node to CJX_Object.
Change-Id: I04b7e03aa78d14d7d5dba1926a808cef852d5218
Reviewed-on: https://pdfium-review.googlesource.com/20992
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Som_{Fill|Font}Color from CJX_Node to
CJX_Object.
Change-Id: I681d2c09a7560eb96967bbbbcb050246f4b879c0
Reviewed-on: https://pdfium-review.googlesource.com/20991
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Som_Border{Width|Color} from CJX_Node to CJX_Object.
Change-Id: I07ba9ef2af675993c9f4d14cb74f48252a907569
Reviewed-on: https://pdfium-review.googlesource.com/20990
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Attribute_Integer from CJX_Node to CJX_Object.
Change-Id: Iec9d38440756827fa52561cb5938af4041738ad5
Reviewed-on: https://pdfium-review.googlesource.com/20951
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Attribute_BOOL from CJX_Node to CJX_Object.
Change-Id: I0e5509f49c77897cb17a01fb9fa3abf0cb6074ae
Reviewed-on: https://pdfium-review.googlesource.com/20970
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The CJX_Node isn't the root of the CJX hierarchy. This causes issues
now that CJX_Object has child objects which don't inherit from CJX_Node.
This CL moves Script_Attribute_String from CJX_Node to CJX_Object.
Change-Id: Icbf1cb3ea132e358fd53f00008c0b748ed4cc941
Reviewed-on: https://pdfium-review.googlesource.com/20950
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves the remaining CJX clases into fxjs/xfa so they co-exist
with the rest of the CJX classes.
Change-Id: I2b1e5504ac23f73df177f309967a04ab27fb61d1
Reviewed-on: https://pdfium-review.googlesource.com/20550
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@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>
|
|
This CL moves the XFA SOM JS Method information out of the c-array and
into individual CJX class files.
Change-Id: I401046a06aacaf1f04e5a51eb899e479de012e15
Reviewed-on: https://pdfium-review.googlesource.com/20450
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=pdfium:951
Change-Id: I4b82ce81c8db3f00fa2341c6fb853ed84814e5e5
Reviewed-on: https://pdfium-review.googlesource.com/20510
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL fixs up some nits from previous CL.
Change-Id: I3d24d149d91b1290258291f5b79894496b195459
Reviewed-on: https://pdfium-review.googlesource.com/20290
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
To avoid confusing UnownedPtr.
BUG=chromium:791616
Change-Id: Ieb637f726049eee7c640b6de3b6ecd848ab40384
Reviewed-on: https://pdfium-review.googlesource.com/20391
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL removes the SetResultCreateNode method and inlines into the one
caller. The XFA_RESOLVENODE_RSTYPE enum is also renamed
XFA_ResolveNode_RSType to make it easier to find XFA_RESOLVENODE_RS
objects.
Change-Id: I937b612be062c5b7b05fd8d2822cd12cb882ba06
Reviewed-on: https://pdfium-review.googlesource.com/20370
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CXFA_ValueArray. Some of the code in
XFA_RESOLVENODE_RS is duplicated, but the duplication makes the code
clearer.
Change-Id: I7495bb8c614a3d8919bfca858866932774f13fd8
Reviewed-on: https://pdfium-review.googlesource.com/20350
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The return value of ResolveObjects is always used as a boolean, so
change from int32_t. The XFA_RESOLVENODE_RS object was made a pointer
from a ref.
Change-Id: I030036c01101680e36f4ddf524b468354a2e6850
Reviewed-on: https://pdfium-review.googlesource.com/20331
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves some XFA code around to better match the files in which it
is either used or defined.
Change-Id: Iec3df187326e48189a048355a8bef76cccb4cdb4
Reviewed-on: https://pdfium-review.googlesource.com/20250
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Fix/cleanup ctors/dtors in related classes.
Change-Id: Ia05ec9b6892fd7d19d0a417fc1226a407e3ac260
Reviewed-on: https://pdfium-review.googlesource.com/20216
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Fix ownership issues, and simplify CXFA_SimpleParser ctors.
Change-Id: Ie083080297c5c2586ae3e6a8355839fcb86ee9ea
Reviewed-on: https://pdfium-review.googlesource.com/20130
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I3efc57cd7325d16e3ca8ebdeeaec06012b2c56e3
Reviewed-on: https://pdfium-review.googlesource.com/20110
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL cleans up the XDP packet parsing code. This is followup from a
previous CL.
Change-Id: Ic4a855e67e1b22d0703e53e9a2a9b4923775b6ad
Reviewed-on: https://pdfium-review.googlesource.com/20090
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes the enum XFA_ATTRIBUTEENUM to an enum class
XFA_AttributeEnum. Methods expecting an int32 have been updated to take
or return the XFA_AttrbuteEnum type.
Change-Id: I268453949545fe2dd3eae707be4d9cc7edeff763
Reviewed-on: https://pdfium-review.googlesource.com/20070
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves the packet information into the anonymous namespace of the
simple parser. There is slight duplication in that two of the namespace
URIs have been copied into other files but this duplication allows for a
bunch of simplification.
Change-Id: I33092424ff4cb57eaf85da97a92fa6cf7b11f2ef
Reviewed-on: https://pdfium-review.googlesource.com/20050
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
This CL changes the various parsers to use XFA_PacketType instead of
XFA_XDPPACKET. This just leaves XFA_XDPPACKET for determining if a given
node can be created in a given packet.
Change-Id: I6fd23480c0c780a131d23b64b7c7e9d8684b0220
Reviewed-on: https://pdfium-review.googlesource.com/20013
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
When a CXFA_Node is created it's created as part of a specific packet.
Previously the code would accept an XFA_XDPPACKET which was stored
internally. This had the potential to allow a node to exist in multiple
packets.
This CL changes the XFA_XDPPacket to the XFA_PacketType enum class and
cleans up a lot of uses to use the more specific packet type.
Change-Id: I7fc8c843bfa6bd32295ae58a26bcec311e43c4b0
Reviewed-on: https://pdfium-review.googlesource.com/20012
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Remove GetPacketByID, move GetPacketByName to the xfa_utils file.
Cleanup CreateNode to accept the XFA_XDPPACKET instead of the packet
info.
Change-Id: I0f246c84f61b6b4175ca307bdcd125d9bc24bb1e
Reviewed-on: https://pdfium-review.googlesource.com/20010
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes XFA_GetAttributeEnumByName and moves the functionality
into CXFA_Node::NameToAttriuteEnum.
Change-Id: Id1484103c62bf7728d5406c22fb9d83fc0e032e1
Reviewed-on: https://pdfium-review.googlesource.com/19791
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This is more consistent with the attribute and element to name methods.
Change-Id: I3a7f9246d6fbaffa27a0068d8f93e717f5801d2a
Reviewed-on: https://pdfium-review.googlesource.com/19851
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Now that the attributes are stored per node we don't need to store the
packets for a given attribute as the node is already restricted to
certain packets.
Change-Id: Ic8916f5e045a14a437e1487445c0742e6d5def44
Reviewed-on: https://pdfium-review.googlesource.com/19830
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
This CL moves the attribute information out of the xfa basic data array
and stores in the generated nodes.
Change-Id: Id8e280324bf0f75a1da9c937c2734d161324242d
Reviewed-on: https://pdfium-review.googlesource.com/19271
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
We never use the ::Angle unit internally, we just access the value. This
CL changes the default value to an Integer and drops the measurement.
Change-Id: I85d6d84956595bb0576db42d287f54a5a3db1bed
Reviewed-on: https://pdfium-review.googlesource.com/19790
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the static initialized CXFA_Measurement items and
replaces them with strings which are converted to measurements at
runtime.
Bug: pdfium:804
Change-Id: I60422b6ddff750d504a5a8b62de6ad896fc80caf
Reviewed-on: https://pdfium-review.googlesource.com/19770
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
When accessing the margin data for a widget, the Inset values can come
back as empty optionals. Those would only get values if there was a
border data node present. If there is no border data node, we need to
default the optional value.
Bug: chromium:788246
Change-Id: Id3d5b76e8dc9d391aaa0d0440bf6ee2e2636fcdc
Reviewed-on: https://pdfium-review.googlesource.com/19671
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
When walking the Node name list, we need to verify the element returned
is not the end element, not just if the element is not null.
Bug: chromium:789113
Change-Id: I04c33a8f2066891e6031035e469c677c404fd724
Reviewed-on: https://pdfium-review.googlesource.com/19670
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL adds helpers to CXFA_Node to get the type of an attribute and
the default value for a given attribute.
Change-Id: I8bf41f568fe1da650fb3df4232b63d2e48038e07
Reviewed-on: https://pdfium-review.googlesource.com/19330
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the xfa_utils helper and does the work directly in
CXFA_Node.
Change-Id: I4f7cac9cb6d2a53ac5627f50a2f066f79fc22a31
Reviewed-on: https://pdfium-review.googlesource.com/19290
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL adds helpers to CXFA_Node to convert from strings to attributes
and from attributes to their string names. A static_assert was added to
make sure the list of attributes is the same size as the attribute data
so the checks can be removed.
Change-Id: Idebc65021d71f604bcf498e4cf42252af00d802b
Reviewed-on: https://pdfium-review.googlesource.com/19270
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|