This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 18394 - Encoding Sniffing Algorithm: parent browsing context defines encoding default
Summary: Encoding Sniffing Algorithm: parent browsing context defines encoding default
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: HTML5 spec (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Silvia Pfeiffer
QA Contact: HTML WG Bugzilla archive list
URL: http://dev.w3.org/html5/spec/Overview...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-25 12:26 UTC by Leif Halvard Silli
Modified: 2012-12-07 09:46 UTC (History)
5 users (show)

See Also:


Attachments

Description Leif Halvard Silli 2012-07-25 12:26:33 UTC
Proposal: Extend the encoding sniffing algorithm[1] with a new,
          2nd last step, like so:

     #. If the document lives in a 'nested browsing context'[2],
        then return the encoding of the 'parent browsing context',
        as a parent browsing context dictated default encoding,
        and abort these steps.

Bug #3: Justification.

   (1) Currently, the HTML5 encoding sniffing algorithm fails to take 
account of the fact that, in case the document of a nested browsing 
context has not been supplied with encoding information, then Web 
browsers[*] do *not* "return an implementation-defined or 
user-specified default character encoding" (as HTML5 currently 
requires). Web browsers instead return a 'parent browsing 
context-defined' character encoding - the encoding of the document in 
the parent browsing context.

     [*]I did not test the relevant editions of IE - IE8/IE9/IE10 - yet.
        But I know that IE6 does not consider the encoding of the parent
        browsing context.

   (2) By explicitly including the 'parent browsing context encoding 
default' into the algorithm, then we make sure that browser applies the 
default at the same step.
       The problem, right now, is that the browsers that thus far has 
implemented the encoding sniffing algorithm's current step 7 (encoding 
pattern matching/detection) disagree about whether it should take place 
*before* the parent browsing context default is applied — or *after* 
the encoding of the parent browsing context has been considered.
       The latter approach, which Chrome seems to take, means that step 
7 is unlikely to take place at all if the document lives in a nested 
browsing context. Firefox 12 (which by default only performs step 7 for 
some locales or at user request) and Opera 12 (which - unlike in at 
least Opera 10 - applies step 7 for all locales, take the approach that 
encoding pattern matching/detection should occur before the locale 
default eventually is applied.


For more, see the blog post I wrote in connection with this bug report.[3]

[1] http://dev.w3.org/html5/spec/Overview#encoding-sniffing-algorithm
[2] http://dev.w3.org/html5/spec/Overview#nested-browsing-context
[3] http://målform.no/blog/white-spots-in-html5-s-encoding-sniffing-algorithm
Comment 1 Silvia Pfeiffer 2012-09-22 02:20:15 UTC
Note: also see WHATWG bug 18474
Comment 2 Silvia Pfeiffer 2012-09-28 05:31:39 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If
you are satisfied with this response, please change the state of
this bug to CLOSED. If you have additional information and would
like the Editor to reconsider, please reopen this bug. If you would
like to escalate the issue to the full HTML Working Group, please
add the TrackerRequest keyword to this bug, and suggest title and
text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this
document:   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Accepted
Change Description: applied patch
https://github.com/w3c/html/commit/46b7a38ea8d4270e8b9e3914749457bb20941abd
Rationale: adopted resolution by WHATWG
Comment 3 Silvia Pfeiffer 2012-12-07 09:46:03 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If
you are satisfied with this response, please change the state of
this bug to CLOSED. If you have additional information and would
like the Editor to reconsider, please reopen this bug. If you would
like to escalate the issue to the full HTML Working Group, please
add the TrackerRequest keyword to this bug, and suggest title and
text for the Tracker Issue; or you may create a Tracker Issue
yourself, if you are able to do so. For more details, see this
document:   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Accepted
Change Description: applied patch
https://github.com/w3c/html/commit/f4a3c0caff6495f97dc9d737eeb03860f5af5360
Rationale: extended the fix with adopted resolution by WHATWG