WebKit Bugzilla
Attachment 362268 Details for
Bug 191741
: XMLHttpRequest has the wrong fallback encoding
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-191741-20190218100703.patch (text/plain), 22.54 KB, created by
Rob Buis
on 2019-02-18 01:07:05 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Rob Buis
Created:
2019-02-18 01:07:05 PST
Size:
22.54 KB
patch
obsolete
>Subversion Revision: 241658 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2141a8fc3dfb31427975501667bd3751a04b2ce6..31cfde76de6e9199b80ba913277f188488fda326 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,22 @@ >+2019-02-18 Rob Buis <rbuis@igalia.com> >+ >+ XMLHttpRequest seemingly has the wrong fallback encoding >+ https://bugs.webkit.org/show_bug.cgi?id=191741 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Behavior matches Firefox and Chrome. >+ >+ Tests: imported/w3c/web-platform-tests/encoding/replacement-encodings.any.html >+ imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker.html >+ imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.html >+ imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker.html >+ >+ * xml/XMLHttpRequest.cpp: >+ (WebCore::XMLHttpRequest::finalResponseCharset const): >+ (WebCore::XMLHttpRequest::createDecoder const): >+ * xml/XMLHttpRequest.h: >+ > 2019-02-17 David Kilzer <ddkilzer@apple.com> > > Unreviewed, rolling out r241620. >diff --git a/Source/WebCore/xml/XMLHttpRequest.cpp b/Source/WebCore/xml/XMLHttpRequest.cpp >index 5116457da85ff17341431f6da5f88ec6773955e4..b8137fe10020ac2a845f0587f1b146ff7d125855 100644 >--- a/Source/WebCore/xml/XMLHttpRequest.cpp >+++ b/Source/WebCore/xml/XMLHttpRequest.cpp >@@ -987,10 +987,23 @@ static inline bool shouldDecodeResponse(XMLHttpRequest::ResponseType type) > return true; > } > >+// https://xhr.spec.whatwg.org/#final-charset >+TextEncoding XMLHttpRequest::finalResponseCharset() const >+{ >+ String label = m_responseEncoding; >+ >+ String overrideResponseCharset = extractCharsetFromMediaType(m_mimeTypeOverride); >+ if (!overrideResponseCharset.isEmpty()) >+ label = overrideResponseCharset; >+ >+ return TextEncoding(label); >+} >+ > Ref<TextResourceDecoder> XMLHttpRequest::createDecoder() const > { >- if (!m_responseEncoding.isEmpty()) >- return TextResourceDecoder::create("text/plain", m_responseEncoding); >+ TextEncoding finalResponseCharset = this->finalResponseCharset(); >+ if (finalResponseCharset.isValid()) >+ return TextResourceDecoder::create("text/plain", finalResponseCharset); > > switch (responseType()) { > case ResponseType::EmptyString: >diff --git a/Source/WebCore/xml/XMLHttpRequest.h b/Source/WebCore/xml/XMLHttpRequest.h >index fa597353e33e9c8aab4aa9b8cb50f34898211146..1ff096c0afa3ba934905314fd7bbe6437c3327ac 100644 >--- a/Source/WebCore/xml/XMLHttpRequest.h >+++ b/Source/WebCore/xml/XMLHttpRequest.h >@@ -130,6 +130,8 @@ public: > private: > explicit XMLHttpRequest(ScriptExecutionContext&); > >+ TextEncoding finalResponseCharset() const; >+ > // ActiveDOMObject > void contextDestroyed() override; > bool canSuspendForDocumentSuspension() const override; >diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog >index ce0540cfd917401df3c0d21ea179995c63b0ba92..b4c69205c8f2ec2d00c37dfbc6f8cf842925c56b 100644 >--- a/LayoutTests/imported/w3c/ChangeLog >+++ b/LayoutTests/imported/w3c/ChangeLog >@@ -1,3 +1,28 @@ >+2019-02-18 Rob Buis <rbuis@igalia.com> >+ >+ XMLHttpRequest seemingly has the wrong fallback encoding >+ https://bugs.webkit.org/show_bug.cgi?id=191741 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Update improved test expectations and sync unsupported-encodings.any.js and >+ replacement-encodings.any.js tests. >+ >+ * web-platform-tests/encoding/replacement-encodings.any-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings-expected.txt. >+ * web-platform-tests/encoding/replacement-encodings.any.html: Added. >+ * web-platform-tests/encoding/replacement-encodings.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.html. >+ * web-platform-tests/encoding/replacement-encodings.any.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings-expected.txt. >+ * web-platform-tests/encoding/replacement-encodings.any.worker.html: Added. >+ * web-platform-tests/encoding/unsupported-encodings-expected.txt: Removed. >+ * web-platform-tests/encoding/unsupported-encodings.any-expected.txt: Added. >+ * web-platform-tests/encoding/unsupported-encodings.any.html: Added. >+ * web-platform-tests/encoding/unsupported-encodings.any.js: Added. >+ * web-platform-tests/encoding/unsupported-encodings.any.worker-expected.txt: Added. >+ * web-platform-tests/encoding/unsupported-encodings.any.worker.html: Added. >+ * web-platform-tests/encoding/unsupported-encodings.html: Removed. >+ * web-platform-tests/xhr/overridemimetype-edge-cases.window-expected.txt: >+ * web-platform-tests/xhr/responsetext-decoding-expected.txt: >+ > 2019-02-12 Rob Buis <rbuis@igalia.com> > > Align with Fetch on data: URLs >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings-expected.txt >deleted file mode 100644 >index d9af677347c4a1eed4b9f81e70bb2243c69c2390..0000000000000000000000000000000000000000 >--- a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings-expected.txt >+++ /dev/null >@@ -1,14 +0,0 @@ >- >-PASS csiso2022kr - non-empty input decodes to one replacement character. >-PASS csiso2022kr - empty input decodes to empty output. >-PASS hz-gb-2312 - non-empty input decodes to one replacement character. >-PASS hz-gb-2312 - empty input decodes to empty output. >-PASS iso-2022-cn - non-empty input decodes to one replacement character. >-PASS iso-2022-cn - empty input decodes to empty output. >-PASS iso-2022-cn-ext - non-empty input decodes to one replacement character. >-PASS iso-2022-cn-ext - empty input decodes to empty output. >-PASS iso-2022-kr - non-empty input decodes to one replacement character. >-PASS iso-2022-kr - empty input decodes to empty output. >-FAIL replacement - non-empty input decodes to one replacement character. assert_equals: Decoding with replacement expected "U+FFFD" but got "U+0041/U+0042/U+0043/U+0061/U+0062/U+0063/U+0031/U+0032/U+0033/U+00A0" >-PASS replacement - empty input decodes to empty output. >- >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..e61eaffa4d242ea61e47b74d84d4a04582e93f64 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any-expected.txt >@@ -0,0 +1,14 @@ >+ >+PASS csiso2022kr - non-empty input decodes to one replacement character. >+PASS csiso2022kr - empty input decodes to empty output. >+PASS hz-gb-2312 - non-empty input decodes to one replacement character. >+PASS hz-gb-2312 - empty input decodes to empty output. >+PASS iso-2022-cn - non-empty input decodes to one replacement character. >+PASS iso-2022-cn - empty input decodes to empty output. >+PASS iso-2022-cn-ext - non-empty input decodes to one replacement character. >+PASS iso-2022-cn-ext - empty input decodes to empty output. >+PASS iso-2022-kr - non-empty input decodes to one replacement character. >+PASS iso-2022-kr - empty input decodes to empty output. >+FAIL replacement - non-empty input decodes to one replacement character. assert_equals: Decoding with replacement expected "U+FFFD" but got "U+0041/U+0042/U+0043/U+0061/U+0062/U+0063/U+0031/U+0032/U+0033/U+FFFD" >+PASS replacement - empty input decodes to empty output. >+ >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.html b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.html >new file mode 100644 >index 0000000000000000000000000000000000000000..2382913528e693b3a5d56c660a45060980b548c3 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.html >@@ -0,0 +1 @@ >+<!-- This file is required for WebKit test infrastructure to run the templated test --> >\ No newline at end of file >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.js b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.js >new file mode 100644 >index 0000000000000000000000000000000000000000..784dd953e33ef9134a1b9647327bf169f3116ef8 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.js >@@ -0,0 +1,25 @@ >+// META: title=Encoding API: replacement encoding >+// META: script=resources/encodings.js >+// META: script=resources/decoding-helpers.js >+ >+const replacement_labels = []; >+encodings_table.forEach(section => { >+ section.encodings >+ .filter(encoding => encoding.name === 'replacement') >+ .forEach(encoding => { >+ encoding.labels.forEach(label => { replacement_labels.push(label); }) >+ }); >+}); >+ >+replacement_labels.forEach(label => { >+ decode_test( >+ label, >+ '%41%42%43%61%62%63%31%32%33%A0', >+ 'U+FFFD', >+ `${label} - non-empty input decodes to one replacement character.`); >+ >+ decode_test( >+ label, >+ '', >+ '', `${label} - empty input decodes to empty output.`); >+}); >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..e61eaffa4d242ea61e47b74d84d4a04582e93f64 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker-expected.txt >@@ -0,0 +1,14 @@ >+ >+PASS csiso2022kr - non-empty input decodes to one replacement character. >+PASS csiso2022kr - empty input decodes to empty output. >+PASS hz-gb-2312 - non-empty input decodes to one replacement character. >+PASS hz-gb-2312 - empty input decodes to empty output. >+PASS iso-2022-cn - non-empty input decodes to one replacement character. >+PASS iso-2022-cn - empty input decodes to empty output. >+PASS iso-2022-cn-ext - non-empty input decodes to one replacement character. >+PASS iso-2022-cn-ext - empty input decodes to empty output. >+PASS iso-2022-kr - non-empty input decodes to one replacement character. >+PASS iso-2022-kr - empty input decodes to empty output. >+FAIL replacement - non-empty input decodes to one replacement character. assert_equals: Decoding with replacement expected "U+FFFD" but got "U+0041/U+0042/U+0043/U+0061/U+0062/U+0063/U+0031/U+0032/U+0033/U+FFFD" >+PASS replacement - empty input decodes to empty output. >+ >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker.html >new file mode 100644 >index 0000000000000000000000000000000000000000..2382913528e693b3a5d56c660a45060980b548c3 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.any.worker.html >@@ -0,0 +1 @@ >+<!-- This file is required for WebKit test infrastructure to run the templated test --> >\ No newline at end of file >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.html b/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.html >deleted file mode 100644 >index 4be3c858b232ce34161513476dd805eb4bd00ac4..0000000000000000000000000000000000000000 >--- a/LayoutTests/imported/w3c/web-platform-tests/encoding/replacement-encodings.html >+++ /dev/null >@@ -1,30 +0,0 @@ >-<!DOCTYPE html> >-<title>Encoding API: replacement encoding</title> >-<script src="/resources/testharness.js"></script> >-<script src="/resources/testharnessreport.js"></script> >-<script src="resources/encodings.js"></script> >-<script src="resources/decoding-helpers.js"></script> >-<script> >- >-const replacement_labels = []; >-encodings_table.forEach(section => { >- section.encodings >- .filter(encoding => encoding.name === 'replacement') >- .forEach(encoding => { >- encoding.labels.forEach(label => { replacement_labels.push(label); }) >- }); >-}); >- >-replacement_labels.forEach(label => { >- decode_test( >- label, >- '%41%42%43%61%62%63%31%32%33%A0', >- 'U+FFFD', >- `${label} - non-empty input decodes to one replacement character.`); >- >- decode_test( >- label, >- '', >- '', `${label} - empty input decodes to empty output.`); >-}); >-</script> >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings-expected.txt >deleted file mode 100644 >index f49700963bc7a18deaabe7c9db231b7d0b851a70..0000000000000000000000000000000000000000 >--- a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings-expected.txt >+++ /dev/null >@@ -1,16 +0,0 @@ >- >-PASS UTF-7 should not be supported >-PASS utf-7 should not be supported >-PASS UTF-32 with BOM should decode as UTF-16LE >-PASS UTF-32 with no BOM should decode as windows-1252 >-PASS utf-32 with BOM should decode as UTF-16LE >-PASS utf-32 with no BOM should decode as windows-1252 >-PASS UTF-32LE with BOM should decode as UTF-16LE >-PASS UTF-32LE with no BOM should decode as windows-1252 >-PASS utf-32le with BOM should decode as UTF-16LE >-PASS utf-32le with no BOM should decode as windows-1252 >-PASS UTF-32be with no BOM should decode as windows-1252 >-PASS UTF-32be with BOM should decode as windows-1252 >-PASS utf-32be with no BOM should decode as windows-1252 >-PASS utf-32be with BOM should decode as windows-1252 >- >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..988554b5f25825a0501cbe79977938118e2e29ee >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any-expected.txt >@@ -0,0 +1,16 @@ >+ >+PASS UTF-7 should not be supported >+PASS utf-7 should not be supported >+PASS UTF-32 with BOM should decode as UTF-16LE >+PASS UTF-32 with no BOM should decode as UTF-8 >+PASS utf-32 with BOM should decode as UTF-16LE >+PASS utf-32 with no BOM should decode as UTF-8 >+PASS UTF-32LE with BOM should decode as UTF-16LE >+PASS UTF-32LE with no BOM should decode as UTF-8 >+PASS utf-32le with BOM should decode as UTF-16LE >+PASS utf-32le with no BOM should decode as UTF-8 >+PASS UTF-32be with no BOM should decode as UTF-8 >+PASS UTF-32be with BOM should decode as UTF-8 >+PASS utf-32be with no BOM should decode as UTF-8 >+PASS utf-32be with BOM should decode as UTF-8 >+ >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.html b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.html >new file mode 100644 >index 0000000000000000000000000000000000000000..2382913528e693b3a5d56c660a45060980b548c3 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.html >@@ -0,0 +1 @@ >+<!-- This file is required for WebKit test infrastructure to run the templated test --> >\ No newline at end of file >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.js b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.js >new file mode 100644 >index 0000000000000000000000000000000000000000..50c9d07c88052ed935bff2865a508a962f228e2c >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.js >@@ -0,0 +1,32 @@ >+// META: title=Encoding API: unsupported encodings >+// META: script=resources/decoding-helpers.js >+ >+// Attempting to decode '<' as UTF-7 (+AD4) ends up as '+AD4'. >+['UTF-7', 'utf-7'].forEach(label => { >+ decode_test(label, '+AD4', 'U+002B/U+0041/U+0044/U+0034', >+ `${label} should not be supported`); >+}); >+ >+// UTF-32 will be detected as UTF-16LE if leading BOM, or UTF-8 otherwise (due to XMLHttpRequest). >+['UTF-32', 'utf-32', 'UTF-32LE', 'utf-32le'].forEach(label => { >+ decode_test(label, >+ '%FF%FE%00%00%41%00%00%00%42%00%00%00', >+ 'U+0000/U+0041/U+0000/U+0042/U+0000', >+ `${label} with BOM should decode as UTF-16LE`); >+ >+ decode_test(label, >+ '%41%00%00%00%42%00%00%C2%80', >+ 'U+0041/U+0000/U+0000/U+0000/U+0042/U+0000/U+0000/U+0080', >+ `${label} with no BOM should decode as UTF-8`);; >+}); >+['UTF-32be', 'utf-32be'].forEach(label => { >+ decode_test(label, >+ '%00%00%00%41%00%00%00%42%C2%80', >+ 'U+0000/U+0000/U+0000/U+0041/U+0000/U+0000/U+0000/U+0042/U+0080', >+ `${label} with no BOM should decode as UTF-8`); >+ >+ decode_test(label, >+ '%00%00%FE%FF%00%00%00%41%00%C2%80%42', >+ 'U+0000/U+0000/U+FFFD/U+FFFD/U+0000/U+0000/U+0000/U+0041/U+0000/U+0080/U+0042', >+ `${label} with BOM should decode as UTF-8`); >+}); >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..988554b5f25825a0501cbe79977938118e2e29ee >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker-expected.txt >@@ -0,0 +1,16 @@ >+ >+PASS UTF-7 should not be supported >+PASS utf-7 should not be supported >+PASS UTF-32 with BOM should decode as UTF-16LE >+PASS UTF-32 with no BOM should decode as UTF-8 >+PASS utf-32 with BOM should decode as UTF-16LE >+PASS utf-32 with no BOM should decode as UTF-8 >+PASS UTF-32LE with BOM should decode as UTF-16LE >+PASS UTF-32LE with no BOM should decode as UTF-8 >+PASS utf-32le with BOM should decode as UTF-16LE >+PASS utf-32le with no BOM should decode as UTF-8 >+PASS UTF-32be with no BOM should decode as UTF-8 >+PASS UTF-32be with BOM should decode as UTF-8 >+PASS utf-32be with no BOM should decode as UTF-8 >+PASS utf-32be with BOM should decode as UTF-8 >+ >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker.html >new file mode 100644 >index 0000000000000000000000000000000000000000..2382913528e693b3a5d56c660a45060980b548c3 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.any.worker.html >@@ -0,0 +1 @@ >+<!-- This file is required for WebKit test infrastructure to run the templated test --> >\ No newline at end of file >diff --git a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.html b/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.html >deleted file mode 100644 >index 7584d3d17ca1a092a41cfddc8120f5f618b935f6..0000000000000000000000000000000000000000 >--- a/LayoutTests/imported/w3c/web-platform-tests/encoding/unsupported-encodings.html >+++ /dev/null >@@ -1,37 +0,0 @@ >-<!DOCTYPE html> >-<title>Encoding API: unsupported encodings</title> >-<script src="/resources/testharness.js"></script> >-<script src="/resources/testharnessreport.js"></script> >-<script src="resources/decoding-helpers.js"></script> >-<script> >- >-// Attempting to decode '<' as UTF-7 (+AD4) ends up as '+AD4'. >-['UTF-7', 'utf-7'].forEach(label => { >- decode_test(label, '+AD4', 'U+002B/U+0041/U+0044/U+0034', >- `${label} should not be supported`); >-}); >- >-// UTF-32 will be detected as UTF-16LE if leading BOM, or windows-1252 otherwise. >-['UTF-32', 'utf-32', 'UTF-32LE', 'utf-32le'].forEach(label => { >- decode_test(label, >- '%FF%FE%00%00%41%00%00%00%42%00%00%00', >- 'U+0000/U+0041/U+0000/U+0042/U+0000', >- `${label} with BOM should decode as UTF-16LE`); >- >- decode_test(label, >- '%41%00%00%00%42%00%00%00', >- 'U+0041/U+0000/U+0000/U+0000/U+0042/U+0000/U+0000/U+0000', >- `${label} with no BOM should decode as windows-1252`);; >-}); >-['UTF-32be', 'utf-32be'].forEach(label => { >- decode_test(label, >- '%00%00%00%41%00%00%00%42', >- 'U+0000/U+0000/U+0000/U+0041/U+0000/U+0000/U+0000/U+0042', >- `${label} with no BOM should decode as windows-1252`); >- >- decode_test(label, >- '%00%00%FE%FF%00%00%00%41%00%00%00%42', >- 'U+0000/U+0000/U+00FE/U+00FF/U+0000/U+0000/U+0000/U+0041/U+0000/U+0000/U+0000/U+0042', >- `${label} with BOM should decode as windows-1252`); >-}); >-</script> >diff --git a/LayoutTests/imported/w3c/web-platform-tests/xhr/overridemimetype-edge-cases.window-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/xhr/overridemimetype-edge-cases.window-expected.txt >index 543b3322ec8224972e66ac7631dde10287580cbc..85b7fffcc20e3d4888d2592518f8713c9c16feab 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/xhr/overridemimetype-edge-cases.window-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/xhr/overridemimetype-edge-cases.window-expected.txt >@@ -2,5 +2,5 @@ > PASS overrideMimeType() is not reset by open(), basic > PASS overrideMimeType() is not reset by open() > PASS If charset is not overridden by overrideMimeType() the original continues to be used >-FAIL Charset can be overridden by overrideMimeType() with a bogus charset assert_equals: expected "\ufffd\ufffd" but got "Ãð" >+PASS Charset can be overridden by overrideMimeType() with a bogus charset > >diff --git a/LayoutTests/imported/w3c/web-platform-tests/xhr/responsetext-decoding-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/xhr/responsetext-decoding-expected.txt >index e1fe16a97852c819ec4f3065957cdf8b50fa0c72..acd169cf4d172fed6a97d0fbfe3f588c6268d185 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/xhr/responsetext-decoding-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/xhr/responsetext-decoding-expected.txt >@@ -30,7 +30,7 @@ PASS XMLHttpRequest: responseText decoding (text/plain %FE%FF%FE%FF text) > PASS XMLHttpRequest: responseText decoding (text/plain %EF%BB%BF text) > PASS XMLHttpRequest: responseText decoding (text/plain %EF%BB%BF%EF%BB%BF text) > PASS XMLHttpRequest: responseText decoding (text/plain %C2 text) >-FAIL XMLHttpRequest: responseText decoding (text/plain;charset=bogus %C2 text) assert_equals: expected "\ufffd" but got "Ã" >+PASS XMLHttpRequest: responseText decoding (text/plain;charset=bogus %C2 text) > PASS XMLHttpRequest: responseText decoding (text/xml %FE%FF text) > PASS XMLHttpRequest: responseText decoding (text/xml %FE%FF%FE%FF text) > PASS XMLHttpRequest: responseText decoding (text/xml %EF%BB%BF text)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 191741
:
355397
|
355398
|
355399
|
355400
|
355401
|
355402
|
355408
|
355412
|
355418
|
355432
|
355462
|
362268
|
367535
|
367562