ExplainerNo information provided
Specificationhttps://www.w3.org/TR/xml/#proc-typesSummaryChrome synchronously fetches external XML entities/DTDs and incorporates them into parsing under specific circumstances. I propose to remove this functionality.
External entities can be defined in the trailing part of the DOCTYPE statement - and then refer to resources that are to be synchronously loaded and included as context when parsing XML.
Another syntax example would be a DOCTYPE that, using the SYSTEM keyword followed by a URL pointing to a DTD which contains additional entity definitions.
Such external load requests are passed up from the parser and allowed only if they are a same origin request and the response mimetype matches: application/xml-external-parsed-entity.
In this effort, we intend to replace libxml2 as the XML parser with an XML parser written in Rust (crate "xml"). The Rust-based XML parser we intend to migrate to, does not support external entities and we don't think it's necessary or desirable to implement this feature.
Synchronous loads during parsing are considered inefficient, and can be avoided by inlining the needed entity definitions.
As usage is so low,
Firefox never supported this, I propose to deprecate in 144, and remove in 145.
Initial public proposalNo information provided
DebuggabilityParsing success/failure is debuggable, same as before.
Requires code in //chrome?No
Tracking bughttps://crbug.com/455813733Estimated milestonesStarting deprecation in 144