Skip to content

Commit ea42dd2

Browse files
committed
Add missing cache invalidation for innerHTML
1 parent ed246da commit ea42dd2

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

ext/dom/inner_html_mixin.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,9 @@ zend_result dom_element_inner_html_write(dom_object *obj, zval *newval)
359359
}
360360
}
361361

362+
ZEND_ASSERT(obj->document != NULL);
363+
php_libxml_invalidate_node_list_cache(obj->document);
364+
362365
dom_remove_all_children(context_node);
363366
return php_dom_pre_insert(obj->document, fragment, context_node, NULL) ? SUCCESS : FAILURE;
364367
}

ext/dom/tests/modern/common/innerHTML_cache_invalidation.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ object(Dom\HTMLCollection)#2 (1) {
2424
["length"]=>
2525
int(0)
2626
}
27-
string(1) "a"
27+
NULL

0 commit comments

Comments
 (0)