mirror of
https://github.com/RGBCube/serenity
synced 2025-10-24 04:02:34 +00:00
This fixes 4 issues: - RECONSUME_IN_RETURN_STATE was functionally equivalent to SWITCH_TO_RETURN_STATE, which caused us to lose characters. For example, &test= would lose the = - & characters by themselves would be lost. For example, 1 & 2 would become 1 2. This is because we forgot to flush characters in the the ANYTHING_ELSE path in CharacterReference - Named character references didn't work at all in attributes. This is because there was a path that was checking the entity code points instead of the entity itself. Plus, the path that was checking the entity itself wasn't quite spec compliant. - If we fail to match a named character reference, the first character is lost. For example &test would become &est. However, this relies on a little hack since I can't wrap my head around on how to change the code to do as the spec says. The hack is to reconsume in AmbigiousAmpersand instead of just switching to it. Fixes #3957 |
||
|---|---|---|
| .. | ||
| Entities.cpp | ||
| Entities.h | ||
| HTMLDocumentParser.cpp | ||
| HTMLDocumentParser.h | ||
| HTMLToken.cpp | ||
| HTMLToken.h | ||
| HTMLTokenizer.cpp | ||
| HTMLTokenizer.h | ||
| ListOfActiveFormattingElements.cpp | ||
| ListOfActiveFormattingElements.h | ||
| StackOfOpenElements.cpp | ||
| StackOfOpenElements.h | ||