Bugzilla – Bug 18395
Encoding Sniffing Algorithm: Overrides apply to nested browsing contexts
Last modified: 2012-10-02 21:13:37 UTC
Proposal: Extend the encoding sniffing algorithm with a new
step after the current first step (about user
overriding), like so:
#. If the current document lives in the 'nested browsing
context' of a document in a 'parent browsing context'
whose encoding has been overridden at the request of the
user, then return the encoding of the parent browsing
context, and abort these steps. [My note: Doesn't apply if
the current doc is XML, [see bug #1], or if it contains the
BOM, confer Bug 17810/Bug 15359.]
Currently, when a user agent obeys a user's request to override the
encoding of a parent browsing context, then [NB: I did not test the
relevant version of IE yet: IE8/IE9/IE10], unless the document of the
child browsing context contains a BOM or [see bug #1] the document is
an XML document, then they all apply the encoding of the parent
browsing context to the child browsing context as well.
More data in my related blog post.
This seems to be already in the spec, as step 6 ("Otherwise, if the Document is in a nested browsing context, return the encoding of the browsing context container's Document's character encoding, with the confidence tentative, and abort these steps"). Are you saying it should be moved up? If so, do you have a test that demonstrates that specifically?
(In reply to comment #1)
Right! Formally this bug is now solved. HOWEVER, some refinement is due: Like Henri  and I  have said, some refinements are needed:
The encoding of the parent context should not apply when parent and child are of different origins and, also, not if the parent is of an ASCII-incompatible encoding (such as UTF-16). See my at test cases.