Canonical name of EUC-KR encoding should be EUC-KR, not windows-949
authormjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Nov 2017 08:31:44 +0000 (08:31 +0000)
committermjs@apple.com <mjs@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 Nov 2017 08:31:44 +0000 (08:31 +0000)
https://bugs.webkit.org/show_bug.cgi?id=179305

Reviewed by Alexey Proskuryakov.

LayoutTests/imported/w3c:

* web-platform-tests/encoding/textdecoder-labels-expected.txt: Updated expected results. The test already correctly covered this.
* web-platform-tests/encoding/textencoder-constructor-non-utf-expected.txt: ditto

Source/WebCore:

Already covered by:
LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-labels.html
LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-constructor-non-utf-expected.html
LayoutTests/fast/encoding/charset-decode.html

* platform/text/TextCodecICU.cpp: Change registration so the EUC-KR name
is canonical.
(WebCore::TextCodecICU::registerCodecs): However, we still want to use the windows-949
decoder. It's not exactly the same, but the spec calls for that.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@224484 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-labels-expected.txt
LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-constructor-non-utf-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/platform/text/TextCodecICU.cpp

index 59a5406..904e784 100644 (file)
@@ -1,3 +1,13 @@
+2017-11-06  Maciej Stachowiak  <mjs@apple.com>
+
+        Canonical name of EUC-KR encoding should be EUC-KR, not windows-949
+        https://bugs.webkit.org/show_bug.cgi?id=179305
+
+        Reviewed by Alexey Proskuryakov.
+
+        * web-platform-tests/encoding/textdecoder-labels-expected.txt: Updated expected results. The test already correctly covered this.
+        * web-platform-tests/encoding/textencoder-constructor-non-utf-expected.txt: ditto
+
 2017-11-05  Chris Dumez  <cdumez@apple.com>
 
         Implement ServiceWorkerRegistration.update()
index c29d07a..13015bb 100644 (file)
@@ -3167,166 +3167,166 @@ PASS "\fx-sjis\f" => "shift_jis"
 PASS "\rx-sjis" => "shift_jis" 
 PASS "x-sjis\r" => "shift_jis" 
 PASS "\rx-sjis\r" => "shift_jis" 
-FAIL "cseuckr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " cseuckr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "cseuckr " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " cseuckr " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tcseuckr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "cseuckr\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tcseuckr\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\ncseuckr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "cseuckr\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\ncseuckr\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fcseuckr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "cseuckr\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fcseuckr\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rcseuckr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "cseuckr\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rcseuckr\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "csksc56011987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " csksc56011987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "csksc56011987 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " csksc56011987 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tcsksc56011987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "csksc56011987\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tcsksc56011987\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\ncsksc56011987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "csksc56011987\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\ncsksc56011987\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fcsksc56011987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "csksc56011987\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fcsksc56011987\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rcsksc56011987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "csksc56011987\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rcsksc56011987\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "euc-kr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " euc-kr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "euc-kr " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " euc-kr " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\teuc-kr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "euc-kr\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\teuc-kr\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\neuc-kr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "euc-kr\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\neuc-kr\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\feuc-kr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "euc-kr\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\feuc-kr\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\reuc-kr" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "euc-kr\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\reuc-kr\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "iso-ir-149" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " iso-ir-149" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "iso-ir-149 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " iso-ir-149 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tiso-ir-149" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "iso-ir-149\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tiso-ir-149\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\niso-ir-149" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "iso-ir-149\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\niso-ir-149\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fiso-ir-149" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "iso-ir-149\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fiso-ir-149\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\riso-ir-149" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "iso-ir-149\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\riso-ir-149\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "korean" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " korean" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "korean " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " korean " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tkorean" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "korean\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tkorean\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nkorean" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "korean\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nkorean\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fkorean" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "korean\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fkorean\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rkorean" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "korean\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rkorean\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ks_c_5601-1987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1987 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ks_c_5601-1987 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tks_c_5601-1987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1987\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tks_c_5601-1987\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nks_c_5601-1987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1987\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nks_c_5601-1987\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fks_c_5601-1987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1987\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fks_c_5601-1987\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rks_c_5601-1987" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1987\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rks_c_5601-1987\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1989" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ks_c_5601-1989" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1989 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ks_c_5601-1989 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tks_c_5601-1989" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1989\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tks_c_5601-1989\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nks_c_5601-1989" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1989\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nks_c_5601-1989\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fks_c_5601-1989" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1989\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fks_c_5601-1989\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rks_c_5601-1989" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ks_c_5601-1989\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rks_c_5601-1989\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ksc5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc5601 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ksc5601 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tksc5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc5601\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tksc5601\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nksc5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc5601\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nksc5601\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fksc5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc5601\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fksc5601\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rksc5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc5601\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rksc5601\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc_5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ksc_5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc_5601 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " ksc_5601 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tksc_5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc_5601\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\tksc_5601\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nksc_5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc_5601\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nksc_5601\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fksc_5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc_5601\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fksc_5601\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rksc_5601" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "ksc_5601\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rksc_5601\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "windows-949" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " windows-949" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "windows-949 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL " windows-949 " => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\twindows-949" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "windows-949\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\twindows-949\t" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nwindows-949" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "windows-949\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\nwindows-949\n" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fwindows-949" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "windows-949\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\fwindows-949\f" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rwindows-949" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "windows-949\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
-FAIL "\rwindows-949\r" => "euc-kr" assert_equals: label for encoding should match expected "euc-kr" but got "windows-949"
+PASS "cseuckr" => "euc-kr" 
+PASS " cseuckr" => "euc-kr" 
+PASS "cseuckr " => "euc-kr" 
+PASS " cseuckr " => "euc-kr" 
+PASS "\tcseuckr" => "euc-kr" 
+PASS "cseuckr\t" => "euc-kr" 
+PASS "\tcseuckr\t" => "euc-kr" 
+PASS "\ncseuckr" => "euc-kr" 
+PASS "cseuckr\n" => "euc-kr" 
+PASS "\ncseuckr\n" => "euc-kr" 
+PASS "\fcseuckr" => "euc-kr" 
+PASS "cseuckr\f" => "euc-kr" 
+PASS "\fcseuckr\f" => "euc-kr" 
+PASS "\rcseuckr" => "euc-kr" 
+PASS "cseuckr\r" => "euc-kr" 
+PASS "\rcseuckr\r" => "euc-kr" 
+PASS "csksc56011987" => "euc-kr" 
+PASS " csksc56011987" => "euc-kr" 
+PASS "csksc56011987 " => "euc-kr" 
+PASS " csksc56011987 " => "euc-kr" 
+PASS "\tcsksc56011987" => "euc-kr" 
+PASS "csksc56011987\t" => "euc-kr" 
+PASS "\tcsksc56011987\t" => "euc-kr" 
+PASS "\ncsksc56011987" => "euc-kr" 
+PASS "csksc56011987\n" => "euc-kr" 
+PASS "\ncsksc56011987\n" => "euc-kr" 
+PASS "\fcsksc56011987" => "euc-kr" 
+PASS "csksc56011987\f" => "euc-kr" 
+PASS "\fcsksc56011987\f" => "euc-kr" 
+PASS "\rcsksc56011987" => "euc-kr" 
+PASS "csksc56011987\r" => "euc-kr" 
+PASS "\rcsksc56011987\r" => "euc-kr" 
+PASS "euc-kr" => "euc-kr" 
+PASS " euc-kr" => "euc-kr" 
+PASS "euc-kr " => "euc-kr" 
+PASS " euc-kr " => "euc-kr" 
+PASS "\teuc-kr" => "euc-kr" 
+PASS "euc-kr\t" => "euc-kr" 
+PASS "\teuc-kr\t" => "euc-kr" 
+PASS "\neuc-kr" => "euc-kr" 
+PASS "euc-kr\n" => "euc-kr" 
+PASS "\neuc-kr\n" => "euc-kr" 
+PASS "\feuc-kr" => "euc-kr" 
+PASS "euc-kr\f" => "euc-kr" 
+PASS "\feuc-kr\f" => "euc-kr" 
+PASS "\reuc-kr" => "euc-kr" 
+PASS "euc-kr\r" => "euc-kr" 
+PASS "\reuc-kr\r" => "euc-kr" 
+PASS "iso-ir-149" => "euc-kr" 
+PASS " iso-ir-149" => "euc-kr" 
+PASS "iso-ir-149 " => "euc-kr" 
+PASS " iso-ir-149 " => "euc-kr" 
+PASS "\tiso-ir-149" => "euc-kr" 
+PASS "iso-ir-149\t" => "euc-kr" 
+PASS "\tiso-ir-149\t" => "euc-kr" 
+PASS "\niso-ir-149" => "euc-kr" 
+PASS "iso-ir-149\n" => "euc-kr" 
+PASS "\niso-ir-149\n" => "euc-kr" 
+PASS "\fiso-ir-149" => "euc-kr" 
+PASS "iso-ir-149\f" => "euc-kr" 
+PASS "\fiso-ir-149\f" => "euc-kr" 
+PASS "\riso-ir-149" => "euc-kr" 
+PASS "iso-ir-149\r" => "euc-kr" 
+PASS "\riso-ir-149\r" => "euc-kr" 
+PASS "korean" => "euc-kr" 
+PASS " korean" => "euc-kr" 
+PASS "korean " => "euc-kr" 
+PASS " korean " => "euc-kr" 
+PASS "\tkorean" => "euc-kr" 
+PASS "korean\t" => "euc-kr" 
+PASS "\tkorean\t" => "euc-kr" 
+PASS "\nkorean" => "euc-kr" 
+PASS "korean\n" => "euc-kr" 
+PASS "\nkorean\n" => "euc-kr" 
+PASS "\fkorean" => "euc-kr" 
+PASS "korean\f" => "euc-kr" 
+PASS "\fkorean\f" => "euc-kr" 
+PASS "\rkorean" => "euc-kr" 
+PASS "korean\r" => "euc-kr" 
+PASS "\rkorean\r" => "euc-kr" 
+PASS "ks_c_5601-1987" => "euc-kr" 
+PASS " ks_c_5601-1987" => "euc-kr" 
+PASS "ks_c_5601-1987 " => "euc-kr" 
+PASS " ks_c_5601-1987 " => "euc-kr" 
+PASS "\tks_c_5601-1987" => "euc-kr" 
+PASS "ks_c_5601-1987\t" => "euc-kr" 
+PASS "\tks_c_5601-1987\t" => "euc-kr" 
+PASS "\nks_c_5601-1987" => "euc-kr" 
+PASS "ks_c_5601-1987\n" => "euc-kr" 
+PASS "\nks_c_5601-1987\n" => "euc-kr" 
+PASS "\fks_c_5601-1987" => "euc-kr" 
+PASS "ks_c_5601-1987\f" => "euc-kr" 
+PASS "\fks_c_5601-1987\f" => "euc-kr" 
+PASS "\rks_c_5601-1987" => "euc-kr" 
+PASS "ks_c_5601-1987\r" => "euc-kr" 
+PASS "\rks_c_5601-1987\r" => "euc-kr" 
+PASS "ks_c_5601-1989" => "euc-kr" 
+PASS " ks_c_5601-1989" => "euc-kr" 
+PASS "ks_c_5601-1989 " => "euc-kr" 
+PASS " ks_c_5601-1989 " => "euc-kr" 
+PASS "\tks_c_5601-1989" => "euc-kr" 
+PASS "ks_c_5601-1989\t" => "euc-kr" 
+PASS "\tks_c_5601-1989\t" => "euc-kr" 
+PASS "\nks_c_5601-1989" => "euc-kr" 
+PASS "ks_c_5601-1989\n" => "euc-kr" 
+PASS "\nks_c_5601-1989\n" => "euc-kr" 
+PASS "\fks_c_5601-1989" => "euc-kr" 
+PASS "ks_c_5601-1989\f" => "euc-kr" 
+PASS "\fks_c_5601-1989\f" => "euc-kr" 
+PASS "\rks_c_5601-1989" => "euc-kr" 
+PASS "ks_c_5601-1989\r" => "euc-kr" 
+PASS "\rks_c_5601-1989\r" => "euc-kr" 
+PASS "ksc5601" => "euc-kr" 
+PASS " ksc5601" => "euc-kr" 
+PASS "ksc5601 " => "euc-kr" 
+PASS " ksc5601 " => "euc-kr" 
+PASS "\tksc5601" => "euc-kr" 
+PASS "ksc5601\t" => "euc-kr" 
+PASS "\tksc5601\t" => "euc-kr" 
+PASS "\nksc5601" => "euc-kr" 
+PASS "ksc5601\n" => "euc-kr" 
+PASS "\nksc5601\n" => "euc-kr" 
+PASS "\fksc5601" => "euc-kr" 
+PASS "ksc5601\f" => "euc-kr" 
+PASS "\fksc5601\f" => "euc-kr" 
+PASS "\rksc5601" => "euc-kr" 
+PASS "ksc5601\r" => "euc-kr" 
+PASS "\rksc5601\r" => "euc-kr" 
+PASS "ksc_5601" => "euc-kr" 
+PASS " ksc_5601" => "euc-kr" 
+PASS "ksc_5601 " => "euc-kr" 
+PASS " ksc_5601 " => "euc-kr" 
+PASS "\tksc_5601" => "euc-kr" 
+PASS "ksc_5601\t" => "euc-kr" 
+PASS "\tksc_5601\t" => "euc-kr" 
+PASS "\nksc_5601" => "euc-kr" 
+PASS "ksc_5601\n" => "euc-kr" 
+PASS "\nksc_5601\n" => "euc-kr" 
+PASS "\fksc_5601" => "euc-kr" 
+PASS "ksc_5601\f" => "euc-kr" 
+PASS "\fksc_5601\f" => "euc-kr" 
+PASS "\rksc_5601" => "euc-kr" 
+PASS "ksc_5601\r" => "euc-kr" 
+PASS "\rksc_5601\r" => "euc-kr" 
+PASS "windows-949" => "euc-kr" 
+PASS " windows-949" => "euc-kr" 
+PASS "windows-949 " => "euc-kr" 
+PASS " windows-949 " => "euc-kr" 
+PASS "\twindows-949" => "euc-kr" 
+PASS "windows-949\t" => "euc-kr" 
+PASS "\twindows-949\t" => "euc-kr" 
+PASS "\nwindows-949" => "euc-kr" 
+PASS "windows-949\n" => "euc-kr" 
+PASS "\nwindows-949\n" => "euc-kr" 
+PASS "\fwindows-949" => "euc-kr" 
+PASS "windows-949\f" => "euc-kr" 
+PASS "\fwindows-949\f" => "euc-kr" 
+PASS "\rwindows-949" => "euc-kr" 
+PASS "windows-949\r" => "euc-kr" 
+PASS "\rwindows-949\r" => "euc-kr" 
 PASS "utf-16be" => "utf-16be" 
 PASS " utf-16be" => "utf-16be" 
 PASS "utf-16be " => "utf-16be" 
index ee1c3bf..dc02c05 100644 (file)
@@ -69,7 +69,7 @@ PASS Encoding argument supported for decode: iso-2022-jp
 PASS Encoding argument not considered for encode: iso-2022-jp 
 PASS Encoding argument supported for decode: shift_jis 
 PASS Encoding argument not considered for encode: shift_jis 
-FAIL Encoding argument supported for decode: euc-kr assert_equals: expected "euc-kr" but got "windows-949"
+PASS Encoding argument supported for decode: euc-kr 
 PASS Encoding argument not considered for encode: euc-kr 
 PASS Encoding argument not considered for encode: replacement 
 PASS Encoding argument supported for decode: utf-16be 
index f1a55f7..209938b 100644 (file)
@@ -1,3 +1,20 @@
+2017-11-06  Maciej Stachowiak  <mjs@apple.com>
+
+        Canonical name of EUC-KR encoding should be EUC-KR, not windows-949
+        https://bugs.webkit.org/show_bug.cgi?id=179305
+
+        Reviewed by Alexey Proskuryakov.
+
+        Already covered by:
+        LayoutTests/imported/w3c/web-platform-tests/encoding/textdecoder-labels.html
+        LayoutTests/imported/w3c/web-platform-tests/encoding/textencoder-constructor-non-utf-expected.html
+        LayoutTests/fast/encoding/charset-decode.html
+        
+        * platform/text/TextCodecICU.cpp: Change registration so the EUC-KR name
+        is canonical.
+        (WebCore::TextCodecICU::registerCodecs): However, we still want to use the windows-949
+        decoder. It's not exactly the same, but the spec calls for that.
+
 2017-11-06  Zan Dobersek  <zdobersek@igalia.com>
 
         [Cairo] CairoGlyphToPathTranslator::path() shouldn't fill out the glyph path
index 40212fe..d4fd8b8 100644 (file)
@@ -93,7 +93,7 @@ DECLARE_ALIASES(KOI8_R, "cskoi8r", "koi", "koi8", "koi8_r");
 DECLARE_ALIASES(KOI8_U, "koi8-ru");
 DECLARE_ALIASES(macintosh, "csmacintosh", "mac", "x-mac-roman", "macroman", "x-macroman");
 DECLARE_ALIASES(windows_874, "dos-874", "iso-8859-11", "iso8859-11", "iso885911", "tis-620");
-DECLARE_ALIASES(windows_949, "euc-kr", "cseuckr", "csksc56011987", "iso-ir-149", "korean", "ks_c_5601-1987", "ks_c_5601-1989", "ksc5601", "ksc_5601", "ms949", "x-KSC5601", "x-windows-949", "x-uhc");
+DECLARE_ALIASES(EUC_KR, "windows-949", "cseuckr", "csksc56011987", "iso-ir-149", "korean", "ks_c_5601-1987", "ks_c_5601-1989", "ksc5601", "ksc_5601", "ms949", "x-KSC5601", "x-windows-949", "x-uhc");
 DECLARE_ALIASES(windows_1250, "cp1250", "x-cp1250", "winlatin2");
 DECLARE_ALIASES(windows_1251, "cp1251", "wincyrillic", "x-cp1251");
 DECLARE_ALIASES(windows_1253, "wingreek", "cp1253", "x-cp1253");
@@ -147,7 +147,7 @@ static const struct EncodingName {
     DECLARE_ENCODING_NAME("KOI8-U", KOI8_U),
     DECLARE_ENCODING_NAME("macintosh", macintosh),
     DECLARE_ENCODING_NAME("windows-874", windows_874),
-    DECLARE_ENCODING_NAME("windows-949", windows_949),
+    DECLARE_ENCODING_NAME("EUC-KR", EUC_KR),
     DECLARE_ENCODING_NAME("windows-1250", windows_1250),
     DECLARE_ENCODING_NAME("windows-1251", windows_1251),
     DECLARE_ENCODING_NAME("windows-1253", windows_1253),
@@ -234,6 +234,10 @@ void TextCodecICU::registerCodecs(TextCodecRegistrar registrar)
             registrar(encodingName.name, create, "macos-35-10.2");
             continue;
         }
+        if (!strcmp(encodingName.name, "EUC-KR")) {
+            registrar(encodingName.name, create, "windows-949");
+            continue;
+        }
 
         UErrorCode error = U_ZERO_ERROR;
         const char* canonicalConverterName = ucnv_getCanonicalName(encodingName.name, "IANA", &error);