Skip to content

Stdlib: AOT loadXML user-script textContent detach + childNodes (#23251)#23255

Merged
PurHur merged 2 commits into
masterfrom
agent/ext-dom-23251-loadxml-domregistry
Jul 26, 2026
Merged

Stdlib: AOT loadXML user-script textContent detach + childNodes (#23251)#23255
PurHur merged 2 commits into
masterfrom
agent/ext-dom-23251-loadxml-domregistry

Conversation

@PurHur

@PurHur PurHur commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • VM: php bin/vm.php test/repro/issue_23251_aot_loadxml_textcontent_detach.php
  • AOT: PHP_COMPILER_HELPER_RUNTIME_O=1 php bin/compile.php -o …/i23251.bin test/repro/issue_23251_aot_loadxml_textcontent_detach.php && ./i23251.bin
    • Output: a_parent_null=true, b_parent_null=true, kids=1, text=z, xml=<r>z</r>, exit 0
  • php vendor/bin/phpunit --filter "dom_textcontent_set_detaches|dom_loadxml_textcontent" → OK
  • php vendor/bin/phpunit --group aot-link --filter "dom_loadxml_textcontent_detach|dom_loadxml_getelementbyid_user_script|dom_get_elements_by_tag_name_live" → OK (3)
  • php script/bootstrap-inventory.php --check → OK 6563/6563
  • ./script/check-generated-docs.sh → all in sync

Closes #23251

Made with Cursor

PurHur and others added 2 commits July 26, 2026 02:05
Keep the thin user-script loadXML path but materialize live children, route
textContent writes through the DOM bridge, and serialize saveXML($node) from
updated slots so held parentNode/childNodes match Zend.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 44351f1 into master Jul 26, 2026
@PurHur
PurHur deleted the agent/ext-dom-23251-loadxml-domregistry branch July 26, 2026 02:06
PurHur added a commit that referenced this pull request Jul 26, 2026
…23256)

Interim Pillar 1 restamp so north-star5-verify-fast step 4f-m stays green; blob sha/size unchanged. Honest verified-fresh rebuild remains #22642.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Regression: AOT DOMDocument::loadXML() user-script path skips DomRegistry — textContent write / childNodes / parentNode broken (ext/dom)

1 participant