Skip to content

HTML API: Preserve XMP raw text serialization#55

Closed
sirreal wants to merge 7 commits into
trunkfrom
fix/xmp-rawtext-serialize
Closed

HTML API: Preserve XMP raw text serialization#55
sirreal wants to merge 7 commits into
trunkfrom
fix/xmp-rawtext-serialize

Conversation

@sirreal

@sirreal sirreal commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Preserve parser-derived XMP contents literally when serializing with WP_HTML_Processor::serialize_token().
  • Avoid escaping raw text that character references do not decode on reparse.
  • Add coverage for XMP raw text and NULL-byte replacement behavior.

Testing

  • Focused XMP serialization PHPUnit coverage passes.
  • PHPCS pass for the changed HTML API files.
  • codex review --base trunk.

Trac ticket: https://core.trac.wordpress.org/ticket/65372

Use of AI Tools

AI assistance: Yes
Tool(s): Codex
Model(s): GPT-5.5
Used for: PR description cleanup and code review.


This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.

@sirreal sirreal changed the title [codex] HTML API: Preserve XMP raw text serialization HTML API: Preserve XMP raw text serialization Jun 12, 2026
@sirreal sirreal marked this pull request as ready for review June 12, 2026 06:19
@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props jonsurrell, desrosj.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

sirreal and others added 6 commits June 15, 2026 11:11
The list of routes to be copied by the `copy:routes` Grunt task is configured dynamically by the `routes:setup` task, which parses the `gutenberg/build/routes/registry.php` file included in the built asset from the `gutenberg` repository.

The task currently produces ouitput only when an error is encountered, such as a missing `registry.php` file or invalide route name.

This adjusts the task to produce output so that the list of routes being processed is clear.

See #65471.

git-svn-id: https://develop.svn.wordpress.org/trunk@62508 602fd350-edb4-49c9-b593-d223f7449a82
Address edge cases where SCRIPT tag closers were not detected and the processor remained paused on an incomplete token.

Developed in WordPress#12184.

Props jonsurrell, dmsnell.
See #65372.


git-svn-id: https://develop.svn.wordpress.org/trunk@62509 602fd350-edb4-49c9-b593-d223f7449a82
@sirreal

sirreal commented Jun 16, 2026

Copy link
Copy Markdown
Owner Author

WordPress#12193

@sirreal sirreal closed this Jun 16, 2026
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.

2 participants