Commit Graph
372 Commits
Author SHA1 Message Date
bflatastic 5f860fb5ff Fit the landed changes together: the XFA split's break search gets its own function, keeping it under clippy's complexity limit 2026-11-09 21:06:46 +07:00
bflatastic 28585c01a5 Fit the landed changes together
- engine: the on_changes test's XfaRun literals set highlight; the script
  runner reads its template before borrowing the live form for to_js; has_event
  reads the paged live form, as the rest of the runner does, so focus scripts
  find a page-master copy by its own SOM path.
- js: property reads compare and copy the shared (Arc<str>) node text, and the
  property tests build XHost with its current signature.
- xfa: the Emitter test literal sets groups and used; a field split that is
  undone also restores the names handed out; rustfmt on a merged import.
- parity: drop the use/usehref gap from form.xfa-dynamic, as prototypes are now
  resolved before the template is parsed.
2026-11-09 18:46:50 +07:00
bflatastic 720a841981 Merge #5393: M12: a picture an XFA form links is drawn from the PDF's XFAImages name tree (#5392)
# Conflicts:
#	crates/xfa/src/fixtures.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:40:50 +07:00
bflatastic 9147411e9c Merge #5370: M12: a flowed XFA subform in a table cell is as tall as its content (#5367)
# Conflicts:
#	crates/xfa/src/layout/measure.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:40:22 +07:00
bflatastic 9e55f61de0 Merge #5369: M12: an XFA subformSet is transparent to layout, so its members sit where their container puts them (#5366)
# Conflicts:
#	crates/xfa/src/layout/measure.rs
#	crates/xfa/src/parse.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:39:26 +07:00
bflatastic ab2d4382ff Merge #5368: M12: XFA master-page fields keep their own value on each page (#5365)
# Conflicts:
#	crates/engine/src/xfa.rs
#	crates/xfa/src/layout/pages.rs
#	crates/xfa/src/lib.rs
#	crates/xfa/src/script.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:38:21 +07:00
bflatastic c7f1fc7540 Merge #5225: M12: XFA field names made up for repeated fields never take a name the template uses (#5224)
# Conflicts:
#	crates/xfa/src/layout/common.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:36:41 +07:00
bflatastic 0575de68ff Merge #5153: M12: an XFA subform without a height is as tall as its content, flowed or positioned (#5152)
# Conflicts:
#	crates/xfa/src/tests.rs
2026-11-09 18:36:01 +07:00
bflatastic 629d211506 Merge #5124: M12: XFA table rows start at their minimum height, and a growable row group splits at a page break (form.xfa-dynamic)
# Conflicts:
#	crates/xfa/src/layout/flow.rs
#	crates/xfa/src/layout/measure.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:35:21 +07:00
bflatastic 8c19e0d1bd Merge #5122: fix(xfa): AcroForm field walks read each field once and bound what they queue
# Conflicts:
#	crates/xfa/src/pdf.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:33:53 +07:00
bflatastic 50f174afb7 Merge #5010: M12: XFA scripting object model (1/3): scripts read template properties as XFA 3.3 defines them
# Conflicts:
#	crates/engine/src/xfa.rs
#	crates/js/src/xfa/host.rs
#	crates/xfa/src/packets.rs
#	crates/xfa/src/parse.rs
#	crates/xfa/src/tests.rs
#	parity/acrobat-features.toml
2026-11-09 18:30:30 +07:00
bflatastic c1d9dd1db1 Merge #4791: M12: a dynamic XFA form runs all its opening scripts and is laid out once, so a save no longer keeps a half-initialized form (#4790)
# Conflicts:
#	crates/engine/src/xfa.rs
#	crates/forms/src/tests.rs
#	crates/xfa/src/data.rs
#	crates/xfa/src/lib.rs
#	crates/xfa/src/tests.rs
#	parity/acrobat-features.toml
2026-11-09 18:26:29 +07:00
bflatastic a0b791853c Merge #4784: M6: a radio option whose export value is a number selects its own button, and its XFA data holds the item (form.fill-checkbox-radio) 2026-11-09 18:24:54 +07:00
bflatastic b96b8ee44d Merge #4664: M12: an XFA caption without a font of its own uses its field's (form.xfa-dynamic)
# Conflicts:
#	crates/xfa/src/layout/measure.rs
#	parity/acrobat-features.toml
2026-11-09 18:24:54 +07:00
bflatastic c17990f0ea Merge #4662: M12: an XFA template's use/usehref prototypes are resolved before it is parsed (form.xfa-dynamic)
# Conflicts:
#	parity/acrobat-features.toml
2026-11-09 18:23:20 +07:00
bflatastic f0be783bd0 Merge #4608: M12: XFA repeating rows lay out past 50, and tables in positioned containers repeat their rows (#4607, #4615) 2026-11-09 18:22:55 +07:00
bflatastic 3394f3077b Merge #4537: XFA: fields and exclusion groups that must be filled in are Required
# Conflicts:
#	crates/xfa/src/layout/draw.rs
#	crates/xfa/src/layout/field.rs
#	crates/xfa/src/layout/items.rs
#	parity/acrobat-features.toml
2026-11-09 18:22:54 +07:00
bflatastic 697227f901 Merge #4517: M12: run an XFA signature field's preSign scripts before it is signed and postSign after
# Conflicts:
#	crates/engine/src/js.rs
#	crates/engine/src/tests.rs
#	crates/xfa/src/fixtures.rs
#	parity/acrobat-features.toml
2026-11-09 18:21:41 +07:00
bflatastic db5fdcf9bc Merge #4359: M12: XFA enter and exit scripts run whenever a field gains or loses focus
# Conflicts:
#	crates/engine/src/edit/run.rs
#	crates/engine/src/js.rs
#	crates/ui-egui/src/editing.rs
#	crates/ui-egui/src/tools/forms_ui.rs
#	parity/acrobat-features.toml
2026-11-09 18:19:39 +07:00
bflatastic eb33f633e3 Merge #4336: M12: screen-only and print-only XFA objects are shown and printed as the form says
# Conflicts:
#	crates/xfa/src/layout.rs
#	crates/xfa/src/pdf/strip.rs
#	parity/acrobat-features.toml
2026-11-09 18:18:07 +07:00
bflatastic 7976fff3c7 Merge #3589: Forms: app.runtimeHighlight, and XFA layout:ready scripts run on opening
# Conflicts:
#	crates/ui-egui/src/app.rs
#	crates/xfa/src/lib.rs
2026-11-09 18:16:03 +07:00
mtlcl410 0a12d9a1fe Merge remote-tracking branch 'upstream/main' into lane7-4608b
# Conflicts:
#	crates/xfa/src/layout/flow.rs
#	parity/acrobat-features.toml
2026-11-09 19:13:08 +08:00
mtlcl410 4f71f96058 Merge remote-tracking branch 'upstream/main' into lane9-4784b
# Conflicts:
#	crates/automation/src/tools.rs
#	crates/automation/tests/it/automation.rs
#	crates/xfa/src/tests.rs
#	parity/acrobat-features.toml
2026-11-09 18:57:44 +08:00
mtlcl410 b4e295afcb Merge upstream/main into fix/xfa-images-name-tree 2026-11-09 18:54:13 +08:00
mtlcl410 334638d822 Merge upstream/main into fix/xfa-row-cell-content-height 2026-11-09 18:52:33 +08:00
mtlcl410 02f6138e6c Merge upstream/main into fix/xfa-subformset-transparent 2026-11-09 18:51:00 +08:00
mtlcl410 61062358e6 Merge remote-tracking branch 'upstream/main' into float-5368b
# Conflicts:
#	crates/xfa/src/lib.rs
#	crates/xfa/src/model.rs
#	crates/xfa/src/tests.rs
2026-11-09 18:50:26 +08:00
mtlcl410 ec43eb749b Merge upstream/main into fix/xfa-subform-minh 2026-11-09 18:49:11 +08:00
Dylan M. Taylor dafb3be3de fix(xfa): one decoding allowance for all XFA packets (#6000) 2026-11-09 18:38:52 +08:00
mtlcl410 423cc239a1 M12: an XFA breakBefore or breakAfter without a targetType starts no new page (form.xfa-dynamic) (#5145) 2026-11-09 18:28:53 +08:00
Eric Kaden 048386eea1 M12: XFA date pictures read a two-digit year with the century split of 30 (#5074) 2026-11-09 18:28:14 +08:00
Dylan M. Taylor 01c132a6bf fix(xfa): strip reads a shared indirect Kids array once (#6081) 2026-11-09 18:20:02 +08:00
Dylan M. Taylor 237838102e fix(xfa): existing-field traversal shares a field's name among its queued children (#6080) 2026-11-09 18:19:46 +08:00
Dylan M. Taylor ce1cd80477 fix(xfa): remember every picture hash written in a pass (#6035) 2026-11-09 18:18:44 +08:00
mtlcl410 5276757b57 M12: a page break splits an empty XFA text field that grows with its text (form.xfa-dynamic) (#5525) 2026-11-09 18:14:39 +08:00
Eric Kaden 7fa6f10720 M12: an XFA date field keeps what its patterns don't read as typed, and reads its own patterns first (#4511) 2026-11-09 18:13:08 +08:00
Eric Kaden 0f4c19abfa Merge remote-tracking branch 'upstream/main' into fix/xfa-runtime-highlight
# Conflicts:
#	crates/ui-egui/src/app.rs
2026-11-08 23:58:16 -05:00
Eric Kaden 456f33479a Merge remote-tracking branch 'upstream/main' into fix/xfa-required-fields 2026-11-08 23:45:38 -05:00
Eric Kaden 2c5b31373f Merge remote-tracking branch 'upstream/main' into fix/xfa-enter-exit-on-focus 2026-11-08 23:45:36 -05:00
Eric Kaden 081d4bf999 Merge remote-tracking branch 'upstream/main' into fix/xfa-relevant-print
# Conflicts:
#	crates/xfa/src/layout/pages.rs
2026-11-08 23:27:50 -05:00
Eric Kaden 5d3d73461d Read a FormCalc script's layout methods without regard to case 2026-11-08 23:27:04 -05:00
mtlcl410 3739a0c481 Merge upstream/main again
Conflict: xfa layout.rs keeps main's MAX_DRAW_CHARS draw-phase budget
and this PR's MAX_INSTANCES of 1,000 in place of main's 50.
2026-11-09 12:08:02 +08:00
mtlcl410 334cb37a88 Merge upstream/main into fix/xfa-page-master-som-index 2026-11-09 12:03:50 +08:00
mtlcl410 fef0a8fb23 Merge upstream/main into fix/xfa-unique-field-names 2026-11-09 12:02:41 +08:00
mtlcl410 9619cc2e1e Merge upstream/main into fix/xfa-open-scripts-complete 2026-11-09 12:00:34 +08:00
mtlcl410 5aef46d1b0 Merge upstream/main into feat/xfa-caption-font 2026-11-09 11:59:49 +08:00
mtlcl410andClaude Opus 5.5 aedb920bac Merge upstream/main into feat/xfa-usehref-prototypes
parity: keep main's form.xfa-layout notes and evidence, with the
prototype sentence and tests added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZA
2026-11-09 11:35:53 +08:00
mtlcl410andClaude Opus 5.5 ea541c6076 Merge upstream/main into fix/radio-numeric-export
xfa data.rs: keep main's fields_with_ids re-export and the PR's radio
value re-exports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZA
2026-11-09 11:34:06 +08:00
mtlcl410andClaude Opus 5.5 95be781b5c Merge upstream/main into feat/xfa-property-objects
Conflicts: xfa Template keeps main's embedded/embedded_paths and this
PR's cache (parse() sets all three); engine xfa.rs tests keep both
sides' tests; xfa README combines main's sheet numbers with this PR's
property objects; parity form.xfa-dynamic keeps this PR's notes plus
main's floating-field sentences and both sides' evidence.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Pq7HyCHD1R3rywQBPCHXZA
2026-11-09 10:58:05 +08:00
bflatastic 08c0a59212 Merge main into merge/redact-forms-misc
# Conflicts:
#	ROADMAP.md
#	crates/render/src/text/tests.rs
2026-11-09 09:56:59 +07:00