Skip to content

Preserve text after an ignored form in a dropped table - #503

Merged
jmanico merged 1 commit into
mainfrom
fix/492-7-form-pointer-output-context
Sep 20, 2026
Merged

jmanico merged 1 commit into
mainfrom
fix/492-7-form-pointer-output-context

Conversation

@jmanico

@jmanico jmanico commented Sep 20, 2026

Copy link
Copy Markdown
Member

Summary

  • use the existing output-context/form-pointer seam when the input foreign-content tracker is unknown and the output parser would ignore a second HTML form start
  • discard that browser-ignored start without leaving a logical policy form, while marking the nearest missing table unavailable so later table parts cannot serialize without their table
  • preserve the exact trailing z reproducer and add hostile SVG, MathML, nested-table, template/caption, explicit-end-tag, and active-content regressions

The exact reduced input now changes from:

<svg><foreignObject><form id="a">y</form></foreignObject></svg>

to the stable output:

<svg><foreignObject><form id="a">yz</form></foreignObject></svg>

Addresses #492, item 7. Item 3 remains open.

Verification

  • differential sanitizer probe against exact base 111c010dfc3294e41ca56a4d118a7780c26c1551: 15,430 inputs × 44 policies = 678,920 rows, zero gained flags of any kind (including non-idempotent, tree-mutates, text-in-*, and exceptions)
  • differential limit/event probe: 36,063 rows, zero gained flags and zero changed outputs
  • base and head used the same compiled probe (f56c346716f848914be899f37b1b422c1a84b113a97526b71691ca76e33ba972 source hash), corpus, policies, and eight seeds
  • ./mvnw -o -ntp -B clean verify (693 library tests, 7 example tests, JPMS consumer check)

@jmanico
jmanico merged commit aca9a0e into main Sep 20, 2026
7 checks passed
@jmanico
jmanico deleted the fix/492-7-form-pointer-output-context branch September 20, 2026 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant