Chromium Code Reviews
DescriptionRemove blacklist on .innerHTML and .outerHTML
The blacklist was stored in HTMLElement::ieForbidsInsertHTML(),
used to disallow set inner/outerHTML on these elements and determine
whether the tag should be serailized with end tag or not.
The current spec doesn't have any blocklist on them, so the
blocklists on .innerHTML, .outerHTML and createContextualFragment()
are all removed in this change.
During the serialization, the spec [1] have a list of tag names
which should skip the end tag, the serializers now using it instead of
using the HTMLElement::ieForbidsInsertHTML().
This commit also fix a bug in serializeNodesWithNamespaces(), which
always append the end tag even it is serialized as html document and
the tag is in the list mentioned above.
Around 180 failed tests will be passed after this change.
[1] https://www.w3.org/TR/DOM-Parsing/
BUG=679069
Review-Url: https://codereview.chromium.org/2707973002
Cr-Commit-Position: refs/heads/master@{#451961}
Committed: https://chromium.googlesource.com/chromium/src/+/7a581007693d6b482158d03cd6eac849da99bb76
Patch Set 1 #Patch Set 2 : Add HTMLElement::shouldSerializeEndTag #
Total comments: 4
Patch Set 3 : Remove blacklist on .innerHTML and .outerHTML #Patch Set 4 : Typo fix #Messages
Total messages: 25 (15 generated)
|