Bug 562091 - Remove the EUC-KR conveter and rename x-windows-949 to EUC-KR. r=smontagu
authorMasatoshi Kimura <VYV03354@nifty.ne.jp>
Tue, 13 Nov 2012 18:58:48 -0500
changeset 117803 fd7a0ace6b0e5090c8874ddb0db2a85c032859d8
parent 117802 0b6b3d2856a44d7ab71f6cfe1783fe77fd76141f
child 117804 2a83ad99f062144780878e6058abcf235fb76965
push idunknown
push userunknown
push dateunknown
reviewerssmontagu
bugs562091
milestone19.0a1
Bug 562091 - Remove the EUC-KR conveter and rename x-windows-949 to EUC-KR. r=smontagu
browser/components/migration/src/SafariProfileMigrator.js
dom/encoding/TextDecoder.cpp
dom/encoding/labelsencodings.properties
dom/locales/en-US/chrome/charsetTitles.properties
dom/plugins/base/nsPluginInstanceOwner.cpp
intl/locale/src/charsetalias.properties
intl/locale/src/windows/wincharset.properties
intl/uconv/directory.txt
intl/uconv/src/charsetData.properties
intl/uconv/src/nsUConvModule.cpp
intl/uconv/tests/unit/test_bug718500.js
intl/uconv/tests/unit/test_decode_EUCKR_Hangul.js
intl/uconv/ucvko/Makefile.in
intl/uconv/ucvko/nsEUCKRToUnicode.cpp
intl/uconv/ucvko/nsEUCKRToUnicode.h
intl/uconv/ucvko/nsUCvKOCID.h
intl/uconv/ucvko/nsUnicodeToEUCKR.cpp
intl/uconv/ucvko/nsUnicodeToEUCKR.h
modules/libpref/src/init/all.js
widget/os2/nsOS2Uni.cpp
--- a/browser/components/migration/src/SafariProfileMigrator.js
+++ b/browser/components/migration/src/SafariProfileMigrator.js
@@ -332,19 +332,19 @@ Preferences.prototype = {
         // Allowed, originating site only   --        3
         this._set("WebKitDisplayImagesKey", "permissions.default.image",
                   function(webkitVal) webkitVal ? 1 : 2);
 
         // Default charset migration
         this._set("WebKitDefaultTextEncodingName", "intl.charset.default",
           function(webkitCharset) {
             // We don't support x-mac-korean (see bug 713516), but it mostly matches
-            // x-windows-949.
+            // EUC-KR.
             if (webkitCharset == "x-mac-korean")
-              return "x-windows-949";
+              return "EUC-KR";
 
             // getCharsetAlias throws if an invalid value is passed in.
             try {
               return Cc["@mozilla.org/charset-converter-manager;1"].
                      getService(Ci.nsICharsetConverterManager).
                      getCharsetAlias(webkitCharset);
             }
             catch(ex) {
--- a/dom/encoding/TextDecoder.cpp
+++ b/dom/encoding/TextDecoder.cpp
@@ -201,23 +201,16 @@ TextDecoder::GetEncoding(nsAString& aEnc
   // "utf-16".
   // This workaround should not be exposed to the public API and so "utf-16"
   // is returned by GetEncoding() if the internal encoding name is "utf-16le".
   if (mEncoding.EqualsLiteral("UTF-16LE")) {
     aEncoding.AssignLiteral("utf-16");
     return;
   }
 
-  // Similarly, "x-windows-949" is used for the "euc-kr" family. Therefore, if
-  // the internal encoding name is "x-windows-949", "euc-kr" is returned.
-  if (mEncoding.EqualsLiteral("x-windows-949")) {
-    aEncoding.AssignLiteral("euc-kr");
-    return;
-  }
-
   CopyASCIItoUTF16(mEncoding, aEncoding);
   nsContentUtils::ASCIIToLower(aEncoding);
 }
 
 NS_IMPL_CYCLE_COLLECTING_ADDREF(TextDecoder)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(TextDecoder)
 
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TextDecoder)
--- a/dom/encoding/labelsencodings.properties
+++ b/dom/encoding/labelsencodings.properties
@@ -200,24 +200,24 @@ csiso2022jp=ISO-2022-JP
 iso-2022-jp=ISO-2022-JP
 csshiftjis=Shift_JIS
 ms_kanji=Shift_JIS
 shift-jis=Shift_JIS
 shift_jis=Shift_JIS
 sjis=Shift_JIS
 windows-31j=Shift_JIS
 x-sjis=Shift_JIS
-cseuckr=x-windows-949
-csksc56011987=x-windows-949
-euc-kr=x-windows-949
-iso-ir-149=x-windows-949
-korean=x-windows-949
-ks_c_5601-1987=x-windows-949
-ks_c_5601-1989=x-windows-949
-ksc5601=x-windows-949
-ksc_5601=x-windows-949
-windows-949=x-windows-949
+cseuckr=EUC-KR
+csksc56011987=EUC-KR
+euc-kr=EUC-KR
+iso-ir-149=EUC-KR
+korean=EUC-KR
+ks_c_5601-1987=EUC-KR
+ks_c_5601-1989=EUC-KR
+ksc5601=EUC-KR
+ksc_5601=EUC-KR
+windows-949=EUC-KR
 csiso2022kr=ISO-2022-KR
 iso-2022-kr=ISO-2022-KR
 utf-16=UTF-16LE
 utf-16le=UTF-16LE
 utf-16be=UTF-16BE
 x-user-defined=x-user-defined
--- a/dom/locales/en-US/chrome/charsetTitles.properties
+++ b/dom/locales/en-US/chrome/charsetTitles.properties
@@ -38,17 +38,16 @@ big5.title = Chinese Traditional (Big5)
 big5-hkscs.title = Chinese Traditional (Big5-HKSCS)
 x-euc-tw.title = Chinese Traditional (EUC-TW)
 gb2312.title = Chinese Simplified (GB2312)
 hz-gb-2312.title = Chinese Simplified (HZ)
 gbk.title = Chinese Simplified (GBK)
 iso-2022-cn.title = Chinese Simplified (ISO-2022-CN)
 euc-kr.title = Korean (EUC-KR)
 x-johab.title = Korean (JOHAB)
-x-windows-949.title = Korean (UHC)
 iso-2022-kr.title = Korean (ISO-2022-KR)
 utf-7.title = Unicode (UTF-7)
 utf-8.title = Unicode (UTF-8)
 utf-16.title = Unicode (UTF-16)
 utf-16le.title = Unicode (UTF-16LE)
 utf-16be.title = Unicode (UTF-16BE)
 iso-8859-5.title = Cyrillic (ISO-8859-5)
 iso-ir-111.title = Cyrillic (ISO-IR-111)
--- a/dom/plugins/base/nsPluginInstanceOwner.cpp
+++ b/dom/plugins/base/nsPluginInstanceOwner.cpp
@@ -959,17 +959,17 @@ static const moz2javaCharset charsets[] 
     {"windows-1251",    "Cp1251"},
     {"windows-1253",    "Cp1253"},
     {"windows-1254",    "Cp1254"},
     {"windows-1255",    "Cp1255"},
     {"windows-1256",    "Cp1256"},
     {"windows-1257",    "Cp1257"},
     {"windows-1258",    "Cp1258"},
     {"EUC-JP",          "EUC_JP"},
-    {"EUC-KR",          "EUC_KR"},
+    {"EUC-KR",          "MS949"},
     {"x-euc-tw",        "EUC_TW"},
     {"gb18030",         "GB18030"},
     {"gbk",             "GBK"},
     {"ISO-2022-JP",     "ISO2022JP"},
     {"ISO-2022-KR",     "ISO2022KR"},
     {"ISO-8859-2",      "ISO8859_2"},
     {"ISO-8859-3",      "ISO8859_3"},
     {"ISO-8859-4",      "ISO8859_4"},
@@ -977,17 +977,16 @@ static const moz2javaCharset charsets[] 
     {"ISO-8859-6",      "ISO8859_6"},
     {"ISO-8859-7",      "ISO8859_7"},
     {"ISO-8859-8",      "ISO8859_8"},
     {"ISO-8859-9",      "ISO8859_9"},
     {"ISO-8859-13",     "ISO8859_13"},
     {"x-johab",         "Johab"},
     {"KOI8-R",          "KOI8_R"},
     {"TIS-620",         "MS874"},
-    {"x-windows-949",   "MS949"},
     {"x-mac-arabic",    "MacArabic"},
     {"x-mac-croatian",  "MacCroatia"},
     {"x-mac-cyrillic",  "MacCyrillic"},
     {"x-mac-greek",     "MacGreek"},
     {"x-mac-hebrew",    "MacHebrew"},
     {"x-mac-icelandic", "MacIceland"},
     {"macintosh",       "MacRoman"},
     {"x-mac-romanian",  "MacRomania"},
--- a/intl/locale/src/charsetalias.properties
+++ b/intl/locale/src/charsetalias.properties
@@ -112,17 +112,16 @@ x-mac-gurmukhi=x-mac-gurmukhi
 armscii-8=armscii-8
 x-viet-tcvn5712=x-viet-tcvn5712
 x-viet-vps=x-viet-vps
 iso-10646-ucs-2=UTF-16BE
 x-iso-10646-ucs-2-be=UTF-16BE
 x-iso-10646-ucs-2-le=UTF-16LE
 x-user-defined=x-user-defined
 x-johab=x-johab
-x-windows-949=x-windows-949
 #
 # Aliases for ISO-8859-1
 #
 latin1=ISO-8859-1
 iso_8859-1=ISO-8859-1
 iso8859-1=ISO-8859-1
 iso8859-2=ISO-8859-2
 iso8859-3=ISO-8859-3
@@ -272,30 +271,25 @@ cn-big5=Big5
 # x-x-big5 is not really a alias for Big5, add it only for MS FrontPage
 x-x-big5=Big5
 # Sun Solaris
 zh_tw-big5=Big5
 #
 # Aliases for EUC-KR
 #
 cseuckr=EUC-KR
-# The following are really not aliases EUC-KR, add them only for MS FrontPage
-#ks_c_5601-1987=EUC-KR
+ks_c_5601-1987=EUC-KR
 iso-ir-149=EUC-KR
 ks_c_5601-1989=EUC-KR
 ksc_5601=EUC-KR
 ksc5601=EUC-KR
 korean=EUC-KR
 csksc56011987=EUC-KR
 5601=EUC-KR
-#
-# Aliases for X-Windows-949, CP949, Unified Hangul Code (UHC)
-#
-# Microsoft uses ks_c_5601-1987 to mean Windows-949 or its subset EUC-KR.
-ks_c_5601-1987=x-windows-949
+windows-949=EUC-KR
 #
 # Aliases for GB2312
 #
 # The following are really not aliases GB2312, add them only for MS FrontPage
 gb_2312-80=GB2312
 iso-ir-58=GB2312
 chinese=GB2312
 csiso58gb231280=GB2312
--- a/intl/locale/src/windows/wincharset.properties
+++ b/intl/locale/src/windows/wincharset.properties
@@ -4,17 +4,17 @@
 #
 # This file map a ACP to a charset name
 # We use this to figure out the charset of file system, clipboard, etc
 #
 
 acp.874=TIS-620
 acp.932=Shift_JIS
 acp.936=gb18030
-acp.949=x-windows-949
+acp.949=EUC-KR
 acp.950=Big5
 acp.951=Big5-HKSCS
 acp.1250=windows-1250
 acp.1251=windows-1251
 acp.1252=windows-1252
 acp.1253=windows-1253
 acp.1254=windows-1254
 acp.1255=windows-1255
--- a/intl/uconv/directory.txt
+++ b/intl/uconv/directory.txt
@@ -10,17 +10,17 @@ tests/unit - xpcshell tests
 tools      - tools to build the tables used by the converters
 util       - utility functions used by the converters
 
 The following directories contain different charset converters:
 
 ucvcn    - Simplified Chinese charsets - GB2312, HZ, ISO-2022-CN, GBK, GB18030
 ucvibm   - IBM charsets - CP850, 852, 855, 857, 862, 864, 869, 1125, 1131
 ucvja    - Japanese charsets - Shift-JIS, ISO-2022-JP, EUC-JP
-ucvko    - Korean charsets - ISO-2022-KR, EUC-KR, CP949
+ucvko    - Korean charsets - ISO-2022-KR, EUC-KR, Johab
 ucvlatin - Latin charsets and others - ISO-8859-x, CP1250-1258
                             CP866, 874, ARMSCII, ISO-IR-111, KOI8,
                             Mac charsets, T61, TIS620, TCVN, VISCII, VPS
                             UTF7, UTF16
 ucvtw    - Traditional Chinese charsets Set 1 - Big5
 ucvtw2   - Traditional Chinese charsets Set 2 - EUC-TW
 
 Within the directories containing charset converters:
--- a/intl/uconv/src/charsetData.properties
+++ b/intl/uconv/src/charsetData.properties
@@ -64,17 +64,16 @@ iso-8859-6-e.notForOutgoing             
 iso-8859-6-i.notForOutgoing             = true
 ibm864.notForOutgoing                   = true
 ibm869.notForOutgoing                   = true
 ibm1125.notForOutgoing                  = true
 ibm1131.notForOutgoing                  = true
 iso-8859-8-e.notForOutgoing             = true
 iso-8859-8.notForOutgoing               = true
 iso-2022-kr.notForOutgoing              = true
-x-windows-949.notForOutgoing            = true
 x-johab.notForOutgoing                  = true
 
 
 // XXX : there are some entries only necessary for Gtk/Xlib builds
 // to map  XLFD registry-encoding pairs to langGroups. they can be
 // removed once bug 215537 is fixed.
 
 // XXX : todo: move to something based on BCP 47 (RFC 5646);
@@ -181,17 +180,16 @@ x-mac-gurmukhi.LangGroup           = x-g
 x-mac-icelandic.LangGroup          = x-western
 macintosh.LangGroup                = x-western
 x-mac-turkish.LangGroup            = tr
 x-mac-ukrainian.LangGroup          = x-cyrillic
 x-mac-romanian.LangGroup           = x-central-euro
 x-user-defined.LangGroup           = x-user-def
 ks_c_5601-1987.LangGroup           = ko
 x-johab.LangGroup                  = ko
-x-windows-949.LangGroup            = ko
 x-mac-hebrew.LangGroup             = he
 x-mac-arabic.LangGroup             = ar
 x-sun-unicode-india-0.LangGroup    = x-devanagari
 x-tscii.LangGroup                = x-tamil
 x-tamilttf-0.LangGroup             = x-tamil
 
 iso-2022-jp.isMultibyte     = true
 shift_jis.isMultibyte       = true
@@ -199,11 +197,10 @@ euc-jp.isMultibyte          = true
 big5.isMultibyte            = true
 big5-hkscs.isMultibyte      = true
 x-euc-tw.isMultibyte        = true
 gb2312.isMultibyte          = true
 hz-gb-2312.isMultibyte      = true
 iso-2022-kr.isMultibyte     = true
 euc-kr.isMultibyte          = true
 x-johab.isMultibyte         = true
-x-windows-949.isMultibyte   = true
 utf-7.isMultibyte           = true
 utf-8.isMultibyte           = true
--- a/intl/uconv/src/nsUConvModule.cpp
+++ b/intl/uconv/src/nsUConvModule.cpp
@@ -205,18 +205,16 @@
 #include "nsUnicodeToBIG5.h"
 #include "nsBIG5HKSCSToUnicode.h"
 #include "nsUnicodeToBIG5HKSCS.h"
 #include "nsUnicodeToHKSCS.h"
 
 // ucvko
 #include "nsUCvKOCID.h"
 #include "nsUCvKODll.h"
-#include "nsEUCKRToUnicode.h"
-#include "nsUnicodeToEUCKR.h"
 #include "nsJohabToUnicode.h"
 #include "nsUnicodeToJohab.h"
 #include "nsCP949ToUnicode.h"
 #include "nsUnicodeToCP949.h"
 #include "nsISO2022KRToUnicode.h"
 
 // ucvcn
 #include "nsUCvCnCID.h"
@@ -328,17 +326,16 @@ NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWT
 NS_UCONV_REG_UNREG("Big5", NS_BIG5TOUNICODE_CID, NS_UNICODETOBIG5_CID)
 NS_UCONV_REG_UNREG("Big5-HKSCS", NS_BIG5HKSCSTOUNICODE_CID, NS_UNICODETOBIG5HKSCS_CID)
   
 NS_UCONV_REG_UNREG_ENCODER("hkscs-1" , NS_UNICODETOHKSCS_CID)
 
     // ucvko
 NS_UCONV_REG_UNREG("EUC-KR", NS_EUCKRTOUNICODE_CID, NS_UNICODETOEUCKR_CID)
 NS_UCONV_REG_UNREG("x-johab", NS_JOHABTOUNICODE_CID, NS_UNICODETOJOHAB_CID)
-NS_UCONV_REG_UNREG("x-windows-949", NS_CP949TOUNICODE_CID, NS_UNICODETOCP949_CID)
 NS_UCONV_REG_UNREG_DECODER("ISO-2022-KR", NS_ISO2022KRTOUNICODE_CID)
 
 // ucvcn
 NS_UCONV_REG_UNREG("GB2312", NS_GB2312TOUNICODE_CID, NS_UNICODETOGB2312_CID)
 NS_UCONV_REG_UNREG("gbk", NS_GBKTOUNICODE_CID, NS_UNICODETOGBK_CID)
 NS_UCONV_REG_UNREG("HZ-GB-2312", NS_HZTOUNICODE_CID, NS_UNICODETOHZ_CID)
 NS_UCONV_REG_UNREG("gb18030", NS_GB18030TOUNICODE_CID, NS_UNICODETOGB18030_CID)
 NS_UCONV_REG_UNREG_DECODER("ISO-2022-CN", NS_ISO2022CNTOUNICODE_CID)
@@ -682,18 +679,16 @@ NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5_CID
 NS_DEFINE_NAMED_CID(NS_BIG5TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOBIG5HKSCS_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOHKSCS_CID);
 NS_DEFINE_NAMED_CID(NS_BIG5HKSCSTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_EUCKRTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOEUCKR_CID);
 NS_DEFINE_NAMED_CID(NS_JOHABTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOJOHAB_CID);
-NS_DEFINE_NAMED_CID(NS_CP949TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP949_CID);
 NS_DEFINE_NAMED_CID(NS_ISO2022KRTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_GB2312TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOGB2312_CID);
 NS_DEFINE_NAMED_CID(NS_GBKTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOGBK_CID);
 NS_DEFINE_NAMED_CID(NS_HZTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOHZ_CID);
 NS_DEFINE_NAMED_CID(NS_GB18030TOUNICODE_CID);
@@ -865,22 +860,20 @@ static const mozilla::Module::CIDEntry k
   { &kNS_UNICODETOJISX0201_CID, false, nullptr, nsUnicodeToJISx0201Constructor },
   { &kNS_EUCTWTOUNICODE_CID, false, nullptr, nsEUCTWToUnicodeConstructor },
   { &kNS_UNICODETOEUCTW_CID, false, nullptr, nsUnicodeToEUCTWConstructor },
   { &kNS_UNICODETOBIG5_CID, false, nullptr, nsUnicodeToBIG5Constructor },
   { &kNS_BIG5TOUNICODE_CID, false, nullptr, nsBIG5ToUnicodeConstructor },
   { &kNS_UNICODETOBIG5HKSCS_CID, false, nullptr, nsUnicodeToBIG5HKSCSConstructor },
   { &kNS_UNICODETOHKSCS_CID, false, nullptr, nsUnicodeToHKSCSConstructor },
   { &kNS_BIG5HKSCSTOUNICODE_CID, false, nullptr, nsBIG5HKSCSToUnicodeConstructor },
-  { &kNS_EUCKRTOUNICODE_CID, false, nullptr, nsEUCKRToUnicodeConstructor },
-  { &kNS_UNICODETOEUCKR_CID, false, nullptr, nsUnicodeToEUCKRConstructor },
+  { &kNS_EUCKRTOUNICODE_CID, false, nullptr, nsCP949ToUnicodeConstructor },
+  { &kNS_UNICODETOEUCKR_CID, false, nullptr, nsUnicodeToCP949Constructor },
   { &kNS_JOHABTOUNICODE_CID, false, nullptr, nsJohabToUnicodeConstructor },
   { &kNS_UNICODETOJOHAB_CID, false, nullptr, nsUnicodeToJohabConstructor },
-  { &kNS_CP949TOUNICODE_CID, false, nullptr, nsCP949ToUnicodeConstructor },
-  { &kNS_UNICODETOCP949_CID, false, nullptr, nsUnicodeToCP949Constructor },
   { &kNS_ISO2022KRTOUNICODE_CID, false, nullptr, nsISO2022KRToUnicodeConstructor },
   { &kNS_GB2312TOUNICODE_CID, false, nullptr, nsGB2312ToUnicodeV2Constructor },
   { &kNS_UNICODETOGB2312_CID, false, nullptr, nsUnicodeToGB2312V2Constructor },
   { &kNS_GBKTOUNICODE_CID, false, nullptr, nsGBKToUnicodeConstructor },
   { &kNS_UNICODETOGBK_CID, false, nullptr, nsUnicodeToGBKConstructor },
   { &kNS_HZTOUNICODE_CID, false, nullptr, nsHZToUnicodeConstructor },
   { &kNS_UNICODETOHZ_CID, false, nullptr, nsUnicodeToHZConstructor },
   { &kNS_GB18030TOUNICODE_CID, false, nullptr, nsGB18030ToUnicodeConstructor },
@@ -1058,18 +1051,16 @@ static const mozilla::Module::ContractID
   { NS_UNICODEDECODER_CONTRACTID_BASE "Big5", &kNS_BIG5TOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_UNICODETOBIG5HKSCS_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "hkscs-1", &kNS_UNICODETOHKSCS_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "Big5-HKSCS", &kNS_BIG5HKSCSTOUNICODE_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-KR", &kNS_EUCKRTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-KR", &kNS_UNICODETOEUCKR_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "x-johab", &kNS_JOHABTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "x-johab", &kNS_UNICODETOJOHAB_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-windows-949", &kNS_CP949TOUNICODE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-windows-949", &kNS_UNICODETOCP949_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-KR", &kNS_ISO2022KRTOUNICODE_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "GB2312", &kNS_GB2312TOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "GB2312", &kNS_UNICODETOGB2312_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "gbk", &kNS_GBKTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "gbk", &kNS_UNICODETOGBK_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_HZTOUNICODE_CID },
   { NS_UNICODEENCODER_CONTRACTID_BASE "HZ-GB-2312", &kNS_UNICODETOHZ_CID },
   { NS_UNICODEDECODER_CONTRACTID_BASE "gb18030", &kNS_GB18030TOUNICODE_CID },
--- a/intl/uconv/tests/unit/test_bug718500.js
+++ b/intl/uconv/tests/unit/test_bug718500.js
@@ -90,17 +90,16 @@ var encoderList = [
   "EUC-JP",
   "jis_0201",
   "x-euc-tw",
   "Big5",
   "Big5-HKSCS",
   "hkscs-1",
   "EUC-KR",
   "x-johab",
-  "x-windows-949",
   "GB2312",
   "gbk",
   "HZ-GB-2312",
   "gb18030",
 ];
 
 var decoderList = [
   "ISO-8859-1",
@@ -173,17 +172,16 @@ var decoderList = [
   "Shift_JIS",
   "ISO-2022-JP",
   "EUC-JP",
   "x-euc-tw",
   "Big5",
   "Big5-HKSCS",
   "EUC-KR",
   "x-johab",
-  "x-windows-949",
   "GB2312",
   "gbk",
   "HZ-GB-2312",
   "gb18030",
   "ISO-2022-KR",
   "ISO-2022-CN",
 ];
 
--- a/intl/uconv/tests/unit/test_decode_EUCKR_Hangul.js
+++ b/intl/uconv/tests/unit/test_decode_EUCKR_Hangul.js
@@ -1,15 +1,15 @@
 // Tests conversion of 8-byte decomposed Hangul from EUC-KR (and variants)
 // to Unicode, including invalid input
         
 load('CharsetConversionTests.js');
 load('hangulTestStrings.js');
 
-const aliases = [ "euc-kr", "EUC-KR", "iso-ir-149", "ks_c_5601-1989", "ksc_5601", "ksc5601", "korean", "csksc56011987", "5601", "x-windows-949", "ks_c_5601-1987", "cseuckr"];
+const aliases = [ "euc-kr", "EUC-KR", "iso-ir-149", "ks_c_5601-1989", "ksc_5601", "ksc5601", "korean", "csksc56011987", "5601", "windows-949", "ks_c_5601-1987", "cseuckr"];
 
 function to8byteHangul(byte3, byte5, byte7)
 {
     return String.fromCharCode(0xa4, 0xd4, 0xa4, byte3, 0xa4, byte5, 0xa4, byte7);
 }
 
 function run_test() {
     var converter = CreateScriptableConverter();
--- a/intl/uconv/ucvko/Makefile.in
+++ b/intl/uconv/ucvko/Makefile.in
@@ -12,18 +12,16 @@ include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvko
 LIBRARY_NAME	= ucvko_s
 FORCE_STATIC_LIB=1
 LIBXUL_LIBRARY = 1
 
 
 CPPSRCS		= \
-		nsEUCKRToUnicode.cpp \
-		nsUnicodeToEUCKR.cpp \
 		nsISO2022KRToUnicode.cpp \
 		nsCP949ToUnicode.cpp \
 		nsUnicodeToCP949.cpp \
 		nsUnicodeToJohab.cpp \
 		nsJohabToUnicode.cpp \
 		$(NULL)
 
 EXPORTS		= nsUCvKOCID.h
deleted file mode 100644
--- a/intl/uconv/ucvko/nsEUCKRToUnicode.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsEUCKRToUnicode.h"
-#include "nsUCvKODll.h"
-#include "nsUCConstructors.h"
-
-nsresult
-nsEUCKRToUnicodeConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult)
-{
-  return nsCP949ToUnicodeConstructor(aOuter, aIID, aResult);
-}
deleted file mode 100644
--- a/intl/uconv/ucvko/nsEUCKRToUnicode.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef nsEUCKRToUnicode_h___
-#define nsEUCKRToUnicode_h___
-
-#include "nsCP949ToUnicode.h"
-
-/**
- * A character set converter from EUCKR to Unicode.
- *
- * @created         06/Apr/1999
- * @author  Catalin Rotaru [CATA]
- */
-// Just make it an alias to CP949 decoder. bug 131388
-nsresult
-nsEUCKRToUnicodeConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult);
-
-#endif /* nsEUCKRToUnicode_h___ */
--- a/intl/uconv/ucvko/nsUCvKOCID.h
+++ b/intl/uconv/ucvko/nsUCvKOCID.h
@@ -23,24 +23,16 @@
 #define NS_UNICODETOEUCKR_CID \
   { 0x379c2778, 0xec77, 0x11d2, {0x8a, 0xac, 0x0, 0x60, 0x8, 0x11, 0xa8, 0x36}}
 
 // Class ID for our UnicodeToISO2022KR charset converter
 // {BA6151A0-1DFA-11d3-B3BF-00805F8A6670}
 #define NS_UNICODETOISO2022KR_CID \
   { 0xba6151a0, 0x1dfa, 0x11d3, {0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
 
-// Class ID for our UnicodeToCP949 charset converter
-#define NS_UNICODETOCP949_CID \
-  { 0x9416bfbe, 0x1f93, 0x11d3, {0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
-
-// Class ID for our CP949ToUnicode charset converter
-#define NS_CP949TOUNICODE_CID \
-  { 0x9416bfbf, 0x1f93, 0x11d3, {0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70}}
-
 // Class ID for our UnicodeToJohab charset converter
 // {D9B1F97E-CFA0-80b6-FB92-9972E48E3DCC}
 #define NS_UNICODETOJOHAB_CID \
   { 0xd9b1f97e, 0xcfa0, 0x80b6,  {0xfb, 0x92, 0x99, 0x72, 0xe4, 0x8e, 0x3d, 0xcc}} 
 
 // Class ID for our JohabToUnicode charset converter
 // {D9B1F97F-CFA0-80b6-FB92-9972E48E3DCC}
 #define NS_JOHABTOUNICODE_CID \
deleted file mode 100644
--- a/intl/uconv/ucvko/nsUnicodeToEUCKR.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsUnicodeToEUCKR.h"
-#include "nsUCvKODll.h"
-#include "nsUCConstructors.h"
-
-//----------------------------------------------------------------------
-// Global functions and data [declaration]
-
-
-static const uint16_t *g_EUCKRMappingTable[3] = {
-  g_ASCIIMappingTable,
-  g_ufKSC5601Mapping,
-  g_HangulNullMapping
-};
-
-static const uScanClassID g_EUCKRScanCellIDTable[3] =  {
-  u1ByteCharset,
-  u2BytesGRCharset,
-  uDecomposedHangulCharset
-};
-
-nsresult
-nsUnicodeToEUCKRConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult)
-{
-  return CreateMultiTableEncoder(3,
-                                 (uScanClassID*) g_EUCKRScanCellIDTable, 
-                                 (uMappingTable**) g_EUCKRMappingTable,
-                                 // change from 2 to 8 because of composed jamo
-                                 8 /* max length = src * 8 */,
-                                 aOuter, aIID, aResult);
-}
-
deleted file mode 100644
--- a/intl/uconv/ucvko/nsUnicodeToEUCKR.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef nsUnicodeToEUCKR_h___
-#define nsUnicodeToEUCKR_h___
-
-#include "nsISupports.h"
-
-/**
- * A character set converter from Unicode to EUCKR.
- *
- * @created         06/Apr/1999
- * @author  Catalin Rotaru [CATA]
- */
-nsresult
-nsUnicodeToEUCKRConstructor(nsISupports *aOuter, REFNSIID aIID,
-                            void **aResult);
-
-#endif /* nsUnicodeToEUCKR_h___ */
--- a/modules/libpref/src/init/all.js
+++ b/modules/libpref/src/init/all.js
@@ -1260,17 +1260,17 @@ pref("converter.html2txt.structs",      
 pref("converter.html2txt.header_strategy",  1); // 0 = no indention; 1 = indention, increased with header level; 2 = numbering and slight indention
 
 pref("intl.accept_languages",               "chrome://global/locale/intl.properties");
 pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
 pref("intl.menuitems.insertseparatorbeforeaccesskeys","chrome://global/locale/intl.properties");
 pref("intl.charsetmenu.browser.static",     "chrome://global/locale/intl.properties");
 pref("intl.charsetmenu.browser.more1",      "ISO-8859-1, ISO-8859-15, IBM850, macintosh, windows-1252, ISO-8859-14, ISO-8859-7, x-mac-greek, windows-1253, x-mac-icelandic, ISO-8859-10, ISO-8859-3");
 pref("intl.charsetmenu.browser.more2",      "ISO-8859-4, ISO-8859-13, windows-1257, IBM852, ISO-8859-2, x-mac-ce, windows-1250, x-mac-croatian, IBM855, ISO-8859-5, ISO-IR-111, KOI8-R, x-mac-cyrillic, windows-1251, IBM866, KOI8-U, x-mac-ukrainian, ISO-8859-16, x-mac-romanian");
-pref("intl.charsetmenu.browser.more3",      "GB2312, gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-windows-949, x-johab, ISO-2022-KR");
+pref("intl.charsetmenu.browser.more3",      "GB2312, gbk, gb18030, HZ-GB-2312, ISO-2022-CN, Big5, Big5-HKSCS, x-euc-tw, EUC-JP, ISO-2022-JP, Shift_JIS, EUC-KR, x-johab, ISO-2022-KR");
 pref("intl.charsetmenu.browser.more4",      "armscii-8, TIS-620, ISO-8859-11, windows-874, IBM857, ISO-8859-9, x-mac-turkish, windows-1254, x-viet-tcvn5712, VISCII, x-viet-vps, windows-1258, x-mac-devanagari, x-mac-gujarati, x-mac-gurmukhi");
 pref("intl.charsetmenu.browser.more5",      "ISO-8859-6, windows-1256, ISO-8859-8-I, windows-1255, ISO-8859-8, IBM862");
 pref("intl.charsetmenu.browser.unicode",    "UTF-8, UTF-16LE, UTF-16BE");
 pref("intl.charsetmenu.mailedit",           "chrome://global/locale/intl.properties");
 pref("intl.charsetmenu.browser.cache",      "");
 pref("intl.charsetmenu.mailview.cache",     "");
 pref("intl.charsetmenu.composer.cache",     "");
 pref("intl.charsetmenu.browser.cache.size", 5);
--- a/widget/os2/nsOS2Uni.cpp
+++ b/widget/os2/nsOS2Uni.cpp
@@ -33,17 +33,17 @@ ConverterInfo gConverterInfo[eCONVERTER_
   { 1254, "windows-1254",  nullptr,  nullptr },
   { 864,  "IBM864",        nullptr,  nullptr },
   { 1257, "windows-1257",  nullptr,  nullptr },
   { 874,  "windows-874",   nullptr,  nullptr },
   { 932,  "Shift_JIS",     nullptr,  nullptr },
   { 943,  "Shift_JIS",     nullptr,  nullptr },
   { 1381, "GB2312",        nullptr,  nullptr },
   { 1386, "GB2312",        nullptr,  nullptr },
-  { 949,  "x-windows-949", nullptr,  nullptr },
+  { 949,  "EUC-KR",        nullptr,  nullptr },
   { 950,  "Big5",          nullptr,  nullptr },
   { 1361, "x-johab",       nullptr,  nullptr }
 };
 
 nsISupports*
 OS2Uni::GetUconvObject(int aCodePage, ConverterRequest aReq)
 {
   if (gCharsetManager == nullptr) {