Implement circa 2021 spec change for fragment parsing in foreign content #115
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change brings us into conformance with the “make breaking out of foreign content apply in innerHTML” requirements from the HTML spec PR at whatwg/html#6399 — and into interoperability with current WebKit and Blink behaviour, making fragment parsing break out of foreign content in the same way document parsing does.
Before this code change, when parsing elements like
p,div, andnobrinside SVG/MathML via innerHTML, they would stay in the foreign namespace. But, with this change, they now correctly “break out”, and are created in the HTML namespace.TreeBuilder.java</p>and `q to reach mode-handling-in-fragment case
currentPtr > 0to preserve context element when popping