diff options
author | Andreu Botella <abb@randomunok.com> | 2020-12-30 09:46:29 +0100 |
---|---|---|
committer | Andreu Botella <abb@randomunok.com> | 2020-12-31 13:43:33 +0100 |
commit | cd34f156f6355faf97c95bfbaedc66c35b3a1759 (patch) | |
tree | 567f65d796d9ef6c53cbb6b41d2629c726d658ac /components/script/dom/domparser.rs | |
parent | be19c03d967b4ec94eec86d1241b6e694ba857da (diff) | |
download | servo-cd34f156f6355faf97c95bfbaedc66c35b3a1759.tar.gz servo-cd34f156f6355faf97c95bfbaedc66c35b3a1759.zip |
Fix `document.characterSet` not reflecting byte order marks.
The process of decoding the network byte stream to Unicode is backed by
an instance of `encoding_rs::Decoder`, which will switch the encoding it
uses if it finds a BOM in the byte stream. However, this change in
encoding is not communicated back to the caller and so
`document.characterSet` gives the wrong result. This change fixes that.
See whatwg/html#5359 and whatwg/encoding#203 for the spec-level backing
for this change.
Signed-off-by: Andreu Botella <abb@randomunok.com>
Diffstat (limited to 'components/script/dom/domparser.rs')
-rw-r--r-- | components/script/dom/domparser.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/components/script/dom/domparser.rs b/components/script/dom/domparser.rs index 6a0328fc438..876d87eef25 100644 --- a/components/script/dom/domparser.rs +++ b/components/script/dom/domparser.rs @@ -77,7 +77,7 @@ impl DOMParserMethods for DOMParser { None, Default::default(), ); - ServoParser::parse_html_document(&document, s, url); + ServoParser::parse_html_document(&document, Some(s), url); document.set_ready_state(DocumentReadyState::Complete); Ok(document) }, @@ -97,7 +97,7 @@ impl DOMParserMethods for DOMParser { None, Default::default(), ); - ServoParser::parse_xml_document(&document, s, url); + ServoParser::parse_xml_document(&document, Some(s), url); document.set_ready_state(DocumentReadyState::Complete); Ok(document) }, |