Age | Commit message (Collapse) | Author |
|
Currently a CXFA_Node can be owned by the CXFA_Document root pointer,
the CXFA_Document Purge list or as a child of another CXFA_Node. This
makes it hard to know who currently owns what.
This CL moves all ownership of nodes into a CXFA_NodeOwner class which
CXFA_Document subclasses. The node owner always owns all nodes and is
responsible for cleaning them up upon destruction. The destruction order
is not guarenteed to be in tree order as nodes can be inserted and moved
around the tree.
Change-Id: I6b202b8e844999ba835093dcdd1a808938b6d9a8
Reviewed-on: https://pdfium-review.googlesource.com/26434
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up some of the code around creating the XML nodes related
to the UI widgets.
Change-Id: Ib91364439ab039f46e44690e92cc0cb93a8da203
Reviewed-on: https://pdfium-review.googlesource.com/23770
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the calls to CXFA_Node::GetWidgetAcc() as they
redundantly return the node they were called upon.
Change-Id: I46e66cf98137a1dee7cd3fa8bc7d379eb97fded5
Reviewed-on: https://pdfium-review.googlesource.com/23630
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL merges CXFA_WidgetAcc into CXFA_Node.
Change-Id: Iab52ca7f98c9dcd4ab089c61b8f1324a565bf647
Reviewed-on: https://pdfium-review.googlesource.com/23610
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This Cl converts the code which retrieved the containers WidgetAcc to
retrieve the container itself and then get the WidgetAcc from the
container.
Change-Id: Ib279a150500d1204e3d18f11f6a638c1f6c368ec
Reviewed-on: https://pdfium-review.googlesource.com/23350
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL updates CXFA_Object to have a flag which annotates if the node
is ready. Ready means that we've gone through the OnNodeReady call in
CXFA_FFNotify. Previously we'd check if the WidgetAcc exists on the node
which is created in OnNodeReady.
This CL replaces all the points where we check for a WidgetAcc existing
with a IsWidgetReady() call.
Change-Id: I54e8160269c3104cdae7a516c1814c13bee15130
Reviewed-on: https://pdfium-review.googlesource.com/23190
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL renames the methods in CXFA_Box to make it clearer they can
return nullptr.
Change-Id: I521c0e06af306f69e390a4057cabb7777a0d72f5
Reviewed-on: https://pdfium-review.googlesource.com/22740
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Rename GetItem to make it clearer it can return nullptr.
Change-Id: I0e09a79c3e2244b08212d3b51d3ad0e6a86edfd9
Reviewed-on: https://pdfium-review.googlesource.com/22713
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
These two accessors exist with other names or signatues, remove.
Change-Id: Ieac073b746553160e4f2c41d9b63be47ad0ab61f
Reviewed-on: https://pdfium-review.googlesource.com/22711
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL renames the validation methods to make it clear they can return
nullptr.
Change-Id: I60d0c41cdfe9902049d99cd790f851517b11a6d9
Reviewed-on: https://pdfium-review.googlesource.com/22682
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL makes it explicit that GetTemplateNodeIfExists can return
nullptr. Various call sites are updated as needed.
Change-Id: If6edd5962b59e7e4ce3dbe9bbdc957783cf76abe
Reviewed-on: https://pdfium-review.googlesource.com/22678
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL makes it explicit that GetOrCreateFontIfPossible can return
nullptr.
Change-Id: Ib5be6995e4225ad596dfb78a94f0bc56802716cc
Reviewed-on: https://pdfium-review.googlesource.com/22674
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL makes it explicit that GetOrCreateBorderIfPossible can return a
nullptr.
Change-Id: I41d5e7ee506e95d95349e1e06198e40e8afa073c
Reviewed-on: https://pdfium-review.googlesource.com/22672
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the generic CXFA_Node::GetNodeItem(type) method for
specific calls to get the parent, child or siblings.
Change-Id: Ief68284ac7b954aaa4ed7120dd82a39f8b52656a
Reviewed-on: https://pdfium-review.googlesource.com/22650
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL converts the various methods Get methods which take a boolean
value to explicit Get* and GetOrCreate* methods to make the usage
clearer.
Change-Id: I2af68448b1b69b95713e739bf7fe14a4336d2b65
Reviewed-on: https://pdfium-review.googlesource.com/22590
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL change the CJX code to not store the pointer to the
CXFA_WidgetAcc. If needed the CJX object gets the Acc from the Node
itself.
Change-Id: I5a5a500b8fbc1749d362346d72678acd5250d112
Reviewed-on: https://pdfium-review.googlesource.com/22411
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves methods from WidgetAcc which just proxy to CXFA_Node.
Change-Id: Icf1006b4be3f91077de411ed1a571b1507117602
Reviewed-on: https://pdfium-review.googlesource.com/22391
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I29769f78eaad10c6a8b79e27524336c4f330377e
Reviewed-on: https://pdfium-review.googlesource.com/22258
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL merges the CXFA_WidgetData class into the only subclass,
CXFA_WidgetAcc. Code has been updated as needed.
Change-Id: I3f5bc83b1422bcbe065276b16bfb91e656f5c174
Reviewed-on: https://pdfium-review.googlesource.com/22252
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CXFA_EventData wrapper and puts the code into
CXFA_Event.
Change-Id: I799a641c434ff926f3ddade1f47845b5666dbbec
Reviewed-on: https://pdfium-review.googlesource.com/21991
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CXFA_FontData wrapper and puts the functionality
into CXFA_Font.
Change-Id: Id7e3a71106816a05843a62645f5955a70f7eaeaa
Reviewed-on: https://pdfium-review.googlesource.com/22113
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CXFA_FillData wrapper and puts the code directly in
CXFA_Fill.
Change-Id: I44ae8b53978b659480a4bb32719d086c7b91b49b
Reviewed-on: https://pdfium-review.googlesource.com/22210
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes CXFA_StrokeData to CXFA_Stroke and changes the
inheritance form CXFA_DataData to CXFA_Node. The CXFA_EdgeData and
CXFA_CornerData classes are removed and the node equivalents are changed
to inherit from CXFA_Stroke.
Change-Id: I8aa4365a8ed79c29c3a4c34879abe898a188b7de
Reviewed-on: https://pdfium-review.googlesource.com/22151
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL renames CXFA_BoxData to CXFA_Box and sets it to inhert from
CXFA_Node instead of CXFA_DataData. The CXFA_BoxData subclasses,
CXFA_RectangleData, CXFA_BorderData and CXFA_ArcData classes are removed
and the nodes now inherit from CXFA_Box.
Change-Id: Ia0df7d56535b5d90be29f040180a5d5fc55a64e0
Reviewed-on: https://pdfium-review.googlesource.com/22091
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL folds the CXFA_OccurData wrapper into CXFA_Occur.
Change-Id: I52e237e4f6b76f6915c397e924037562fd9eda6a
Reviewed-on: https://pdfium-review.googlesource.com/22130
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CXFA_MarginData wrapper and moves the methods
directly to CXFA_Margin.
Change-Id: I7c9e979fb78d0d356605f1318489daabcb8c32cd
Reviewed-on: https://pdfium-review.googlesource.com/22110
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
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>
|
|
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 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>
|
|
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 changes the DefineMethod, DefineProps and DefineConsts methods
to pass a size instead of depending on a sentinel value in the
definition arrays.
Change-Id: Ie054544124290c0833a8b21af175a203ca99591a
Reviewed-on: https://pdfium-review.googlesource.com/20551
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@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>
|