Bug 119478
Summary: | Implement HTML spec change to Adoption Agency Algorithm to not reverse the order of nodes in the document, by removing nodes that we're not recreating from the stack of open elements | ||
---|---|---|---|
Product: | WebKit | Reporter: | sideshowbarker <mike> |
Component: | DOM | Assignee: | Ryosuke Niwa <rniwa> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | aestes, ahmad.saleem792, ap, bfulgham, eoconnor, hyatt, ian, mjs, rniwa, sam, webkit-bug-importer, zalan, zcorpan |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
sideshowbarker
http://html5.org/r/8108
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20319#c3
related Blink and Gecko bugs:
https://code.google.com/p/chromium/issues/detail?id=268121
https://bugzilla.mozilla.org/show_bug.cgi?id=901319
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ryosuke Niwa
I don't understand why this specification change was made when all browsers behave according to the old specification.
sideshowbarker
(In reply to comment #1)
> I don't understand why this specification change was made when all browsers behave according to the old specification.
Because the existing behavior is buggy in that it causes nodes to end up in the DOM in (from users perspective) an unexpected order; e.g., the text content of the following div ending up as "456123" instead of "123456".
<div id=mike><b><i><s><u><tt><p></b>123</p></tt></u></s>456
Yeah, it's very invalid markup but dealing gracefully with invalid markup is entirely what this whole part of the parsing algorithm is all about. So this is a bug in the behavior of what the AAA is intended for, and if it's possible to have the spec get rid of the existing bug in the algorithm and handle that case more intuitively, then I think the right thing for Hixie or any other editor to do is to fix it in the spec if he can and then to try to see if browsers are willing to implement the revised algorithm or not.
Of course it's collectively up to browser implementors to decide if they want to make the change. But for a case like this, having concrete spec text to review in context seems to me a least to be a lot better than just having an isolated proposal written in an e-mail message or whatever.
Ian 'Hixie' Hickson
While you're at it, this change to the AAA was also made recently:
http://html5.org/tools/web-apps-tracker?from=8138&to=8139
https://www.w3.org/Bugs/Public/show_bug.cgi?id=22926
It makes conforming pages parse correctly (before, if you nested multiple identical formatting elements more than 3 deep, you'd end up corrupting your tree; that was only supposed to happen when the document was non-conforming).
Simon Pieters (:zcorpan)
Ping (see https://github.com/html5lib/html5lib-tests/issues/78 )
Alexey Proskuryakov
<rdar://problem/28213632>
Ahmad Saleem
rniwa@webkit.org - is this something fixed with this?
https://github.com/WebKit/WebKit/commit/67d7bd2e0aa2ed0355e51c406ff56021e603590f
I know you recently did some fixes in Adoption Agency Algorithm.
For other bit, only Firefox bug is marked as "RESOLVED FIXED" while Chrome bug is still Open from Comment 0. Thanks!
Ryosuke Niwa
Pull request: https://github.com/WebKit/WebKit/pull/3297
EWS
Committed 253505@main (6f377390c19b): <https://commits.webkit.org/253505@main>
Reviewed commits have been landed. Closing PR #3297 and removing active labels.