Bug 111930
Summary: | Webkit violates HTML5 by supporting XML encoding declaration in HTML | ||
---|---|---|---|
Product: | WebKit | Reporter: | Leif Halvard Silli <xn--mlform-iua> |
Component: | DOM | Assignee: | Nobody <webkit-unassigned> |
Status: | VERIFIED INVALID | ||
Severity: | Normal | CC: | ahmad.saleem792, annevk, ap, cdumez, eric, ian, karlcow, rniwa, skyul |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All | ||
URL: | http://www.w3.org/html/wg/drafts/html/master/syntax.html#encoding-sniffing-algorithm |
Leif Halvard Silli
ISSUE:
* Webkit supports the XML encoding declaration in the HTML parser
* IE and Firefox do not
* HTML5’s encoding sniffing algorithm do not.
CONSEQUENCES:
* In short, it goes against interoperability. Or, to cite
Alexey Proskuryakov, in a somewhat similar context:
"Widely implementing a useless MAY-level
feature will also mean that authors will start relying on it
(intentionally or not), which further increases the barrier of
entry for new browsers, hurting competition, and eventually end
users, too." https://bugs.webkit.org/show_bug.cgi?id=66185#c6
PROPOSAL:
Drop support for XML encoding declarations in the HTML parser.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Eric Seidel (no email)
Presumably this is the code:
http://trac.webkit.org/browser/trunk/Source/WebCore/loader/TextResourceDecoder.cpp#L527
Ahmad Saleem
We still have this code, do we need to anything further here:
https://github.com/WebKit/WebKit/blob/c74e2dd4d5886b9a328977a6b46b98a7830b7128/Source/WebCore/loader/TextResourceDecoder.cpp#L532
Alexey Proskuryakov
WebKit behavior is still the same, and it matches Chrome and Firefox, so I'd say that there is nothing to do.
Anne van Kesteren
https://github.com/whatwg/html/commit/800a2dcd1ad0ae5f0d08bc93c033336926e32ad2 changed the HTML Standard to add support for this.
https://github.com/WebKit/WebKit/commit/a20f39ae7d4a7b1679ee384e6d71b3b8a772e327 removed leftover UTF-32 code paths in this part of the code.