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 changes the ASSERTs used in CXFA_Node::InsertChild and
RemoveChild to PDFIUM_IMMEDIATE_CRASH. The ASSERTs are compiled out in
Release mode, we want to make sure we don't accidentally build invalid
node trees in Release.
Change-Id: Ic96c8ab457631d1f32d36d7d12bd5888f1cf4b0a
Reviewed-on: https://pdfium-review.googlesource.com/26431
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL adds a prev_sibling_ pointer into CXFA_Node and updates the code
as needed.
Change-Id: I3125f59780da34dc26a176c7264a31335be528fe
Reviewed-on: https://pdfium-review.googlesource.com/26410
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL adds tests for CXFA_Node::InsertChild and CXFA_Node::RemoveChild
methods.
Change-Id: I6ef9e76dfbfa8a9b8246620ecf80c88812b332fc
Reviewed-on: https://pdfium-review.googlesource.com/26371
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL changes the CXFA_Node parent pointer back to a raw pointer from
an UnownedPtr. The other tree pointers have been renamed for clarity.
Change-Id: I366a0b5b41d49d87b11bec0eea9890fbc79c1c62
Reviewed-on: https://pdfium-review.googlesource.com/26370
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This reverts commit f0e386de64e030f6d692acfa27e2bc0a50018710.
Reason for revert: After chatting with tsepez@, we've got a better direction to take these changes.
Original change's description:
> Convert CXFA_Node to store a vector of children
>
> This CL changes CXFA_Node to use a vector of nodes as children instead
> of a singly linked list of siblings and child pointers.
>
> Change-Id: Ica8219f63d783a07d90b9541ae62a35c49166e44
> Reviewed-on: https://pdfium-review.googlesource.com/26030
> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
> Commit-Queue: dsinclair <dsinclair@chromium.org>
TBR=dsinclair@chromium.org,hnakashima@chromium.org,rharrison@chromium.org
Change-Id: I115779a292d39694ad5faf0b748a617c491b40f0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://pdfium-review.googlesource.com/26070
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes CXFA_Node to use a vector of nodes as children instead
of a singly linked list of siblings and child pointers.
Change-Id: Ica8219f63d783a07d90b9541ae62a35c49166e44
Reviewed-on: https://pdfium-review.googlesource.com/26030
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Mechanically uniquify all the kFoo variables in xfa/fxfa/parser.
BUG=pdfium:964
Change-Id: Iffe15015282d572147f31f2101fa0127f2198620
Reviewed-on: https://pdfium-review.googlesource.com/25890
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This CL removes the unused return values from InsertChild and
RemoveChild methods in CXFA_Node.
Bug: chromium:807863
Change-Id: Iac468afc5c48f51e7df3ea12d11b128a0ac124ea
Reviewed-on: https://pdfium-review.googlesource.com/25670
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL converts the CXFA_Node parent pointer to be an Unowned pointer
instead of a raw pointer.
Bug: chromium:807863
Change-Id: I266c9216cfe8153e234bf66b88fbac6c8d96ebb4
Reviewed-on: https://pdfium-review.googlesource.com/25650
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Also tidy some sub-expressions.
Change-Id: Ieabd5f6cea60e8ec03c8ce5ebe372fc80b05a7bb
Reviewed-on: https://pdfium-review.googlesource.com/25150
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
No change in functionality yet, just passing higher level object.
Precursor to maybe sharing v8 context between fxjs / fxjse.
Mark unimplemented ctors / assignment operator as "delete".
Change-Id: I100de7755909eec2eed96f6f51216d85923ffbb2
Reviewed-on: https://pdfium-review.googlesource.com/25050
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This CL moves the static construction values from the cpp to the h file.
Change-Id: I04ff6513be2287582b90453390e5bd44c5b47d68
Reviewed-on: https://pdfium-review.googlesource.com/24870
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=pdfium:798
Change-Id: Ie680eff06fdee49d843e0cb847ee9c919975cfb5
Reviewed-on: https://pdfium-review.googlesource.com/24779
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
This CL moves anonymous namespace methods in CXFA_ItemLayoutProcessor to
be private methods and then fixes the visibility on most of the
methods/data to be private.
Change-Id: Idfccbc53b94628b18bc3576e4466391b0f704b44
Reviewed-on: https://pdfium-review.googlesource.com/24851
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL replaces XFA_ItemLayoutProcessor_IsTakingSpace with a
PresenceRequiresSpace call on CXFA_Node.
Change-Id: Ibf570f25eeb3404d72e87cb62e06a7ad70f0916f
Reviewed-on: https://pdfium-review.googlesource.com/24850
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the two params from NumericLmits which are always set to
the same value and retrieves the values in the method itself.
Change-Id: Ibeabdc7187faa58e93ffbe00063171fec0842256
Reviewed-on: https://pdfium-review.googlesource.com/24717
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves more code out of the CXFA_Node class and into specific
subclasses.
Change-Id: Idca36f251431bf7efd4da045aeabf097ab23f0ce
Reviewed-on: https://pdfium-review.googlesource.com/24714
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves some of the code specific to CheckButtons out of CXFA_Node
and into the CXFA_CheckButton class. The CheckButton is passed as a
parameter to the CXFA_FFCheckButton class.
Change-Id: I3344c484d90e3b8d1024024a2851685044113a23
Reviewed-on: https://pdfium-review.googlesource.com/24711
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL combines some ComboBox with ListBox code to remove duplication
when dealing with choice lists.
Change-Id: I735b6596c67aaf80ab96573af5c8d81e7875c27c
Reviewed-on: https://pdfium-review.googlesource.com/24551
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL adds a CXFA_FFDropDown to serve as a base class for the
CXFA_FFComboBox and CXFA_FFListBox and adds a virtual InsertItem and
DeleteItem methods.
Change-Id: I325ffc579ed42a4755bae0c4d18667f8a9458950
Reviewed-on: https://pdfium-review.googlesource.com/24550
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Make methods private or remove if not needed.
Change-Id: I2f9f718ba08a4b49332c896d2385ec60cf9cf01b
Reviewed-on: https://pdfium-review.googlesource.com/24490
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL folds the GetNodeSameClassIndex, GetNodeSameNameIndex from
CXFA_Node into the CJX_Tree callsites.
Change-Id: Ia4f7750543e786ddd82abb4b6b4bde1bf1710f19
Reviewed-on: https://pdfium-review.googlesource.com/24471
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL moves the barcode specific code out of CXFA_Node and into
CXFA_Barcode. The CXFA_FFBarcode widget was modified to take the barcode
as a parameter.
Change-Id: I8ff91cb58402665f4ba63f2eeced45feeaa9ff50
Reviewed-on: https://pdfium-review.googlesource.com/24450
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL converts the UIType to an XFA_FFWidgetType instead of reusing
the XFA_Element type. The creation code is cleaned up to make it clearer
what's happening.
Change-Id: I5d3e4967d5c8b8a50dbb25e574b0d31fe0cf407a
Reviewed-on: https://pdfium-review.googlesource.com/24390
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the empty FFDraw and FFSubForm classes and uses the
FFWidget base class directly.
Change-Id: If65ee85fda78774bb90d6fec60ca5529cc37f3e0
Reviewed-on: https://pdfium-review.googlesource.com/23971
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The Draw element is one of the two cases where we will determine an
actual widget type. This CL removes the FFDraw from the widgets which
can be created directly.
Change-Id: I74d53b736d73cf0d88c6177b4e1d14e73497bf60
Reviewed-on: https://pdfium-review.googlesource.com/23970
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL shifts the retrieval of the UI child earlier in the method so we
can group all of the code which sets the widget type.
Change-Id: Iabdbd7ae2e6d3f648ce78e93c263be66f62946ba
Reviewed-on: https://pdfium-review.googlesource.com/23790
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL renames eUIType to make it clear it's the type for the value
node we need to create, not the UI node we're creating.
Change-Id: I7ffe86b07a2ccf81114e7d1a6a41f520b864a61f
Reviewed-on: https://pdfium-review.googlesource.com/23771
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@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 cleans up the usage of pUI in CreateUIChild. The node can't be
null per spec so ASSERT that's true. Cleanup the search for children to
make it clearer what is happening.
Change-Id: I856de8ebf89fe0bc61942e7ad2a1131a7878c511
Reviewed-on: https://pdfium-review.googlesource.com/23730
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
When we retrieve the first Value node from a Field or a Draw element it
either must exist, or must be created. If that doesn't happen something
has gone very wrong.
Change-Id: I818aaf9d361336c898035fe542e5b37a33fef0ea
Reviewed-on: https://pdfium-review.googlesource.com/23710
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes CreateUIChild to be a method on node instead of
accepting the node as a parameter.
Change-Id: I5bf84cee010c1c02966def987a3bc2bcc7db0324
Reviewed-on: https://pdfium-review.googlesource.com/23690
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
This CL changes the code to only call CreateUIChild for Field and Draw
elements. Other types are handled all the callsite.
Change-Id: I2dd2553c14ebc1f0849b3bfd311e75ad8922aa0d
Reviewed-on: https://pdfium-review.googlesource.com/23670
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the node scaffolding added when merging CXFA_WidgetAcc
into CXFA_Node.
Change-Id: I02a6b80d2c910816b1aec613078d4871c29369b3
Reviewed-on: https://pdfium-review.googlesource.com/23650
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@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 updates CXFA_FFDocView methods and members to use CXFA_Node
objects instead of CXFA_WidgetAcc objects.
Change-Id: Ic79af39ef49152a6d50ed5acfc153063db39353d
Reviewed-on: https://pdfium-review.googlesource.com/23590
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes unused methods, makes internal methods private and
removes unused default params.
Change-Id: Ic83a97e3f751a49d3f9fc7c157e8d34a62818cd5
Reviewed-on: https://pdfium-review.googlesource.com/23570
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Not called, removed.
Change-Id: I2921407ed1b0e13763fcd150a092f4c2b45eb440
Reviewed-on: https://pdfium-review.googlesource.com/23531
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL folds GetWidgetAccByName back into GetWidgetByName.
Change-Id: I48c0aa443c92adfff27c1001f6dc90084b7bc8c3
Reviewed-on: https://pdfium-review.googlesource.com/23530
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes places where we store CXFA_WidgetAcc into a variable and
uses the accessor from CXFA_Node instead. This will ease the removal of
CXFA_WidgetAcc.
Change-Id: I7a6cb0079bb119481a5ae60679a537799b3be2c9
Reviewed-on: https://pdfium-review.googlesource.com/23510
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL converts the WidgetAcc iterator to return nodes in which the
OnReady event has been fired.
Change-Id: I5ec6809c1610ac3467019d8492121901d3845a37
Reviewed-on: https://pdfium-review.googlesource.com/23490
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes CXFA_FFField::CalculateNode to use a CXFA_Node instead
of a CXFA_WidgetAcc.
Change-Id: I305e0d48f321df845ca2c1ff0f446d201ae7b3fb
Reviewed-on: https://pdfium-review.googlesource.com/23471
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Remove CXFA_WidgetAcc forward declarations from files which don't need
them.
Change-Id: I5014872f78e764024590852b920901a49966eff6
Reviewed-on: https://pdfium-review.googlesource.com/23470
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL changes the CXFA_EventParam code to store a CXFA_Node instead of
a CXFA_WidgetAcc.
Change-Id: I21510674b0b6435ca9b87bfbf97914f54e5e3464
Reviewed-on: https://pdfium-review.googlesource.com/23451
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL removes CXFA_WidgetAcc from CXFA_FFWidgetHandler and uses
CXFA_Node directly.
Change-Id: I88cf1edc53f4489aeac018a95e9d5936d85106db
Reviewed-on: https://pdfium-review.googlesource.com/23450
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL removes the GetLocale method from CXFA_WidgetAcc and calls the
CXFA_Node method directly. The node is always provided to CXFA_WidgetAcc
so an asset is added and subsequent checks removed.
Change-Id: I7495cd3a9678762e9e6fdecdf13104604d190280
Reviewed-on: https://pdfium-review.googlesource.com/23430
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
|
|
This CL updates CXFA_FFNotify to use CXFA_Node instead of CXFA_WidgetAcc
in its methods.
Change-Id: I5036767f439ba0794a7b2b9df1898aad8390f987
Reviewed-on: https://pdfium-review.googlesource.com/23411
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the unused WidgetAcc param from both methods and updates
callsites as needed. The include for cxfa_widgetacc.h was removed from
fxfa.h and had to be inserted in locations where needed.
Change-Id: I55ae9e935a948dff3b6d906b4567665e60530eba
Reviewed-on: https://pdfium-review.googlesource.com/23391
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|