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 113163 fd7a0ace6b0e5090c8874ddb0db2a85c032859d8
parent 113162 0b6b3d2856a44d7ab71f6cfe1783fe77fd76141f
child 113164 2a83ad99f062144780878e6058abcf235fb76965
push id23859
push useremorley@mozilla.com
push dateWed, 14 Nov 2012 14:36:31 +0000
treeherdermozilla-central@87928cd21b40 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssmontagu
bugs562091
milestone19.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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) {