php-src/ext/dom
Niels Dossche 8dc2391bae
Fix bug #79701: getElementById does not correctly work with duplicate definitions
This is a long standing bug: IDs aren't properly tracked causing either
outdated or plain incorrect results from getElementById.

This PR implements a pragmatic solution in which we still try to use the
ID lookup table to a degree, but only as a performance boost not as a
"single source of truth". Full details are explained in the
getElementById code.

Closes GH-14349.
2024-06-01 12:55:05 +02:00
..
lexbor Update Lexbor (#14032) 2024-04-22 23:19:42 +02:00
tests Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
attr.c Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
cdatasection.c Use BAD_CAST consistently 2024-03-10 11:08:46 +01:00
characterdata.c Update ext/dom names after policy change (#14171) 2024-05-09 10:40:53 +02:00
comment.c Use BAD_CAST consistently 2024-03-10 11:08:46 +01:00
config.m4 Implement HTMLCollection::namedItem() 2024-04-14 14:45:45 +02:00
config.w32 Implement HTMLCollection::namedItem() 2024-04-14 14:45:45 +02:00
CREDITS
document.c Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
documentfragment.c Use BAD_CAST consistently 2024-03-10 11:08:46 +01:00
documenttype.c Use common helper macro for getting the node in property handlers 2024-03-10 11:08:46 +01:00
dom_ce.h [RFC] Add a way to opt-in ext/dom spec compliance (#13031) 2024-03-09 16:56:00 +01:00
dom_iterators.c Get rid of reserved name usage 2024-05-13 19:46:51 +02:00
dom_properties.h Get rid of unused declarations 2024-05-13 19:46:51 +02:00
domexception.c Cleanup DOM exception throwing parameters (#14330) 2024-05-26 14:01:37 +02:00
domexception.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
domimplementation.c Update OOM error for DOMImplementation::createDocumentType (#14329) 2024-05-26 17:31:27 +02:00
element.c Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
entity.c Respect constness in casting in dom/entity.c (#14080) 2024-04-30 17:29:53 +02:00
entityreference.c Fix Windows failure (#14096) 2024-05-01 00:03:43 +02:00
html5_parser.c Be specific for the namespace of the id attribute (#14060) 2024-04-28 11:40:54 +02:00
html5_parser.h [RFC] Add a way to opt-in ext/dom spec compliance (#13031) 2024-03-09 16:56:00 +01:00
html5_serializer.c Fix serialization of entity references in attributes (#13884) 2024-04-05 19:58:01 +02:00
html5_serializer.h [RFC] Add a way to opt-in ext/dom spec compliance (#13031) 2024-03-09 16:56:00 +01:00
html_collection.c Update ext/dom names after policy change (#14171) 2024-05-09 10:40:53 +02:00
html_collection.h Support named items in dimension handling for HTMLCollection 2024-04-14 14:46:04 +02:00
html_document.c Get rid of unused declarations 2024-05-13 19:46:51 +02:00
internal_helpers.h Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
namednodemap.c Remove duplicated code for entity vs notation handling 2024-04-03 18:15:43 +02:00
namespace_compat.c Move more common code into php_dom_next_in_tree_order() (#14363) 2024-05-29 19:50:41 +02:00
namespace_compat.h [RFC] Add a way to opt-in ext/dom spec compliance (#13031) 2024-03-09 16:56:00 +01:00
node.c Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
nodelist.c Merge branch 'PHP-8.3' 2024-04-30 22:53:48 +02:00
nodelist.h Get rid of reserved name usage 2024-05-13 19:46:51 +02:00
notation.c Use common helper macro for getting the node in property handlers 2024-03-10 11:08:46 +01:00
parentnode.c Make some more arguments const 2024-05-13 19:46:51 +02:00
php_dom.c Move more common code into php_dom_next_in_tree_order() (#14363) 2024-05-29 19:50:41 +02:00
php_dom.h Fix bug #79701: getElementById does not correctly work with duplicate definitions 2024-06-01 12:55:05 +02:00
php_dom.stub.php Remove XML_GLOBAL_NAMESPACE (#14265) 2024-05-18 16:24:08 +02:00
php_dom_arginfo.h Remove XML_GLOBAL_NAMESPACE (#14265) 2024-05-18 16:24:08 +02:00
processinginstruction.c Use common helper macro for getting the node in property handlers 2024-03-10 11:08:46 +01:00
serialize_common.h [RFC] Add a way to opt-in ext/dom spec compliance (#13031) 2024-03-09 16:56:00 +01:00
text.c Get rid of unused declarations 2024-05-13 19:46:51 +02:00
xml_common.h Move more common code into php_dom_next_in_tree_order() (#14363) 2024-05-29 19:50:41 +02:00
xml_document.c Move more common code into php_dom_next_in_tree_order() (#14363) 2024-05-29 19:50:41 +02:00
xml_serializer.c Get rid of unused declarations 2024-05-13 19:46:51 +02:00
xml_serializer.h [RFC] Add a way to opt-in ext/dom spec compliance (#13031) 2024-03-09 16:56:00 +01:00
xpath.c Update ext/dom names after policy change (#14171) 2024-05-09 10:40:53 +02:00
xpath_callbacks.c Implement request #71571: XSLT processor should provide option to change maxDepth (#13731) 2024-03-31 21:21:23 +02:00
xpath_callbacks.h [RFC] Improve callbacks in ext/dom and ext/xsl (#12627) 2024-01-13 00:00:26 +01:00