Backout Bug 709657 because it doesn't help our problem.
authorKyle Huey <khuey@kylehuey.com>
Wed, 14 Dec 2011 08:01:49 -0500
changeset 84185 9df183d280bafd4b67e65d5df9a4ba5dcde9bcb0
parent 84184 fd6ab19f312ca587ac73500eedb603736b0e5806
child 84186 245c74c2f4dd008a9b2c8fb725f7848f649bee15
push id519
push userakeybl@mozilla.com
push dateWed, 01 Feb 2012 00:38:35 +0000
treeherdermozilla-beta@788ea1ef610b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs709657
milestone11.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
Backout Bug 709657 because it doesn't help our problem.
browser/installer/package-manifest.in
intl/uconv/datamodule/Makefile.in
intl/uconv/datamodule/nsUConvDataModule.cpp
intl/uconv/src/Makefile.in
intl/uconv/src/nsUConvModule.cpp
intl/uconv/ucvcn/Makefile.in
intl/uconv/ucvcn/nsISO2022CNToUnicode.cpp
intl/uconv/ucvibm/Makefile.in
intl/uconv/ucvja/Makefile.in
intl/uconv/ucvja/nsJapaneseToUnicode.cpp
intl/uconv/ucvko/Makefile.in
intl/uconv/ucvko/nsISO2022KRToUnicode.cpp
intl/uconv/ucvlatin/Makefile.in
intl/uconv/ucvtw/Makefile.in
intl/uconv/ucvtw2/Makefile.in
intl/uconv/util/Makefile.in
intl/uconv/util/external/Makefile.in
intl/uconv/util/objs.mk
testing/xpcshell/runxpcshelltests.py
toolkit/library/Makefile.in
toolkit/library/nsStaticXULComponents.cpp
toolkit/toolkit-tiers.mk
xpcom/build/nsXPCOM.h
xpcom/glue/BlockingResourceBase.h
xpcom/glue/DeadlockDetector.h
xpcom/glue/nsCycleCollectorUtils.h
xpcom/stub/nsXPComStub.cpp
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -46,19 +46,16 @@
 @BINPATH@/@DLL_PREFIX@nspr4@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@mozalloc@DLL_SUFFIX@
 @BINPATH@/@DLL_PREFIX@mozutils@DLL_SUFFIX@
 #ifdef XP_MACOSX
 @BINPATH@/XUL
 #else
 @BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
 #endif
-#ifdef XP_WIN
-@BINPATH@/components/@DLL_PREFIX@uconvd@DLL_SUFFIX@
-#endif
 #ifdef XP_MACOSX
 @BINPATH@/@MOZ_CHILD_PROCESS_NAME@.app/
 @BINPATH@/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@
 #else
 @BINPATH@/@MOZ_CHILD_PROCESS_NAME@
 #endif
 #ifdef XP_WIN32
 #if _MSC_VER == 1400
deleted file mode 100644
--- a/intl/uconv/datamodule/Makefile.in
+++ /dev/null
@@ -1,96 +0,0 @@
-# vim:set noet ts=8:
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is mozilla.org code.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1998
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either of the GNU General Public License Version 2 or later (the "GPL"),
-# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE		= uconvd
-LIBRARY_NAME	= uconvd
-EXPORT_LIBRARY  = 1
-IS_COMPONENT	= 1
-MODULE_NAME	= UConvData
-ifeq (WINNT,$(OS_TARGET))
-FORCE_SHARED_LIB = 1
-else
-LIBXUL_LIBRARY = 1
-endif
-# To avoid conflict with OS/2 system uconv.dll
-SHORT_LIBNAME  = mzuconvd
-
-CPPSRCS		= \
-		nsUConvDataModule.cpp \
-		$(NULL)
-
-LOCAL_INCLUDES	= -I$(srcdir)/../util \
-		  -I$(srcdir)/../ucvlatin \
-		  -I$(srcdir)/../ucvibm \
-		  -I$(srcdir)/../ucvja \
-		  -I$(srcdir)/../ucvtw2 \
-		  -I$(srcdir)/../ucvtw \
-		  -I$(srcdir)/../ucvko \
-		  -I$(srcdir)/../ucvcn \
-		  $(NULL)
-
-EXTRA_DSO_LDOPTS += \
-  $(XPCOM_GLUE_LDOPTS) \
-  $(XPCOM_LIBS) \
-  $(MOZ_JS_LIBS) \
-  $(NSPR_LIBS) \
-  $(MOZALLOC_LIB) \
-  $(NULL)
-
-SHARED_LIBRARY_LIBS += \
-	../ucvlatin/$(LIB_PREFIX)ucvlatin_s.$(LIB_SUFFIX) \
-	../ucvibm/$(LIB_PREFIX)ucvibm_s.$(LIB_SUFFIX) \
-	../ucvja/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \
-	../ucvtw2/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \
-	../ucvtw/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \
-	../ucvko/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \
-	../ucvcn/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \
-	$(NULL)
-
-ifdef FORCE_SHARED_LIB
-SHARED_LIBRARY_LIBS += \
-  ../util/external/$(LIB_PREFIX)ucvxutil_s.$(LIB_SUFFIX) \
-  $(NULL)
-endif
-
-include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/intl/uconv/datamodule/nsUConvDataModule.cpp
+++ /dev/null
@@ -1,1089 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1998
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *   Pierre Phaneuf <pp@ludusdesign.com>
- *   IBM Corporation
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either of the GNU General Public License Version 2 or later (the "GPL"),
- * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-#include "nsCOMPtr.h"
-#include "nsCRT.h"
-#include "mozilla/ModuleUtils.h"
-#include "nsIComponentManager.h"
-#include "nsICategoryManager.h"
-#include "nsICharsetConverterManager.h"
-#include "nsEncoderDecoderUtils.h"
-#include "nsIUnicodeDecoder.h"
-#include "nsIUnicodeEncoder.h"
-#include "nsIServiceManager.h"
-
-#include "mozilla/BlockingResourceBase.h"
-
-#include "nsUConvCID.h"
-
-#include "nsIFile.h"
-
-#include "nsCRT.h"
-
-// ucvlatin
-#include "nsUCvLatinCID.h"
-#include "nsUCvLatinDll.h"
-#include "nsAsciiToUnicode.h"
-#include "nsISO88592ToUnicode.h"
-#include "nsISO88593ToUnicode.h"
-#include "nsISO88594ToUnicode.h"
-#include "nsISO88595ToUnicode.h"
-#include "nsISO88596ToUnicode.h"
-#include "nsISO88596EToUnicode.h"
-#include "nsISO88596IToUnicode.h"
-#include "nsISO88597ToUnicode.h"
-#include "nsISO88598ToUnicode.h"
-#include "nsISO88598EToUnicode.h"
-#include "nsISO88598IToUnicode.h"
-#include "nsISO88599ToUnicode.h"
-#include "nsISO885910ToUnicode.h"
-#include "nsISO885913ToUnicode.h"
-#include "nsISO885914ToUnicode.h"
-#include "nsISO885915ToUnicode.h"
-#include "nsISO885916ToUnicode.h"
-#include "nsISOIR111ToUnicode.h"
-#include "nsCP1250ToUnicode.h"
-#include "nsCP1251ToUnicode.h"
-#include "nsCP1253ToUnicode.h"
-#include "nsCP1254ToUnicode.h"
-#include "nsCP1255ToUnicode.h"
-#include "nsCP1256ToUnicode.h"
-#include "nsCP1257ToUnicode.h"
-#include "nsCP1258ToUnicode.h"
-#include "nsCP874ToUnicode.h"
-#include "nsISO885911ToUnicode.h"
-#include "nsTIS620ToUnicode.h"
-#include "nsCP866ToUnicode.h"
-#include "nsKOI8RToUnicode.h"
-#include "nsKOI8UToUnicode.h"
-#include "nsMacCEToUnicode.h"
-#include "nsMacGreekToUnicode.h"
-#include "nsMacTurkishToUnicode.h"
-#include "nsMacCroatianToUnicode.h"
-#include "nsMacRomanianToUnicode.h"
-#include "nsMacCyrillicToUnicode.h"
-#include "nsMacIcelandicToUnicode.h"
-#include "nsGEOSTD8ToUnicode.h"
-#include "nsARMSCII8ToUnicode.h"
-#include "nsTCVN5712ToUnicode.h"
-#include "nsVISCIIToUnicode.h"
-#include "nsVPSToUnicode.h"
-#include "nsUTF7ToUnicode.h"
-#include "nsMUTF7ToUnicode.h"
-#include "nsUCS2BEToUnicode.h"
-#include "nsT61ToUnicode.h"
-#include "nsUserDefinedToUnicode.h"
-#include "nsUnicodeToAscii.h"
-#include "nsUnicodeToISO88592.h"
-#include "nsUnicodeToISO88593.h"
-#include "nsUnicodeToISO88594.h"
-#include "nsUnicodeToISO88595.h"
-#include "nsUnicodeToISO88596.h"
-#include "nsUnicodeToISO88596E.h"
-#include "nsUnicodeToISO88596I.h"
-#include "nsUnicodeToISO88597.h"
-#include "nsUnicodeToISO88598.h"
-#include "nsUnicodeToISO88598E.h"
-#include "nsUnicodeToISO88598I.h"
-#include "nsUnicodeToISO88599.h"
-#include "nsUnicodeToISO885910.h"
-#include "nsUnicodeToISO885913.h"
-#include "nsUnicodeToISO885914.h"
-#include "nsUnicodeToISO885915.h"
-#include "nsUnicodeToISO885916.h"
-#include "nsUnicodeToISOIR111.h"
-#include "nsUnicodeToCP1250.h"
-#include "nsUnicodeToCP1251.h"
-#include "nsUnicodeToCP1253.h"
-#include "nsUnicodeToCP1254.h"
-#include "nsUnicodeToCP1255.h"
-#include "nsUnicodeToCP1256.h"
-#include "nsUnicodeToCP1257.h"
-#include "nsUnicodeToCP1258.h"
-#include "nsUnicodeToCP874.h"
-#include "nsUnicodeToISO885911.h"
-#include "nsUnicodeToTIS620.h"
-#include "nsUnicodeToCP866.h"
-#include "nsUnicodeToKOI8R.h"
-#include "nsUnicodeToKOI8U.h"
-#include "nsUnicodeToMacCE.h"
-#include "nsUnicodeToMacGreek.h"
-#include "nsUnicodeToMacTurkish.h"
-#include "nsUnicodeToMacCroatian.h"
-#include "nsUnicodeToMacRomanian.h"
-#include "nsUnicodeToMacCyrillic.h"
-#include "nsUnicodeToMacIcelandic.h"
-#include "nsUnicodeToGEOSTD8.h"
-#include "nsUnicodeToARMSCII8.h"
-#include "nsUnicodeToTCVN5712.h"
-#include "nsUnicodeToVISCII.h"
-#include "nsUnicodeToVPS.h"
-#include "nsUnicodeToUTF7.h"
-#include "nsUnicodeToMUTF7.h"
-#include "nsUnicodeToUCS2BE.h"
-#include "nsUnicodeToT61.h"
-#include "nsUnicodeToUserDefined.h"
-#include "nsUnicodeToSymbol.h"
-#include "nsUnicodeToZapfDingbat.h"
-#include "nsUnicodeToAdobeEuro.h"
-#include "nsMacArabicToUnicode.h"
-#include "nsMacDevanagariToUnicode.h"
-#include "nsMacFarsiToUnicode.h"
-#include "nsMacGujaratiToUnicode.h"
-#include "nsMacGurmukhiToUnicode.h"
-#include "nsMacHebrewToUnicode.h"
-#include "nsUnicodeToMacArabic.h"
-#include "nsUnicodeToMacDevanagari.h"
-#include "nsUnicodeToMacFarsi.h"
-#include "nsUnicodeToMacGujarati.h"
-#include "nsUnicodeToMacGurmukhi.h"
-#include "nsUnicodeToMacHebrew.h"
-#include "nsUnicodeToTSCII.h"
-
-// ucvibm
-#include "nsUCvIBMCID.h"
-#include "nsUCvIBMDll.h"
-#include "nsCP850ToUnicode.h"
-#include "nsCP852ToUnicode.h"
-#include "nsCP855ToUnicode.h"
-#include "nsCP857ToUnicode.h"
-#include "nsCP862ToUnicode.h"
-#include "nsCP864ToUnicode.h"
-#include "nsCP864iToUnicode.h"
-#ifdef XP_OS2
-#include "nsCP869ToUnicode.h"
-#include "nsCP1125ToUnicode.h"
-#include "nsCP1131ToUnicode.h"
-#endif
-#include "nsUnicodeToCP850.h"
-#include "nsUnicodeToCP852.h"
-#include "nsUnicodeToCP855.h"
-#include "nsUnicodeToCP857.h"
-#include "nsUnicodeToCP862.h"
-#include "nsUnicodeToCP864.h"
-#include "nsUnicodeToCP864i.h"
-#ifdef XP_OS2
-#include "nsUnicodeToCP869.h"
-#include "nsUnicodeToCP1125.h"
-#include "nsUnicodeToCP1131.h"
-#endif
-
-// ucvja
-#include "nsUCVJACID.h"
-#include "nsUCVJA2CID.h"
-#include "nsUCVJADll.h"
-#include "nsJapaneseToUnicode.h"
-#include "nsUnicodeToSJIS.h"
-#include "nsUnicodeToEUCJP.h"
-#include "nsUnicodeToISO2022JP.h"
-#include "nsUnicodeToJISx0201.h"
-
-// ucvtw2
-#include "nsUCvTW2CID.h"
-#include "nsUCvTW2Dll.h"
-#include "nsEUCTWToUnicode.h"
-#include "nsUnicodeToEUCTW.h"
-
-// ucvtw
-#include "nsUCvTWCID.h"
-#include "nsUCvTWDll.h"
-#include "nsBIG5ToUnicode.h"
-#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"
-#include "nsUCvCnDll.h"
-#include "nsHZToUnicode.h"
-#include "nsUnicodeToHZ.h"
-#include "nsGBKToUnicode.h"
-#include "nsUnicodeToGBK.h"
-#include "nsGB2312ToUnicodeV2.h"
-#include "nsUnicodeToGB2312V2.h"
-#include "nsISO2022CNToUnicode.h"
-#include "nsUnicodeToISO2022CN.h"
-#include "gbku.h"
-
-NS_CONVERTER_REGISTRY_START
-NS_UCONV_REG_UNREG("ISO-8859-1", NS_ISO88591TOUNICODE_CID, NS_UNICODETOISO88591_CID)
-NS_UCONV_REG_UNREG("windows-1252", NS_CP1252TOUNICODE_CID, NS_UNICODETOCP1252_CID)
-NS_UCONV_REG_UNREG("x-mac-roman", NS_MACROMANTOUNICODE_CID, NS_UNICODETOMACROMAN_CID)
-NS_UCONV_REG_UNREG("UTF-8", NS_UTF8TOUNICODE_CID, NS_UNICODETOUTF8_CID)
-
-  // ucvlatin
-NS_UCONV_REG_UNREG("us-ascii", NS_ASCIITOUNICODE_CID, NS_UNICODETOASCII_CID)
-NS_UCONV_REG_UNREG("ISO-8859-2", NS_ISO88592TOUNICODE_CID, NS_UNICODETOISO88592_CID)
-NS_UCONV_REG_UNREG("ISO-8859-3", NS_ISO88593TOUNICODE_CID, NS_UNICODETOISO88593_CID)
-NS_UCONV_REG_UNREG("ISO-8859-4", NS_ISO88594TOUNICODE_CID, NS_UNICODETOISO88594_CID)
-NS_UCONV_REG_UNREG("ISO-8859-5", NS_ISO88595TOUNICODE_CID, NS_UNICODETOISO88595_CID)
-NS_UCONV_REG_UNREG("ISO-8859-6", NS_ISO88596TOUNICODE_CID, NS_UNICODETOISO88596_CID)
-NS_UCONV_REG_UNREG("ISO-8859-6-I", NS_ISO88596ITOUNICODE_CID, NS_UNICODETOISO88596I_CID)
-NS_UCONV_REG_UNREG("ISO-8859-6-E", NS_ISO88596ETOUNICODE_CID, NS_UNICODETOISO88596E_CID)
-NS_UCONV_REG_UNREG("ISO-8859-7", NS_ISO88597TOUNICODE_CID, NS_UNICODETOISO88597_CID)
-NS_UCONV_REG_UNREG("ISO-8859-8", NS_ISO88598TOUNICODE_CID, NS_UNICODETOISO88598_CID)
-NS_UCONV_REG_UNREG("ISO-8859-8-I", NS_ISO88598ITOUNICODE_CID, NS_UNICODETOISO88598I_CID)
-NS_UCONV_REG_UNREG("ISO-8859-8-E", NS_ISO88598ETOUNICODE_CID, NS_UNICODETOISO88598E_CID)
-NS_UCONV_REG_UNREG("ISO-8859-9", NS_ISO88599TOUNICODE_CID, NS_UNICODETOISO88599_CID)
-NS_UCONV_REG_UNREG("ISO-8859-10", NS_ISO885910TOUNICODE_CID, NS_UNICODETOISO885910_CID)
-NS_UCONV_REG_UNREG("ISO-8859-13", NS_ISO885913TOUNICODE_CID, NS_UNICODETOISO885913_CID)
-NS_UCONV_REG_UNREG("ISO-8859-14", NS_ISO885914TOUNICODE_CID, NS_UNICODETOISO885914_CID)
-NS_UCONV_REG_UNREG("ISO-8859-15", NS_ISO885915TOUNICODE_CID, NS_UNICODETOISO885915_CID)
-NS_UCONV_REG_UNREG("ISO-8859-16", NS_ISO885916TOUNICODE_CID, NS_UNICODETOISO885916_CID)
-NS_UCONV_REG_UNREG("ISO-IR-111", NS_ISOIR111TOUNICODE_CID, NS_UNICODETOISOIR111_CID)
-NS_UCONV_REG_UNREG("windows-1250", NS_CP1250TOUNICODE_CID, NS_UNICODETOCP1250_CID)
-NS_UCONV_REG_UNREG("windows-1251", NS_CP1251TOUNICODE_CID, NS_UNICODETOCP1251_CID)
-NS_UCONV_REG_UNREG("windows-1253", NS_CP1253TOUNICODE_CID, NS_UNICODETOCP1253_CID)
-NS_UCONV_REG_UNREG("windows-1254", NS_CP1254TOUNICODE_CID, NS_UNICODETOCP1254_CID)
-NS_UCONV_REG_UNREG("windows-1255", NS_CP1255TOUNICODE_CID, NS_UNICODETOCP1255_CID)
-NS_UCONV_REG_UNREG("windows-1256", NS_CP1256TOUNICODE_CID, NS_UNICODETOCP1256_CID)
-NS_UCONV_REG_UNREG("windows-1257", NS_CP1257TOUNICODE_CID, NS_UNICODETOCP1257_CID)
-NS_UCONV_REG_UNREG("windows-1258", NS_CP1258TOUNICODE_CID, NS_UNICODETOCP1258_CID)
-NS_UCONV_REG_UNREG("TIS-620", NS_TIS620TOUNICODE_CID, NS_UNICODETOTIS620_CID)
-NS_UCONV_REG_UNREG("windows-874", NS_CP874TOUNICODE_CID, NS_UNICODETOCP874_CID)
-NS_UCONV_REG_UNREG("ISO-8859-11", NS_ISO885911TOUNICODE_CID, NS_UNICODETOISO885911_CID)
-NS_UCONV_REG_UNREG("IBM866", NS_CP866TOUNICODE_CID, NS_UNICODETOCP866_CID)
-NS_UCONV_REG_UNREG("KOI8-R", NS_KOI8RTOUNICODE_CID, NS_UNICODETOKOI8R_CID)
-NS_UCONV_REG_UNREG("KOI8-U", NS_KOI8UTOUNICODE_CID, NS_UNICODETOKOI8U_CID)
-NS_UCONV_REG_UNREG("x-mac-ce", NS_MACCETOUNICODE_CID, NS_UNICODETOMACCE_CID)
-NS_UCONV_REG_UNREG("x-mac-greek", NS_MACGREEKTOUNICODE_CID, NS_UNICODETOMACGREEK_CID)
-NS_UCONV_REG_UNREG("x-mac-turkish", NS_MACTURKISHTOUNICODE_CID, NS_UNICODETOMACTURKISH_CID)
-NS_UCONV_REG_UNREG("x-mac-croatian", NS_MACCROATIANTOUNICODE_CID, NS_UNICODETOMACCROATIAN_CID)
-NS_UCONV_REG_UNREG("x-mac-romanian", NS_MACROMANIANTOUNICODE_CID, NS_UNICODETOMACROMANIAN_CID)
-NS_UCONV_REG_UNREG("x-mac-cyrillic", NS_MACCYRILLICTOUNICODE_CID, NS_UNICODETOMACCYRILLIC_CID)
-NS_UCONV_REG_UNREG("x-mac-icelandic", NS_MACICELANDICTOUNICODE_CID, NS_UNICODETOMACICELANDIC_CID)
-NS_UCONV_REG_UNREG("GEOSTD8", NS_GEOSTD8TOUNICODE_CID, NS_UNICODETOGEOSTD8_CID)
-NS_UCONV_REG_UNREG("armscii-8", NS_ARMSCII8TOUNICODE_CID, NS_UNICODETOARMSCII8_CID)
-NS_UCONV_REG_UNREG("x-viet-tcvn5712", NS_TCVN5712TOUNICODE_CID, NS_UNICODETOTCVN5712_CID)
-NS_UCONV_REG_UNREG("VISCII", NS_VISCIITOUNICODE_CID, NS_UNICODETOVISCII_CID)
-NS_UCONV_REG_UNREG("x-viet-vps", NS_VPSTOUNICODE_CID, NS_UNICODETOVPS_CID)
-NS_UCONV_REG_UNREG("UTF-7", NS_UTF7TOUNICODE_CID, NS_UNICODETOUTF7_CID)
-NS_UCONV_REG_UNREG("x-imap4-modified-utf7", NS_MUTF7TOUNICODE_CID, NS_UNICODETOMUTF7_CID)
-NS_UCONV_REG_UNREG("UTF-16", NS_UTF16TOUNICODE_CID, NS_UNICODETOUTF16_CID)
-NS_UCONV_REG_UNREG("UTF-16BE", NS_UTF16BETOUNICODE_CID, NS_UNICODETOUTF16BE_CID)
-NS_UCONV_REG_UNREG("UTF-16LE", NS_UTF16LETOUNICODE_CID, NS_UNICODETOUTF16LE_CID)
-NS_UCONV_REG_UNREG("T.61-8bit", NS_T61TOUNICODE_CID, NS_UNICODETOT61_CID)
-NS_UCONV_REG_UNREG("x-user-defined", NS_USERDEFINEDTOUNICODE_CID, NS_UNICODETOUSERDEFINED_CID)
-NS_UCONV_REG_UNREG("x-mac-arabic" , NS_MACARABICTOUNICODE_CID, NS_UNICODETOMACARABIC_CID)
-NS_UCONV_REG_UNREG("x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID, NS_UNICODETOMACDEVANAGARI_CID)
-NS_UCONV_REG_UNREG("x-mac-farsi" , NS_MACFARSITOUNICODE_CID, NS_UNICODETOMACFARSI_CID)
-NS_UCONV_REG_UNREG("x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID, NS_UNICODETOMACGURMUKHI_CID)
-NS_UCONV_REG_UNREG("x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID, NS_UNICODETOMACGUJARATI_CID)
-NS_UCONV_REG_UNREG("x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID, NS_UNICODETOMACHEBREW_CID)
-
-NS_UCONV_REG_UNREG_ENCODER("Adobe-Symbol-Encoding" , NS_UNICODETOSYMBOL_CID)
-NS_UCONV_REG_UNREG_ENCODER("x-zapf-dingbats" , NS_UNICODETOZAPFDINGBATS_CID)
-NS_UCONV_REG_UNREG_ENCODER("x-tscii",  NS_UNICODETOTSCII_CID)
-NS_UCONV_REG_UNREG_ENCODER("x-tamilttf-0",  NS_UNICODETOTAMILTTF_CID)
-
-  // ucvibm
-NS_UCONV_REG_UNREG("IBM850", NS_CP850TOUNICODE_CID, NS_UNICODETOCP850_CID)
-NS_UCONV_REG_UNREG("IBM852", NS_CP852TOUNICODE_CID, NS_UNICODETOCP852_CID)
-NS_UCONV_REG_UNREG("IBM855", NS_CP855TOUNICODE_CID, NS_UNICODETOCP855_CID)
-NS_UCONV_REG_UNREG("IBM857", NS_CP857TOUNICODE_CID, NS_UNICODETOCP857_CID)
-NS_UCONV_REG_UNREG("IBM862", NS_CP862TOUNICODE_CID, NS_UNICODETOCP862_CID)
-NS_UCONV_REG_UNREG("IBM864", NS_CP864TOUNICODE_CID, NS_UNICODETOCP864_CID)
-NS_UCONV_REG_UNREG("IBM864i", NS_CP864ITOUNICODE_CID, NS_UNICODETOCP864I_CID)
-#ifdef XP_OS2
-NS_UCONV_REG_UNREG("IBM869", NS_CP869TOUNICODE_CID, NS_UNICODETOCP869_CID)
-NS_UCONV_REG_UNREG("IBM1125", NS_CP1125TOUNICODE_CID, NS_UNICODETOCP1125_CID)
-NS_UCONV_REG_UNREG("IBM1131", NS_CP1131TOUNICODE_CID, NS_UNICODETOCP1131_CID)
-#endif
-
-    // ucvja
-NS_UCONV_REG_UNREG("Shift_JIS", NS_SJISTOUNICODE_CID, NS_UNICODETOSJIS_CID)
-NS_UCONV_REG_UNREG("ISO-2022-JP", NS_ISO2022JPTOUNICODE_CID, NS_UNICODETOISO2022JP_CID)
-NS_UCONV_REG_UNREG("EUC-JP", NS_EUCJPTOUNICODE_CID, NS_UNICODETOEUCJP_CID)
-  
-NS_UCONV_REG_UNREG_ENCODER("jis_0201" , NS_UNICODETOJISX0201_CID)
-
-    // ucvtw2
-NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWTOUNICODE_CID, NS_UNICODETOEUCTW_CID)
-
-    // ucvtw
-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)
-
-NS_CONVERTER_REGISTRY_END
-
-// ucvlatin
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF7ToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsMUTF7ToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16ToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16BEToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16LEToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF7)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToMUTF7)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16BE)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16LE)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTSCII)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTamilTTF)
-
-// ucvibm
-
-// ucvja
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsShiftJISToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsEUCJPToUnicodeV2)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022JPToUnicodeV2)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToISO2022JP)
-
-// ucvtw2
-
-// ucvtw
-
-// ucvko
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022KRToUnicode)
-
-// ucvcn
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB2312ToUnicodeV2)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB2312V2)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsGBKToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGBK)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsHZToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToHZ)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB18030ToUnicode)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB18030)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022CNToUnicode)
-
-
-//----------------------------------------------------------------------------
-// Global functions and data [declaration]
-
-// ucvja
-const PRUint16 g_uf0201Mapping[] = {
-#include "jis0201.uf"
-};
-
-const PRUint16 g_uf0201GLMapping[] = {
-#include "jis0201gl.uf"
-};
-
-const PRUint16 g_uf0208Mapping[] = {
-#include "jis0208.uf"
-};
-
-const PRUint16 g_uf0208extMapping[] = {
-#include "jis0208ext.uf"
-};
-
-// ucvtw2
-const PRUint16 g_ufCNS1MappingTable[] = {
-#include "cns_1.uf"
-};
-
-const PRUint16 g_ufCNS2MappingTable[] = {
-#include "cns_2.uf"
-};
-
-const PRUint16 g_ufCNS3MappingTable[] = {
-#include "cns3.uf"
-};
-
-const PRUint16 g_ufCNS4MappingTable[] = {
-#include "cns4.uf"
-};
-
-const PRUint16 g_ufCNS5MappingTable[] = {
-#include "cns5.uf"
-};
-
-const PRUint16 g_ufCNS6MappingTable[] = {
-#include "cns6.uf"
-};
-
-const PRUint16 g_ufCNS7MappingTable[] = {
-#include "cns7.uf"
-};
-
-const PRUint16 g_utCNS1MappingTable[] = {
-#include "cns_1.ut"
-};
-
-const PRUint16 g_utCNS2MappingTable[] = {
-#include "cns_2.ut"
-};
-
-const PRUint16 g_utCNS3MappingTable[] = {
-#include "cns3.ut"
-};
-
-const PRUint16 g_utCNS4MappingTable[] = {
-#include "cns4.ut"
-};
-
-const PRUint16 g_utCNS5MappingTable[] = {
-#include "cns5.ut"
-};
-
-const PRUint16 g_utCNS6MappingTable[] = {
-#include "cns6.ut"
-};
-
-const PRUint16 g_utCNS7MappingTable[] = {
-#include "cns7.ut"
-};
-
-const PRUint16 g_ASCIIMappingTable[] = {
-  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
-};
-
-// ucvtw
-const PRUint16 g_ufBig5Mapping[] = {
-#include "big5.uf"
-};
-
-const PRUint16 g_utBIG5Mapping[] = {
-#include "big5.ut"
-};
-
-const PRUint16 g_ufBig5HKSCSMapping[] = {
-#include "hkscs.uf"
-};
-
-const PRUint16 g_ASCIIMapping[] = {
-  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
-};
-
-const PRUint16 g_utBig5HKSCSMapping[] = {
-#include "hkscs.ut"
-};
-
-// ucvko
-const PRUint16 g_utKSC5601Mapping[] = {
-#include "u20kscgl.ut"
-};
-
-const PRUint16 g_ufKSC5601Mapping[] = {
-#include "u20kscgl.uf"
-};
-
-const PRUint16 g_ucvko_AsciiMapping[] = {
-  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
-};
-
-const PRUint16 g_HangulNullMapping[] ={
-  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00
-};
-
-const PRUint16 g_ufJohabJamoMapping[] ={   
-#include "johabjamo.uf"
-};
-
-NS_DEFINE_NAMED_CID(NS_ASCIITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88592TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88593TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88594TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88595TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88596TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88596ITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88596ETOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88597TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88598TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88598ITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88598ETOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO88599TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO885910TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO885913TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO885914TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO885915TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO885916TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISOIR111TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1250TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1251TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1253TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1254TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1255TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1256TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1257TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1258TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_TIS620TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ISO885911TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP874TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP866TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_KOI8RTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_KOI8UTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACCETOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACGREEKTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACTURKISHTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACCROATIANTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACROMANIANTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACCYRILLICTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACICELANDICTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_GEOSTD8TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_ARMSCII8TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_TCVN5712TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_VISCIITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_VPSTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UTF7TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MUTF7TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UTF16TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UTF16BETOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UTF16LETOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_T61TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_USERDEFINEDTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACARABICTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACDEVANAGARITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACFARSITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACGURMUKHITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACGUJARATITOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_MACHEBREWTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOASCII_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88592_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88593_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88594_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88595_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596I_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596E_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88597_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598I_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598E_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO88599_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO885910_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO885913_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO885914_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO885915_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO885916_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISOIR111_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1250_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1251_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1253_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1254_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1255_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1256_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1257_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1258_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOTIS620_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO885911_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP874_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP866_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8R_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8U_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACCE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACGREEK_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACTURKISH_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACCROATIAN_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMANIAN_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACCYRILLIC_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACICELANDIC_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOGEOSTD8_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOARMSCII8_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOTCVN5712_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOVISCII_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOVPS_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOUTF7_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMUTF7_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16BE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16LE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOT61_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOUSERDEFINED_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOSYMBOL_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOZAPFDINGBATS_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOADOBEEURO_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACARABIC_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACDEVANAGARI_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACFARSI_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACGURMUKHI_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACGUJARATI_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOMACHEBREW_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOTSCII_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOTAMILTTF_CID);
-NS_DEFINE_NAMED_CID(NS_CP850TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP852TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP855TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP857TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP862TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP864TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP864ITOUNICODE_CID);
-#ifdef XP_OS2
-NS_DEFINE_NAMED_CID(NS_CP869TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1125TOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_CP1131TOUNICODE_CID);
-#endif
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP850_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP852_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP855_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP857_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP862_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP864_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP864I_CID);
-#ifdef XP_OS2
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP869_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1125_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOCP1131_CID);
-#endif
-NS_DEFINE_NAMED_CID(NS_SJISTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_EUCJPTOUNICODE_CID);
-NS_DEFINE_NAMED_CID( NS_ISO2022JPTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOSJIS_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOEUCJP_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOISO2022JP_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOJISX0201_CID);
-NS_DEFINE_NAMED_CID(NS_EUCTWTOUNICODE_CID);
-NS_DEFINE_NAMED_CID(NS_UNICODETOEUCTW_CID);
-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);
-NS_DEFINE_NAMED_CID(NS_UNICODETOGB18030_CID);
-NS_DEFINE_NAMED_CID(NS_ISO2022CNTOUNICODE_CID);
-
-static const mozilla::Module::CIDEntry kUConvCIDs[] = {
-  { &kNS_ASCIITOUNICODE_CID, false, NULL, nsAsciiToUnicodeConstructor },
-  { &kNS_ISO88592TOUNICODE_CID, false, NULL, nsISO88592ToUnicodeConstructor },
-  { &kNS_ISO88593TOUNICODE_CID, false, NULL, nsISO88593ToUnicodeConstructor },
-  { &kNS_ISO88594TOUNICODE_CID, false, NULL, nsISO88594ToUnicodeConstructor },
-  { &kNS_ISO88595TOUNICODE_CID, false, NULL, nsISO88595ToUnicodeConstructor },
-  { &kNS_ISO88596TOUNICODE_CID, false, NULL, nsISO88596ToUnicodeConstructor },
-  { &kNS_ISO88596ITOUNICODE_CID, false, NULL, nsISO88596IToUnicodeConstructor },
-  { &kNS_ISO88596ETOUNICODE_CID, false, NULL, nsISO88596EToUnicodeConstructor },
-  { &kNS_ISO88597TOUNICODE_CID, false, NULL, nsISO88597ToUnicodeConstructor },
-  { &kNS_ISO88598TOUNICODE_CID, false, NULL, nsISO88598ToUnicodeConstructor },
-  { &kNS_ISO88598ITOUNICODE_CID, false, NULL, nsISO88598IToUnicodeConstructor },
-  { &kNS_ISO88598ETOUNICODE_CID, false, NULL, nsISO88598EToUnicodeConstructor },
-  { &kNS_ISO88599TOUNICODE_CID, false, NULL, nsISO88599ToUnicodeConstructor },
-  { &kNS_ISO885910TOUNICODE_CID, false, NULL, nsISO885910ToUnicodeConstructor },
-  { &kNS_ISO885913TOUNICODE_CID, false, NULL, nsISO885913ToUnicodeConstructor },
-  { &kNS_ISO885914TOUNICODE_CID, false, NULL, nsISO885914ToUnicodeConstructor },
-  { &kNS_ISO885915TOUNICODE_CID, false, NULL, nsISO885915ToUnicodeConstructor },
-  { &kNS_ISO885916TOUNICODE_CID, false, NULL, nsISO885916ToUnicodeConstructor },
-  { &kNS_ISOIR111TOUNICODE_CID, false, NULL, nsISOIR111ToUnicodeConstructor },
-  { &kNS_CP1250TOUNICODE_CID, false, NULL, nsCP1250ToUnicodeConstructor },
-  { &kNS_CP1251TOUNICODE_CID, false, NULL, nsCP1251ToUnicodeConstructor },
-  { &kNS_CP1253TOUNICODE_CID, false, NULL, nsCP1253ToUnicodeConstructor },
-  { &kNS_CP1254TOUNICODE_CID, false, NULL, nsCP1254ToUnicodeConstructor },
-  { &kNS_CP1255TOUNICODE_CID, false, NULL, nsCP1255ToUnicodeConstructor },
-  { &kNS_CP1256TOUNICODE_CID, false, NULL, nsCP1256ToUnicodeConstructor },
-  { &kNS_CP1257TOUNICODE_CID, false, NULL, nsCP1257ToUnicodeConstructor },
-  { &kNS_CP1258TOUNICODE_CID, false, NULL, nsCP1258ToUnicodeConstructor },
-  { &kNS_TIS620TOUNICODE_CID, false, NULL, nsTIS620ToUnicodeConstructor },
-  { &kNS_ISO885911TOUNICODE_CID, false, NULL, nsISO885911ToUnicodeConstructor },
-  { &kNS_CP874TOUNICODE_CID, false, NULL, nsCP874ToUnicodeConstructor },
-  { &kNS_CP866TOUNICODE_CID, false, NULL, nsCP866ToUnicodeConstructor },
-  { &kNS_KOI8RTOUNICODE_CID, false, NULL, nsKOI8RToUnicodeConstructor },
-  { &kNS_KOI8UTOUNICODE_CID, false, NULL, nsKOI8UToUnicodeConstructor },
-  { &kNS_MACCETOUNICODE_CID, false, NULL, nsMacCEToUnicodeConstructor },
-  { &kNS_MACGREEKTOUNICODE_CID, false, NULL, nsMacGreekToUnicodeConstructor },
-  { &kNS_MACTURKISHTOUNICODE_CID, false, NULL, nsMacTurkishToUnicodeConstructor },
-  { &kNS_MACCROATIANTOUNICODE_CID, false, NULL, nsMacCroatianToUnicodeConstructor },
-  { &kNS_MACROMANIANTOUNICODE_CID, false, NULL, nsMacRomanianToUnicodeConstructor },
-  { &kNS_MACCYRILLICTOUNICODE_CID, false, NULL, nsMacCyrillicToUnicodeConstructor },
-  { &kNS_MACICELANDICTOUNICODE_CID, false, NULL, nsMacIcelandicToUnicodeConstructor },
-  { &kNS_GEOSTD8TOUNICODE_CID, false, NULL, nsGEOSTD8ToUnicodeConstructor },
-  { &kNS_ARMSCII8TOUNICODE_CID, false, NULL, nsARMSCII8ToUnicodeConstructor },
-  { &kNS_TCVN5712TOUNICODE_CID, false, NULL, nsTCVN5712ToUnicodeConstructor },
-  { &kNS_VISCIITOUNICODE_CID, false, NULL, nsVISCIIToUnicodeConstructor },
-  { &kNS_VPSTOUNICODE_CID, false, NULL, nsVPSToUnicodeConstructor },
-  { &kNS_UTF7TOUNICODE_CID, false, NULL, nsUTF7ToUnicodeConstructor },
-  { &kNS_MUTF7TOUNICODE_CID, false, NULL, nsMUTF7ToUnicodeConstructor },
-  { &kNS_UTF16TOUNICODE_CID, false, NULL, nsUTF16ToUnicodeConstructor },
-  { &kNS_UTF16BETOUNICODE_CID, false, NULL, nsUTF16BEToUnicodeConstructor },
-  { &kNS_UTF16LETOUNICODE_CID, false, NULL, nsUTF16LEToUnicodeConstructor },
-  { &kNS_T61TOUNICODE_CID, false, NULL, nsT61ToUnicodeConstructor },
-  { &kNS_USERDEFINEDTOUNICODE_CID, false, NULL, nsUserDefinedToUnicodeConstructor },
-  { &kNS_MACARABICTOUNICODE_CID, false, NULL, nsMacArabicToUnicodeConstructor },
-  { &kNS_MACDEVANAGARITOUNICODE_CID, false, NULL, nsMacDevanagariToUnicodeConstructor },
-  { &kNS_MACFARSITOUNICODE_CID, false, NULL, nsMacFarsiToUnicodeConstructor },
-  { &kNS_MACGURMUKHITOUNICODE_CID, false, NULL, nsMacGurmukhiToUnicodeConstructor },
-  { &kNS_MACGUJARATITOUNICODE_CID, false, NULL, nsMacGujaratiToUnicodeConstructor },
-  { &kNS_MACHEBREWTOUNICODE_CID, false, NULL, nsMacHebrewToUnicodeConstructor },
-  { &kNS_UNICODETOASCII_CID, false, NULL, nsUnicodeToAsciiConstructor },
-  { &kNS_UNICODETOISO88592_CID, false, NULL, nsUnicodeToISO88592Constructor },
-  { &kNS_UNICODETOISO88593_CID, false, NULL, nsUnicodeToISO88593Constructor },
-  { &kNS_UNICODETOISO88594_CID, false, NULL, nsUnicodeToISO88594Constructor },
-  { &kNS_UNICODETOISO88595_CID, false, NULL, nsUnicodeToISO88595Constructor },
-  { &kNS_UNICODETOISO88596_CID, false, NULL, nsUnicodeToISO88596Constructor },
-  { &kNS_UNICODETOISO88596I_CID, false, NULL, nsUnicodeToISO88596IConstructor },
-  { &kNS_UNICODETOISO88596E_CID, false, NULL, nsUnicodeToISO88596EConstructor },
-  { &kNS_UNICODETOISO88597_CID, false, NULL, nsUnicodeToISO88597Constructor },
-  { &kNS_UNICODETOISO88598_CID, false, NULL, nsUnicodeToISO88598Constructor },
-  { &kNS_UNICODETOISO88598I_CID, false, NULL, nsUnicodeToISO88598IConstructor },
-  { &kNS_UNICODETOISO88598E_CID, false, NULL, nsUnicodeToISO88598EConstructor },
-  { &kNS_UNICODETOISO88599_CID, false, NULL, nsUnicodeToISO88599Constructor },
-  { &kNS_UNICODETOISO885910_CID, false, NULL, nsUnicodeToISO885910Constructor },
-  { &kNS_UNICODETOISO885913_CID, false, NULL, nsUnicodeToISO885913Constructor },
-  { &kNS_UNICODETOISO885914_CID, false, NULL, nsUnicodeToISO885914Constructor },
-  { &kNS_UNICODETOISO885915_CID, false, NULL, nsUnicodeToISO885915Constructor },
-  { &kNS_UNICODETOISO885916_CID, false, NULL, nsUnicodeToISO885916Constructor },
-  { &kNS_UNICODETOISOIR111_CID, false, NULL, nsUnicodeToISOIR111Constructor },
-  { &kNS_UNICODETOCP1250_CID, false, NULL, nsUnicodeToCP1250Constructor },
-  { &kNS_UNICODETOCP1251_CID, false, NULL, nsUnicodeToCP1251Constructor },
-  { &kNS_UNICODETOCP1253_CID, false, NULL, nsUnicodeToCP1253Constructor },
-  { &kNS_UNICODETOCP1254_CID, false, NULL, nsUnicodeToCP1254Constructor },
-  { &kNS_UNICODETOCP1255_CID, false, NULL, nsUnicodeToCP1255Constructor },
-  { &kNS_UNICODETOCP1256_CID, false, NULL, nsUnicodeToCP1256Constructor },
-  { &kNS_UNICODETOCP1257_CID, false, NULL, nsUnicodeToCP1257Constructor },
-  { &kNS_UNICODETOCP1258_CID, false, NULL, nsUnicodeToCP1258Constructor },
-  { &kNS_UNICODETOTIS620_CID, false, NULL, nsUnicodeToTIS620Constructor },
-  { &kNS_UNICODETOISO885911_CID, false, NULL, nsUnicodeToISO885911Constructor },
-  { &kNS_UNICODETOCP874_CID, false, NULL, nsUnicodeToCP874Constructor },
-  { &kNS_UNICODETOCP866_CID, false, NULL, nsUnicodeToCP866Constructor },
-  { &kNS_UNICODETOKOI8R_CID, false, NULL, nsUnicodeToKOI8RConstructor },
-  { &kNS_UNICODETOKOI8U_CID, false, NULL, nsUnicodeToKOI8UConstructor },
-  { &kNS_UNICODETOMACCE_CID, false, NULL, nsUnicodeToMacCEConstructor },
-  { &kNS_UNICODETOMACGREEK_CID, false, NULL, nsUnicodeToMacGreekConstructor },
-  { &kNS_UNICODETOMACTURKISH_CID, false, NULL, nsUnicodeToMacTurkishConstructor },
-  { &kNS_UNICODETOMACCROATIAN_CID, false, NULL, nsUnicodeToMacCroatianConstructor },
-  { &kNS_UNICODETOMACROMANIAN_CID, false, NULL, nsUnicodeToMacRomanianConstructor },
-  { &kNS_UNICODETOMACCYRILLIC_CID, false, NULL, nsUnicodeToMacCyrillicConstructor },
-  { &kNS_UNICODETOMACICELANDIC_CID, false, NULL, nsUnicodeToMacIcelandicConstructor },
-  { &kNS_UNICODETOGEOSTD8_CID, false, NULL, nsUnicodeToGEOSTD8Constructor },
-  { &kNS_UNICODETOARMSCII8_CID, false, NULL, nsUnicodeToARMSCII8Constructor },
-  { &kNS_UNICODETOTCVN5712_CID, false, NULL, nsUnicodeToTCVN5712Constructor },
-  { &kNS_UNICODETOVISCII_CID, false, NULL, nsUnicodeToVISCIIConstructor },
-  { &kNS_UNICODETOVPS_CID, false, NULL, nsUnicodeToVPSConstructor },
-  { &kNS_UNICODETOUTF7_CID, false, NULL, nsUnicodeToUTF7Constructor },
-  { &kNS_UNICODETOMUTF7_CID, false, NULL, nsUnicodeToMUTF7Constructor },
-  { &kNS_UNICODETOUTF16BE_CID, false, NULL, nsUnicodeToUTF16BEConstructor },
-  { &kNS_UNICODETOUTF16LE_CID, false, NULL, nsUnicodeToUTF16LEConstructor },
-  { &kNS_UNICODETOUTF16_CID, false, NULL, nsUnicodeToUTF16Constructor },
-  { &kNS_UNICODETOT61_CID, false, NULL, nsUnicodeToT61Constructor },
-  { &kNS_UNICODETOUSERDEFINED_CID, false, NULL, nsUnicodeToUserDefinedConstructor },
-  { &kNS_UNICODETOSYMBOL_CID, false, NULL, nsUnicodeToSymbolConstructor },
-  { &kNS_UNICODETOZAPFDINGBATS_CID, false, NULL, nsUnicodeToZapfDingbatConstructor },
-  { &kNS_UNICODETOADOBEEURO_CID, false, NULL, nsUnicodeToAdobeEuroConstructor },
-  { &kNS_UNICODETOMACARABIC_CID, false, NULL, nsUnicodeToMacArabicConstructor },
-  { &kNS_UNICODETOMACDEVANAGARI_CID, false, NULL, nsUnicodeToMacDevanagariConstructor },
-  { &kNS_UNICODETOMACFARSI_CID, false, NULL, nsUnicodeToMacFarsiConstructor },
-  { &kNS_UNICODETOMACGURMUKHI_CID, false, NULL, nsUnicodeToMacGurmukhiConstructor },
-  { &kNS_UNICODETOMACGUJARATI_CID, false, NULL, nsUnicodeToMacGujaratiConstructor },
-  { &kNS_UNICODETOMACHEBREW_CID, false, NULL, nsUnicodeToMacHebrewConstructor },
-  { &kNS_UNICODETOTSCII_CID, false, NULL, nsUnicodeToTSCIIConstructor },
-  { &kNS_UNICODETOTAMILTTF_CID, false, NULL, nsUnicodeToTamilTTFConstructor },
-  { &kNS_CP850TOUNICODE_CID, false, NULL, nsCP850ToUnicodeConstructor },
-  { &kNS_CP852TOUNICODE_CID, false, NULL, nsCP852ToUnicodeConstructor },
-  { &kNS_CP855TOUNICODE_CID, false, NULL, nsCP855ToUnicodeConstructor },
-  { &kNS_CP857TOUNICODE_CID, false, NULL, nsCP857ToUnicodeConstructor },
-  { &kNS_CP862TOUNICODE_CID, false, NULL, nsCP862ToUnicodeConstructor },
-  { &kNS_CP864TOUNICODE_CID, false, NULL, nsCP864ToUnicodeConstructor },
-  { &kNS_CP864ITOUNICODE_CID, false, NULL, nsCP864iToUnicodeConstructor },
-#ifdef XP_OS2
-  { &kNS_CP869TOUNICODE_CID, false, NULL, nsCP869ToUnicodeConstructor },
-  { &kNS_CP1125TOUNICODE_CID, false, NULL, nsCP1125ToUnicodeConstructor },
-  { &kNS_CP1131TOUNICODE_CID, false, NULL, nsCP1131ToUnicodeConstructor },
-#endif
-  { &kNS_UNICODETOCP850_CID, false, NULL, nsUnicodeToCP850Constructor },
-  { &kNS_UNICODETOCP852_CID, false, NULL, nsUnicodeToCP852Constructor },
-  { &kNS_UNICODETOCP855_CID, false, NULL, nsUnicodeToCP855Constructor },
-  { &kNS_UNICODETOCP857_CID, false, NULL, nsUnicodeToCP857Constructor },
-  { &kNS_UNICODETOCP862_CID, false, NULL, nsUnicodeToCP862Constructor },
-  { &kNS_UNICODETOCP864_CID, false, NULL, nsUnicodeToCP864Constructor },
-  { &kNS_UNICODETOCP864I_CID, false, NULL, nsUnicodeToCP864iConstructor },
-#ifdef XP_OS2
-  { &kNS_UNICODETOCP869_CID, false, NULL, nsUnicodeToCP869Constructor },
-  { &kNS_UNICODETOCP1125_CID, false, NULL, nsUnicodeToCP1125Constructor },
-  { &kNS_UNICODETOCP1131_CID, false, NULL, nsUnicodeToCP1131Constructor },
-#endif
-  { &kNS_SJISTOUNICODE_CID, false, NULL, nsShiftJISToUnicodeConstructor },
-  { &kNS_EUCJPTOUNICODE_CID, false, NULL, nsEUCJPToUnicodeV2Constructor },
-  { &kNS_ISO2022JPTOUNICODE_CID, false, NULL, nsISO2022JPToUnicodeV2Constructor },
-  { &kNS_UNICODETOSJIS_CID, false, NULL, nsUnicodeToSJISConstructor },
-  { &kNS_UNICODETOEUCJP_CID, false, NULL, nsUnicodeToEUCJPConstructor },
-  { &kNS_UNICODETOISO2022JP_CID, false, NULL, nsUnicodeToISO2022JPConstructor },
-  { &kNS_UNICODETOJISX0201_CID, false, NULL, nsUnicodeToJISx0201Constructor },
-  { &kNS_EUCTWTOUNICODE_CID, false, NULL, nsEUCTWToUnicodeConstructor },
-  { &kNS_UNICODETOEUCTW_CID, false, NULL, nsUnicodeToEUCTWConstructor },
-  { &kNS_UNICODETOBIG5_CID, false, NULL, nsUnicodeToBIG5Constructor },
-  { &kNS_BIG5TOUNICODE_CID, false, NULL, nsBIG5ToUnicodeConstructor },
-  { &kNS_UNICODETOBIG5HKSCS_CID, false, NULL, nsUnicodeToBIG5HKSCSConstructor },
-  { &kNS_UNICODETOHKSCS_CID, false, NULL, nsUnicodeToHKSCSConstructor },
-  { &kNS_BIG5HKSCSTOUNICODE_CID, false, NULL, nsBIG5HKSCSToUnicodeConstructor },
-  { &kNS_EUCKRTOUNICODE_CID, false, NULL, nsEUCKRToUnicodeConstructor },
-  { &kNS_UNICODETOEUCKR_CID, false, NULL, nsUnicodeToEUCKRConstructor },
-  { &kNS_JOHABTOUNICODE_CID, false, NULL, nsJohabToUnicodeConstructor },
-  { &kNS_UNICODETOJOHAB_CID, false, NULL, nsUnicodeToJohabConstructor },
-  { &kNS_CP949TOUNICODE_CID, false, NULL, nsCP949ToUnicodeConstructor },
-  { &kNS_UNICODETOCP949_CID, false, NULL, nsUnicodeToCP949Constructor },
-  { &kNS_ISO2022KRTOUNICODE_CID, false, NULL, nsISO2022KRToUnicodeConstructor },
-  { &kNS_GB2312TOUNICODE_CID, false, NULL, nsGB2312ToUnicodeV2Constructor },
-  { &kNS_UNICODETOGB2312_CID, false, NULL, nsUnicodeToGB2312V2Constructor },
-  { &kNS_GBKTOUNICODE_CID, false, NULL, nsGBKToUnicodeConstructor },
-  { &kNS_UNICODETOGBK_CID, false, NULL, nsUnicodeToGBKConstructor },
-  { &kNS_HZTOUNICODE_CID, false, NULL, nsHZToUnicodeConstructor },
-  { &kNS_UNICODETOHZ_CID, false, NULL, nsUnicodeToHZConstructor },
-  { &kNS_GB18030TOUNICODE_CID, false, NULL, nsGB18030ToUnicodeConstructor },
-  { &kNS_UNICODETOGB18030_CID, false, NULL, nsUnicodeToGB18030Constructor },
-  { &kNS_ISO2022CNTOUNICODE_CID, false, NULL, nsISO2022CNToUnicodeConstructor },
-  { NULL },
-};
-
-static const mozilla::Module::ContractIDEntry kUConvContracts[] = {
-  { NS_UNICODEDECODER_CONTRACTID_BASE "us-ascii", &kNS_ASCIITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-2", &kNS_ISO88592TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-3", &kNS_ISO88593TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-4", &kNS_ISO88594TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-5", &kNS_ISO88595TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6", &kNS_ISO88596TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_ISO88596ITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_ISO88596ETOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-7", &kNS_ISO88597TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8", &kNS_ISO88598TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_ISO88598ITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_ISO88598ETOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-9", &kNS_ISO88599TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-10", &kNS_ISO885910TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-13", &kNS_ISO885913TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-14", &kNS_ISO885914TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-15", &kNS_ISO885915TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-16", &kNS_ISO885916TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-IR-111", &kNS_ISOIR111TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1250", &kNS_CP1250TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1251", &kNS_CP1251TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1253", &kNS_CP1253TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1254", &kNS_CP1254TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1255", &kNS_CP1255TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1256", &kNS_CP1256TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1257", &kNS_CP1257TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1258", &kNS_CP1258TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "TIS-620", &kNS_TIS620TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-11", &kNS_ISO885911TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-874", &kNS_CP874TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM866", &kNS_CP866TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-R", &kNS_KOI8RTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-U", &kNS_KOI8UTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ce", &kNS_MACCETOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-greek", &kNS_MACGREEKTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-turkish", &kNS_MACTURKISHTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-croatian", &kNS_MACCROATIANTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-romanian", &kNS_MACROMANIANTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_MACCYRILLICTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_MACICELANDICTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "GEOSTD8", &kNS_GEOSTD8TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "armscii-8", &kNS_ARMSCII8TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_TCVN5712TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "VISCII", &kNS_VISCIITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-vps", &kNS_VPSTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-7", &kNS_UTF7TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-imap4-modified-utf7", &kNS_MUTF7TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16", &kNS_UTF16TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16BE", &kNS_UTF16BETOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16LE", &kNS_UTF16LETOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "T.61-8bit", &kNS_T61TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-user-defined", &kNS_USERDEFINEDTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-arabic", &kNS_MACARABICTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_MACDEVANAGARITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-farsi", &kNS_MACFARSITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_MACGURMUKHITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_MACGUJARATITOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_MACHEBREWTOUNICODE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "us-ascii", &kNS_UNICODETOASCII_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-2", &kNS_UNICODETOISO88592_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-3", &kNS_UNICODETOISO88593_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-4", &kNS_UNICODETOISO88594_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-5", &kNS_UNICODETOISO88595_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6", &kNS_UNICODETOISO88596_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_UNICODETOISO88596I_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_UNICODETOISO88596E_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-7", &kNS_UNICODETOISO88597_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8", &kNS_UNICODETOISO88598_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_UNICODETOISO88598I_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_UNICODETOISO88598E_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-9", &kNS_UNICODETOISO88599_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-10", &kNS_UNICODETOISO885910_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-13", &kNS_UNICODETOISO885913_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-14", &kNS_UNICODETOISO885914_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-15", &kNS_UNICODETOISO885915_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-16", &kNS_UNICODETOISO885916_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-IR-111", &kNS_UNICODETOISOIR111_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1250", &kNS_UNICODETOCP1250_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1251", &kNS_UNICODETOCP1251_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1253", &kNS_UNICODETOCP1253_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1254", &kNS_UNICODETOCP1254_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1255", &kNS_UNICODETOCP1255_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1256", &kNS_UNICODETOCP1256_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1257", &kNS_UNICODETOCP1257_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1258", &kNS_UNICODETOCP1258_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "TIS-620", &kNS_UNICODETOTIS620_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-11", &kNS_UNICODETOISO885911_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-874", &kNS_UNICODETOCP874_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM866", &kNS_UNICODETOCP866_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-R", &kNS_UNICODETOKOI8R_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-U", &kNS_UNICODETOKOI8U_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ce", &kNS_UNICODETOMACCE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-greek", &kNS_UNICODETOMACGREEK_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-turkish", &kNS_UNICODETOMACTURKISH_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-croatian", &kNS_UNICODETOMACCROATIAN_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-romanian", &kNS_UNICODETOMACROMANIAN_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_UNICODETOMACCYRILLIC_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_UNICODETOMACICELANDIC_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "GEOSTD8", &kNS_UNICODETOGEOSTD8_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "armscii-8", &kNS_UNICODETOARMSCII8_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_UNICODETOTCVN5712_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "VISCII", &kNS_UNICODETOVISCII_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-vps", &kNS_UNICODETOVPS_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-7", &kNS_UNICODETOUTF7_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-imap4-modified-utf7", &kNS_UNICODETOMUTF7_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16BE", &kNS_UNICODETOUTF16BE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16LE", &kNS_UNICODETOUTF16LE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16", &kNS_UNICODETOUTF16_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "T.61-8bit", &kNS_UNICODETOT61_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-user-defined", &kNS_UNICODETOUSERDEFINED_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "Adobe-Symbol-Encoding", &kNS_UNICODETOSYMBOL_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-zapf-dingbats", &kNS_UNICODETOZAPFDINGBATS_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-adobe-euro", &kNS_UNICODETOADOBEEURO_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-arabic", &kNS_UNICODETOMACARABIC_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_UNICODETOMACDEVANAGARI_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-farsi", &kNS_UNICODETOMACFARSI_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_UNICODETOMACGURMUKHI_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_UNICODETOMACGUJARATI_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_UNICODETOMACHEBREW_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-tscii", &kNS_UNICODETOTSCII_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-tamilttf-0", &kNS_UNICODETOTAMILTTF_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM850", &kNS_CP850TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM852", &kNS_CP852TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM855", &kNS_CP855TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM857", &kNS_CP857TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM862", &kNS_CP862TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM864", &kNS_CP864TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM864i", &kNS_CP864ITOUNICODE_CID },
-#ifdef XP_OS2
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM869", &kNS_CP869TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM1125", &kNS_CP1125TOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM1131", &kNS_CP1131TOUNICODE_CID },
-#endif
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM850", &kNS_UNICODETOCP850_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM852", &kNS_UNICODETOCP852_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM855", &kNS_UNICODETOCP855_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM857", &kNS_UNICODETOCP857_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM862", &kNS_UNICODETOCP862_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM864", &kNS_UNICODETOCP864_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM864i", &kNS_UNICODETOCP864I_CID },
-#ifdef XP_OS2
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM869", &kNS_UNICODETOCP869_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM1125", &kNS_UNICODETOCP1125_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM1131", &kNS_UNICODETOCP1131_CID },
-#endif
-  { NS_UNICODEDECODER_CONTRACTID_BASE "Shift_JIS", &kNS_SJISTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-JP", &kNS_EUCJPTOUNICODE_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_ISO2022JPTOUNICODE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "Shift_JIS", &kNS_UNICODETOSJIS_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-JP", &kNS_UNICODETOEUCJP_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_UNICODETOISO2022JP_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "jis_0201", &kNS_UNICODETOJISX0201_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "x-euc-tw", &kNS_EUCTWTOUNICODE_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw", &kNS_UNICODETOEUCTW_CID },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "Big5", &kNS_UNICODETOBIG5_CID },
-  { 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 },
-  { NS_UNICODEENCODER_CONTRACTID_BASE "gb18030", &kNS_UNICODETOGB18030_CID },
-  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-CN", &kNS_ISO2022CNTOUNICODE_CID },
-  { NULL }
-};
-
-static void
-UConvDataModuleDtor()
-{
-#ifdef DEBUG
-#ifdef XP_WIN
-  mozilla::BlockingResourceBase::Shutdown();
-#endif
-#endif
-}
-
-static const mozilla::Module kUConvDataModule = {
-  mozilla::Module::kVersion,
-  kUConvCIDs,
-  kUConvContracts,
-  kUConvCategories,
-  nsnull,
-  nsnull,
-  UConvDataModuleDtor
-};
-
-NSMODULE_DEFN(nsUConvDataModule) = &kUConvDataModule;
--- a/intl/uconv/src/Makefile.in
+++ b/intl/uconv/src/Makefile.in
@@ -71,17 +71,35 @@ CPPSRCS		= \
 		$(NULL)
 
 # Are we targeting x86-32 or x86-64?  If so, we want to include the SSE2
 # version of nsUTF8ToUnicodeSSE2.cpp.
 ifneq (,$(INTEL_ARCHITECTURE))
 CPPSRCS			+= nsUTF8ToUnicodeSSE2.cpp
 endif
 
-LOCAL_INCLUDES	= -I$(srcdir)/../util
+LOCAL_INCLUDES	= -I$(srcdir)/../util \
+		  -I$(srcdir)/../ucvlatin \
+		  -I$(srcdir)/../ucvibm \
+		  -I$(srcdir)/../ucvja \
+		  -I$(srcdir)/../ucvtw2 \
+		  -I$(srcdir)/../ucvtw \
+		  -I$(srcdir)/../ucvko \
+		  -I$(srcdir)/../ucvcn \
+		  $(NULL)
+
+SHARED_LIBRARY_LIBS += \
+	../ucvlatin/$(LIB_PREFIX)ucvlatin_s.$(LIB_SUFFIX) \
+	../ucvibm/$(LIB_PREFIX)ucvibm_s.$(LIB_SUFFIX) \
+	../ucvja/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \
+	../ucvtw2/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \
+	../ucvtw/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \
+	../ucvko/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \
+	../ucvcn/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \
+	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
 ifneq (,$(INTEL_ARCHITECTURE))
 # nsUTF8ToUnicodeSSE2.cpp uses SSE2 intrinsics, so we need to pass -msse2 if
 # we're using gcc. (See bug 585538 comment 12.)
 ifdef GNU_CC
 nsUTF8ToUnicodeSSE2.$(OBJ_SUFFIX): CXXFLAGS+=-msse2
--- a/intl/uconv/src/nsUConvModule.cpp
+++ b/intl/uconv/src/nsUConvModule.cpp
@@ -67,34 +67,499 @@
 #include "nsCP1252ToUnicode.h"
 #include "nsMacRomanToUnicode.h"
 #include "nsUTF8ToUnicode.h"
 #include "nsUnicodeToISO88591.h"
 #include "nsUnicodeToCP1252.h"
 #include "nsUnicodeToMacRoman.h"
 #include "nsUnicodeToUTF8.h"
 
+// ucvlatin
+#include "nsUCvLatinCID.h"
+#include "nsUCvLatinDll.h"
+#include "nsAsciiToUnicode.h"
+#include "nsISO88592ToUnicode.h"
+#include "nsISO88593ToUnicode.h"
+#include "nsISO88594ToUnicode.h"
+#include "nsISO88595ToUnicode.h"
+#include "nsISO88596ToUnicode.h"
+#include "nsISO88596EToUnicode.h"
+#include "nsISO88596IToUnicode.h"
+#include "nsISO88597ToUnicode.h"
+#include "nsISO88598ToUnicode.h"
+#include "nsISO88598EToUnicode.h"
+#include "nsISO88598IToUnicode.h"
+#include "nsISO88599ToUnicode.h"
+#include "nsISO885910ToUnicode.h"
+#include "nsISO885913ToUnicode.h"
+#include "nsISO885914ToUnicode.h"
+#include "nsISO885915ToUnicode.h"
+#include "nsISO885916ToUnicode.h"
+#include "nsISOIR111ToUnicode.h"
+#include "nsCP1250ToUnicode.h"
+#include "nsCP1251ToUnicode.h"
+#include "nsCP1253ToUnicode.h"
+#include "nsCP1254ToUnicode.h"
+#include "nsCP1255ToUnicode.h"
+#include "nsCP1256ToUnicode.h"
+#include "nsCP1257ToUnicode.h"
+#include "nsCP1258ToUnicode.h"
+#include "nsCP874ToUnicode.h"
+#include "nsISO885911ToUnicode.h"
+#include "nsTIS620ToUnicode.h"
+#include "nsCP866ToUnicode.h"
+#include "nsKOI8RToUnicode.h"
+#include "nsKOI8UToUnicode.h"
+#include "nsMacCEToUnicode.h"
+#include "nsMacGreekToUnicode.h"
+#include "nsMacTurkishToUnicode.h"
+#include "nsMacCroatianToUnicode.h"
+#include "nsMacRomanianToUnicode.h"
+#include "nsMacCyrillicToUnicode.h"
+#include "nsMacIcelandicToUnicode.h"
+#include "nsGEOSTD8ToUnicode.h"
+#include "nsARMSCII8ToUnicode.h"
+#include "nsTCVN5712ToUnicode.h"
+#include "nsVISCIIToUnicode.h"
+#include "nsVPSToUnicode.h"
+#include "nsUTF7ToUnicode.h"
+#include "nsMUTF7ToUnicode.h"
+#include "nsUCS2BEToUnicode.h"
+#include "nsT61ToUnicode.h"
+#include "nsUserDefinedToUnicode.h"
+#include "nsUnicodeToAscii.h"
+#include "nsUnicodeToISO88592.h"
+#include "nsUnicodeToISO88593.h"
+#include "nsUnicodeToISO88594.h"
+#include "nsUnicodeToISO88595.h"
+#include "nsUnicodeToISO88596.h"
+#include "nsUnicodeToISO88596E.h"
+#include "nsUnicodeToISO88596I.h"
+#include "nsUnicodeToISO88597.h"
+#include "nsUnicodeToISO88598.h"
+#include "nsUnicodeToISO88598E.h"
+#include "nsUnicodeToISO88598I.h"
+#include "nsUnicodeToISO88599.h"
+#include "nsUnicodeToISO885910.h"
+#include "nsUnicodeToISO885913.h"
+#include "nsUnicodeToISO885914.h"
+#include "nsUnicodeToISO885915.h"
+#include "nsUnicodeToISO885916.h"
+#include "nsUnicodeToISOIR111.h"
+#include "nsUnicodeToCP1250.h"
+#include "nsUnicodeToCP1251.h"
+#include "nsUnicodeToCP1253.h"
+#include "nsUnicodeToCP1254.h"
+#include "nsUnicodeToCP1255.h"
+#include "nsUnicodeToCP1256.h"
+#include "nsUnicodeToCP1257.h"
+#include "nsUnicodeToCP1258.h"
+#include "nsUnicodeToCP874.h"
+#include "nsUnicodeToISO885911.h"
+#include "nsUnicodeToTIS620.h"
+#include "nsUnicodeToCP866.h"
+#include "nsUnicodeToKOI8R.h"
+#include "nsUnicodeToKOI8U.h"
+#include "nsUnicodeToMacCE.h"
+#include "nsUnicodeToMacGreek.h"
+#include "nsUnicodeToMacTurkish.h"
+#include "nsUnicodeToMacCroatian.h"
+#include "nsUnicodeToMacRomanian.h"
+#include "nsUnicodeToMacCyrillic.h"
+#include "nsUnicodeToMacIcelandic.h"
+#include "nsUnicodeToGEOSTD8.h"
+#include "nsUnicodeToARMSCII8.h"
+#include "nsUnicodeToTCVN5712.h"
+#include "nsUnicodeToVISCII.h"
+#include "nsUnicodeToVPS.h"
+#include "nsUnicodeToUTF7.h"
+#include "nsUnicodeToMUTF7.h"
+#include "nsUnicodeToUCS2BE.h"
+#include "nsUnicodeToT61.h"
+#include "nsUnicodeToUserDefined.h"
+#include "nsUnicodeToSymbol.h"
+#include "nsUnicodeToZapfDingbat.h"
+#include "nsUnicodeToAdobeEuro.h"
+#include "nsMacArabicToUnicode.h"
+#include "nsMacDevanagariToUnicode.h"
+#include "nsMacFarsiToUnicode.h"
+#include "nsMacGujaratiToUnicode.h"
+#include "nsMacGurmukhiToUnicode.h"
+#include "nsMacHebrewToUnicode.h"
+#include "nsUnicodeToMacArabic.h"
+#include "nsUnicodeToMacDevanagari.h"
+#include "nsUnicodeToMacFarsi.h"
+#include "nsUnicodeToMacGujarati.h"
+#include "nsUnicodeToMacGurmukhi.h"
+#include "nsUnicodeToMacHebrew.h"
+#include "nsUnicodeToTSCII.h"
+
+// ucvibm
+#include "nsUCvIBMCID.h"
+#include "nsUCvIBMDll.h"
+#include "nsCP850ToUnicode.h"
+#include "nsCP852ToUnicode.h"
+#include "nsCP855ToUnicode.h"
+#include "nsCP857ToUnicode.h"
+#include "nsCP862ToUnicode.h"
+#include "nsCP864ToUnicode.h"
+#include "nsCP864iToUnicode.h"
+#ifdef XP_OS2
+#include "nsCP869ToUnicode.h"
+#include "nsCP1125ToUnicode.h"
+#include "nsCP1131ToUnicode.h"
+#endif
+#include "nsUnicodeToCP850.h"
+#include "nsUnicodeToCP852.h"
+#include "nsUnicodeToCP855.h"
+#include "nsUnicodeToCP857.h"
+#include "nsUnicodeToCP862.h"
+#include "nsUnicodeToCP864.h"
+#include "nsUnicodeToCP864i.h"
+#ifdef XP_OS2
+#include "nsUnicodeToCP869.h"
+#include "nsUnicodeToCP1125.h"
+#include "nsUnicodeToCP1131.h"
+#endif
+
+// ucvja
+#include "nsUCVJACID.h"
+#include "nsUCVJA2CID.h"
+#include "nsUCVJADll.h"
+#include "nsJapaneseToUnicode.h"
+#include "nsUnicodeToSJIS.h"
+#include "nsUnicodeToEUCJP.h"
+#include "nsUnicodeToISO2022JP.h"
+#include "nsUnicodeToJISx0201.h"
+
+// ucvtw2
+#include "nsUCvTW2CID.h"
+#include "nsUCvTW2Dll.h"
+#include "nsEUCTWToUnicode.h"
+#include "nsUnicodeToEUCTW.h"
+
+// ucvtw
+#include "nsUCvTWCID.h"
+#include "nsUCvTWDll.h"
+#include "nsBIG5ToUnicode.h"
+#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"
+#include "nsUCvCnDll.h"
+#include "nsHZToUnicode.h"
+#include "nsUnicodeToHZ.h"
+#include "nsGBKToUnicode.h"
+#include "nsUnicodeToGBK.h"
+#include "nsGB2312ToUnicodeV2.h"
+#include "nsUnicodeToGB2312V2.h"
+#include "nsISO2022CNToUnicode.h"
+#include "nsUnicodeToISO2022CN.h"
+#include "gbku.h"
+
 NS_CONVERTER_REGISTRY_START
 NS_UCONV_REG_UNREG("ISO-8859-1", NS_ISO88591TOUNICODE_CID, NS_UNICODETOISO88591_CID)
 NS_UCONV_REG_UNREG("windows-1252", NS_CP1252TOUNICODE_CID, NS_UNICODETOCP1252_CID)
 NS_UCONV_REG_UNREG("x-mac-roman", NS_MACROMANTOUNICODE_CID, NS_UNICODETOMACROMAN_CID)
 NS_UCONV_REG_UNREG("UTF-8", NS_UTF8TOUNICODE_CID, NS_UNICODETOUTF8_CID)
 
+  // ucvlatin
+NS_UCONV_REG_UNREG("us-ascii", NS_ASCIITOUNICODE_CID, NS_UNICODETOASCII_CID)
+NS_UCONV_REG_UNREG("ISO-8859-2", NS_ISO88592TOUNICODE_CID, NS_UNICODETOISO88592_CID)
+NS_UCONV_REG_UNREG("ISO-8859-3", NS_ISO88593TOUNICODE_CID, NS_UNICODETOISO88593_CID)
+NS_UCONV_REG_UNREG("ISO-8859-4", NS_ISO88594TOUNICODE_CID, NS_UNICODETOISO88594_CID)
+NS_UCONV_REG_UNREG("ISO-8859-5", NS_ISO88595TOUNICODE_CID, NS_UNICODETOISO88595_CID)
+NS_UCONV_REG_UNREG("ISO-8859-6", NS_ISO88596TOUNICODE_CID, NS_UNICODETOISO88596_CID)
+NS_UCONV_REG_UNREG("ISO-8859-6-I", NS_ISO88596ITOUNICODE_CID, NS_UNICODETOISO88596I_CID)
+NS_UCONV_REG_UNREG("ISO-8859-6-E", NS_ISO88596ETOUNICODE_CID, NS_UNICODETOISO88596E_CID)
+NS_UCONV_REG_UNREG("ISO-8859-7", NS_ISO88597TOUNICODE_CID, NS_UNICODETOISO88597_CID)
+NS_UCONV_REG_UNREG("ISO-8859-8", NS_ISO88598TOUNICODE_CID, NS_UNICODETOISO88598_CID)
+NS_UCONV_REG_UNREG("ISO-8859-8-I", NS_ISO88598ITOUNICODE_CID, NS_UNICODETOISO88598I_CID)
+NS_UCONV_REG_UNREG("ISO-8859-8-E", NS_ISO88598ETOUNICODE_CID, NS_UNICODETOISO88598E_CID)
+NS_UCONV_REG_UNREG("ISO-8859-9", NS_ISO88599TOUNICODE_CID, NS_UNICODETOISO88599_CID)
+NS_UCONV_REG_UNREG("ISO-8859-10", NS_ISO885910TOUNICODE_CID, NS_UNICODETOISO885910_CID)
+NS_UCONV_REG_UNREG("ISO-8859-13", NS_ISO885913TOUNICODE_CID, NS_UNICODETOISO885913_CID)
+NS_UCONV_REG_UNREG("ISO-8859-14", NS_ISO885914TOUNICODE_CID, NS_UNICODETOISO885914_CID)
+NS_UCONV_REG_UNREG("ISO-8859-15", NS_ISO885915TOUNICODE_CID, NS_UNICODETOISO885915_CID)
+NS_UCONV_REG_UNREG("ISO-8859-16", NS_ISO885916TOUNICODE_CID, NS_UNICODETOISO885916_CID)
+NS_UCONV_REG_UNREG("ISO-IR-111", NS_ISOIR111TOUNICODE_CID, NS_UNICODETOISOIR111_CID)
+NS_UCONV_REG_UNREG("windows-1250", NS_CP1250TOUNICODE_CID, NS_UNICODETOCP1250_CID)
+NS_UCONV_REG_UNREG("windows-1251", NS_CP1251TOUNICODE_CID, NS_UNICODETOCP1251_CID)
+NS_UCONV_REG_UNREG("windows-1253", NS_CP1253TOUNICODE_CID, NS_UNICODETOCP1253_CID)
+NS_UCONV_REG_UNREG("windows-1254", NS_CP1254TOUNICODE_CID, NS_UNICODETOCP1254_CID)
+NS_UCONV_REG_UNREG("windows-1255", NS_CP1255TOUNICODE_CID, NS_UNICODETOCP1255_CID)
+NS_UCONV_REG_UNREG("windows-1256", NS_CP1256TOUNICODE_CID, NS_UNICODETOCP1256_CID)
+NS_UCONV_REG_UNREG("windows-1257", NS_CP1257TOUNICODE_CID, NS_UNICODETOCP1257_CID)
+NS_UCONV_REG_UNREG("windows-1258", NS_CP1258TOUNICODE_CID, NS_UNICODETOCP1258_CID)
+NS_UCONV_REG_UNREG("TIS-620", NS_TIS620TOUNICODE_CID, NS_UNICODETOTIS620_CID)
+NS_UCONV_REG_UNREG("windows-874", NS_CP874TOUNICODE_CID, NS_UNICODETOCP874_CID)
+NS_UCONV_REG_UNREG("ISO-8859-11", NS_ISO885911TOUNICODE_CID, NS_UNICODETOISO885911_CID)
+NS_UCONV_REG_UNREG("IBM866", NS_CP866TOUNICODE_CID, NS_UNICODETOCP866_CID)
+NS_UCONV_REG_UNREG("KOI8-R", NS_KOI8RTOUNICODE_CID, NS_UNICODETOKOI8R_CID)
+NS_UCONV_REG_UNREG("KOI8-U", NS_KOI8UTOUNICODE_CID, NS_UNICODETOKOI8U_CID)
+NS_UCONV_REG_UNREG("x-mac-ce", NS_MACCETOUNICODE_CID, NS_UNICODETOMACCE_CID)
+NS_UCONV_REG_UNREG("x-mac-greek", NS_MACGREEKTOUNICODE_CID, NS_UNICODETOMACGREEK_CID)
+NS_UCONV_REG_UNREG("x-mac-turkish", NS_MACTURKISHTOUNICODE_CID, NS_UNICODETOMACTURKISH_CID)
+NS_UCONV_REG_UNREG("x-mac-croatian", NS_MACCROATIANTOUNICODE_CID, NS_UNICODETOMACCROATIAN_CID)
+NS_UCONV_REG_UNREG("x-mac-romanian", NS_MACROMANIANTOUNICODE_CID, NS_UNICODETOMACROMANIAN_CID)
+NS_UCONV_REG_UNREG("x-mac-cyrillic", NS_MACCYRILLICTOUNICODE_CID, NS_UNICODETOMACCYRILLIC_CID)
+NS_UCONV_REG_UNREG("x-mac-icelandic", NS_MACICELANDICTOUNICODE_CID, NS_UNICODETOMACICELANDIC_CID)
+NS_UCONV_REG_UNREG("GEOSTD8", NS_GEOSTD8TOUNICODE_CID, NS_UNICODETOGEOSTD8_CID)
+NS_UCONV_REG_UNREG("armscii-8", NS_ARMSCII8TOUNICODE_CID, NS_UNICODETOARMSCII8_CID)
+NS_UCONV_REG_UNREG("x-viet-tcvn5712", NS_TCVN5712TOUNICODE_CID, NS_UNICODETOTCVN5712_CID)
+NS_UCONV_REG_UNREG("VISCII", NS_VISCIITOUNICODE_CID, NS_UNICODETOVISCII_CID)
+NS_UCONV_REG_UNREG("x-viet-vps", NS_VPSTOUNICODE_CID, NS_UNICODETOVPS_CID)
+NS_UCONV_REG_UNREG("UTF-7", NS_UTF7TOUNICODE_CID, NS_UNICODETOUTF7_CID)
+NS_UCONV_REG_UNREG("x-imap4-modified-utf7", NS_MUTF7TOUNICODE_CID, NS_UNICODETOMUTF7_CID)
+NS_UCONV_REG_UNREG("UTF-16", NS_UTF16TOUNICODE_CID, NS_UNICODETOUTF16_CID)
+NS_UCONV_REG_UNREG("UTF-16BE", NS_UTF16BETOUNICODE_CID, NS_UNICODETOUTF16BE_CID)
+NS_UCONV_REG_UNREG("UTF-16LE", NS_UTF16LETOUNICODE_CID, NS_UNICODETOUTF16LE_CID)
+NS_UCONV_REG_UNREG("T.61-8bit", NS_T61TOUNICODE_CID, NS_UNICODETOT61_CID)
+NS_UCONV_REG_UNREG("x-user-defined", NS_USERDEFINEDTOUNICODE_CID, NS_UNICODETOUSERDEFINED_CID)
+NS_UCONV_REG_UNREG("x-mac-arabic" , NS_MACARABICTOUNICODE_CID, NS_UNICODETOMACARABIC_CID)
+NS_UCONV_REG_UNREG("x-mac-devanagari" , NS_MACDEVANAGARITOUNICODE_CID, NS_UNICODETOMACDEVANAGARI_CID)
+NS_UCONV_REG_UNREG("x-mac-farsi" , NS_MACFARSITOUNICODE_CID, NS_UNICODETOMACFARSI_CID)
+NS_UCONV_REG_UNREG("x-mac-gurmukhi" , NS_MACGURMUKHITOUNICODE_CID, NS_UNICODETOMACGURMUKHI_CID)
+NS_UCONV_REG_UNREG("x-mac-gujarati" , NS_MACGUJARATITOUNICODE_CID, NS_UNICODETOMACGUJARATI_CID)
+NS_UCONV_REG_UNREG("x-mac-hebrew" , NS_MACHEBREWTOUNICODE_CID, NS_UNICODETOMACHEBREW_CID)
+
+NS_UCONV_REG_UNREG_ENCODER("Adobe-Symbol-Encoding" , NS_UNICODETOSYMBOL_CID)
+NS_UCONV_REG_UNREG_ENCODER("x-zapf-dingbats" , NS_UNICODETOZAPFDINGBATS_CID)
+NS_UCONV_REG_UNREG_ENCODER("x-tscii",  NS_UNICODETOTSCII_CID)
+NS_UCONV_REG_UNREG_ENCODER("x-tamilttf-0",  NS_UNICODETOTAMILTTF_CID)
+
+  // ucvibm
+NS_UCONV_REG_UNREG("IBM850", NS_CP850TOUNICODE_CID, NS_UNICODETOCP850_CID)
+NS_UCONV_REG_UNREG("IBM852", NS_CP852TOUNICODE_CID, NS_UNICODETOCP852_CID)
+NS_UCONV_REG_UNREG("IBM855", NS_CP855TOUNICODE_CID, NS_UNICODETOCP855_CID)
+NS_UCONV_REG_UNREG("IBM857", NS_CP857TOUNICODE_CID, NS_UNICODETOCP857_CID)
+NS_UCONV_REG_UNREG("IBM862", NS_CP862TOUNICODE_CID, NS_UNICODETOCP862_CID)
+NS_UCONV_REG_UNREG("IBM864", NS_CP864TOUNICODE_CID, NS_UNICODETOCP864_CID)
+NS_UCONV_REG_UNREG("IBM864i", NS_CP864ITOUNICODE_CID, NS_UNICODETOCP864I_CID)
+#ifdef XP_OS2
+NS_UCONV_REG_UNREG("IBM869", NS_CP869TOUNICODE_CID, NS_UNICODETOCP869_CID)
+NS_UCONV_REG_UNREG("IBM1125", NS_CP1125TOUNICODE_CID, NS_UNICODETOCP1125_CID)
+NS_UCONV_REG_UNREG("IBM1131", NS_CP1131TOUNICODE_CID, NS_UNICODETOCP1131_CID)
+#endif
+
+    // ucvja
+NS_UCONV_REG_UNREG("Shift_JIS", NS_SJISTOUNICODE_CID, NS_UNICODETOSJIS_CID)
+NS_UCONV_REG_UNREG("ISO-2022-JP", NS_ISO2022JPTOUNICODE_CID, NS_UNICODETOISO2022JP_CID)
+NS_UCONV_REG_UNREG("EUC-JP", NS_EUCJPTOUNICODE_CID, NS_UNICODETOEUCJP_CID)
+  
+NS_UCONV_REG_UNREG_ENCODER("jis_0201" , NS_UNICODETOJISX0201_CID)
+
+    // ucvtw2
+NS_UCONV_REG_UNREG("x-euc-tw", NS_EUCTWTOUNICODE_CID, NS_UNICODETOEUCTW_CID)
+
+    // ucvtw
+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)
+
 { NS_TITLE_BUNDLE_CATEGORY, "chrome://global/locale/charsetTitles.properties", "" },
 { NS_DATA_BUNDLE_CATEGORY, "resource://gre-resources/charsetData.properties", "" },
   
 NS_CONVERTER_REGISTRY_END
 
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF8)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ToUnicode)
 
+// ucvlatin
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF7ToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsMUTF7ToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16ToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16BEToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF16LEToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF7)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToMUTF7)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16BE)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16LE)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToUTF16)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTSCII)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToTamilTTF)
+
+// ucvibm
+
+// ucvja
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsShiftJISToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsEUCJPToUnicodeV2)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022JPToUnicodeV2)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToISO2022JP)
+
+// ucvtw2
+
+// ucvtw
+
+// ucvko
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022KRToUnicode)
+
+// ucvcn
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB2312ToUnicodeV2)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB2312V2)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsGBKToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGBK)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsHZToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToHZ)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsGB18030ToUnicode)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnicodeToGB18030)
+NS_GENERIC_FACTORY_CONSTRUCTOR(nsISO2022CNToUnicode)
+
 
 //----------------------------------------------------------------------------
 // Global functions and data [declaration]
 
+// ucvja
+const PRUint16 g_uf0201Mapping[] = {
+#include "jis0201.uf"
+};
+
+const PRUint16 g_uf0201GLMapping[] = {
+#include "jis0201gl.uf"
+};
+
+const PRUint16 g_uf0208Mapping[] = {
+#include "jis0208.uf"
+};
+
+const PRUint16 g_uf0208extMapping[] = {
+#include "jis0208ext.uf"
+};
+
+// ucvtw2
+const PRUint16 g_ufCNS1MappingTable[] = {
+#include "cns_1.uf"
+};
+
+const PRUint16 g_ufCNS2MappingTable[] = {
+#include "cns_2.uf"
+};
+
+const PRUint16 g_ufCNS3MappingTable[] = {
+#include "cns3.uf"
+};
+
+const PRUint16 g_ufCNS4MappingTable[] = {
+#include "cns4.uf"
+};
+
+const PRUint16 g_ufCNS5MappingTable[] = {
+#include "cns5.uf"
+};
+
+const PRUint16 g_ufCNS6MappingTable[] = {
+#include "cns6.uf"
+};
+
+const PRUint16 g_ufCNS7MappingTable[] = {
+#include "cns7.uf"
+};
+
+const PRUint16 g_utCNS1MappingTable[] = {
+#include "cns_1.ut"
+};
+
+const PRUint16 g_utCNS2MappingTable[] = {
+#include "cns_2.ut"
+};
+
+const PRUint16 g_utCNS3MappingTable[] = {
+#include "cns3.ut"
+};
+
+const PRUint16 g_utCNS4MappingTable[] = {
+#include "cns4.ut"
+};
+
+const PRUint16 g_utCNS5MappingTable[] = {
+#include "cns5.ut"
+};
+
+const PRUint16 g_utCNS6MappingTable[] = {
+#include "cns6.ut"
+};
+
+const PRUint16 g_utCNS7MappingTable[] = {
+#include "cns7.ut"
+};
+
+const PRUint16 g_ASCIIMappingTable[] = {
+  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
+};
+
+// ucvtw
+const PRUint16 g_ufBig5Mapping[] = {
+#include "big5.uf"
+};
+
+const PRUint16 g_utBIG5Mapping[] = {
+#include "big5.ut"
+};
+
+const PRUint16 g_ufBig5HKSCSMapping[] = {
+#include "hkscs.uf"
+};
+
+const PRUint16 g_ASCIIMapping[] = {
+  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
+};
+
+const PRUint16 g_utBig5HKSCSMapping[] = {
+#include "hkscs.ut"
+};
+
+// ucvko
+const PRUint16 g_utKSC5601Mapping[] = {
+#include "u20kscgl.ut"
+};
+
+const PRUint16 g_ufKSC5601Mapping[] = {
+#include "u20kscgl.uf"
+};
+
+const PRUint16 g_ucvko_AsciiMapping[] = {
+  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0x0000, 0x007F, 0x0000
+};
+
+const PRUint16 g_HangulNullMapping[] ={
+  0x0001, 0x0004, 0x0005, 0x0008, 0x0000, 0xAC00, 0xD7A3, 0xAC00
+};
+
+const PRUint16 g_ufJohabJamoMapping[] ={   
+#include "johabjamo.uf"
+};
+
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCharsetConverterManager)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTextToSubURI)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUTF8ConverterService)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterInputStream)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsConverterOutputStream)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsScriptableUnicodeConverter)
 
 NS_DEFINE_NAMED_CID(NS_ICHARSETCONVERTERMANAGER_CID);
@@ -106,32 +571,382 @@ NS_DEFINE_NAMED_CID(NS_UTF8CONVERTERSERV
 NS_DEFINE_NAMED_CID(NS_ISO88591TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_CP1252TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_MACROMANTOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UTF8TOUNICODE_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOISO88591_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOCP1252_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMAN_CID);
 NS_DEFINE_NAMED_CID(NS_UNICODETOUTF8_CID);
+NS_DEFINE_NAMED_CID(NS_ASCIITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88592TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88593TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88594TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88595TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88596TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88596ITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88596ETOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88597TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88598TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88598ITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88598ETOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO88599TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO885910TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO885913TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO885914TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO885915TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO885916TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISOIR111TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1250TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1251TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1253TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1254TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1255TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1256TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1257TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1258TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_TIS620TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ISO885911TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP874TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP866TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_KOI8RTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_KOI8UTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACCETOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACGREEKTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACTURKISHTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACCROATIANTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACROMANIANTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACCYRILLICTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACICELANDICTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_GEOSTD8TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_ARMSCII8TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_TCVN5712TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_VISCIITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_VPSTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UTF7TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MUTF7TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UTF16TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UTF16BETOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UTF16LETOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_T61TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_USERDEFINEDTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACARABICTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACDEVANAGARITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACFARSITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACGURMUKHITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACGUJARATITOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_MACHEBREWTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOASCII_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88592_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88593_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88594_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88595_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596I_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88596E_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88597_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598I_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88598E_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO88599_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO885910_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO885913_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO885914_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO885915_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO885916_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISOIR111_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1250_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1251_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1253_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1254_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1255_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1256_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1257_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1258_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOTIS620_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO885911_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP874_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP866_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8R_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOKOI8U_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACCE_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACGREEK_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACTURKISH_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACCROATIAN_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACROMANIAN_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACCYRILLIC_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACICELANDIC_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOGEOSTD8_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOARMSCII8_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOTCVN5712_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOVISCII_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOVPS_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOUTF7_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMUTF7_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16BE_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16LE_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOUTF16_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOT61_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOUSERDEFINED_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOSYMBOL_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOZAPFDINGBATS_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOADOBEEURO_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACARABIC_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACDEVANAGARI_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACFARSI_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACGURMUKHI_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACGUJARATI_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOMACHEBREW_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOTSCII_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOTAMILTTF_CID);
+NS_DEFINE_NAMED_CID(NS_CP850TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP852TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP855TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP857TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP862TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP864TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP864ITOUNICODE_CID);
+#ifdef XP_OS2
+NS_DEFINE_NAMED_CID(NS_CP869TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1125TOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_CP1131TOUNICODE_CID);
+#endif
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP850_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP852_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP855_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP857_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP862_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP864_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP864I_CID);
+#ifdef XP_OS2
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP869_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1125_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOCP1131_CID);
+#endif
+NS_DEFINE_NAMED_CID(NS_SJISTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_EUCJPTOUNICODE_CID);
+NS_DEFINE_NAMED_CID( NS_ISO2022JPTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOSJIS_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOEUCJP_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOISO2022JP_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOJISX0201_CID);
+NS_DEFINE_NAMED_CID(NS_EUCTWTOUNICODE_CID);
+NS_DEFINE_NAMED_CID(NS_UNICODETOEUCTW_CID);
+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);
+NS_DEFINE_NAMED_CID(NS_UNICODETOGB18030_CID);
+NS_DEFINE_NAMED_CID(NS_ISO2022CNTOUNICODE_CID);
 
 static const mozilla::Module::CIDEntry kUConvCIDs[] = {
   { &kNS_ICHARSETCONVERTERMANAGER_CID, false, NULL, nsCharsetConverterManagerConstructor },
   { &kNS_TEXTTOSUBURI_CID, false, NULL, nsTextToSubURIConstructor },
   { &kNS_CONVERTERINPUTSTREAM_CID, false, NULL, nsConverterInputStreamConstructor },
   { &kNS_CONVERTEROUTPUTSTREAM_CID, false, NULL, nsConverterOutputStreamConstructor },
   { &kNS_ISCRIPTABLEUNICODECONVERTER_CID, false, NULL, nsScriptableUnicodeConverterConstructor },
   { &kNS_UTF8CONVERTERSERVICE_CID, false, NULL, nsUTF8ConverterServiceConstructor },
   { &kNS_ISO88591TOUNICODE_CID, false, NULL, nsISO88591ToUnicodeConstructor },
   { &kNS_CP1252TOUNICODE_CID, false, NULL, nsCP1252ToUnicodeConstructor },
   { &kNS_MACROMANTOUNICODE_CID, false, NULL, nsMacRomanToUnicodeConstructor },
   { &kNS_UTF8TOUNICODE_CID, false, NULL, nsUTF8ToUnicodeConstructor },
   { &kNS_UNICODETOISO88591_CID, false, NULL, nsUnicodeToISO88591Constructor },
   { &kNS_UNICODETOCP1252_CID, false, NULL, nsUnicodeToCP1252Constructor },
   { &kNS_UNICODETOMACROMAN_CID, false, NULL, nsUnicodeToMacRomanConstructor },
   { &kNS_UNICODETOUTF8_CID, false, NULL, nsUnicodeToUTF8Constructor },
+  { &kNS_ASCIITOUNICODE_CID, false, NULL, nsAsciiToUnicodeConstructor },
+  { &kNS_ISO88592TOUNICODE_CID, false, NULL, nsISO88592ToUnicodeConstructor },
+  { &kNS_ISO88593TOUNICODE_CID, false, NULL, nsISO88593ToUnicodeConstructor },
+  { &kNS_ISO88594TOUNICODE_CID, false, NULL, nsISO88594ToUnicodeConstructor },
+  { &kNS_ISO88595TOUNICODE_CID, false, NULL, nsISO88595ToUnicodeConstructor },
+  { &kNS_ISO88596TOUNICODE_CID, false, NULL, nsISO88596ToUnicodeConstructor },
+  { &kNS_ISO88596ITOUNICODE_CID, false, NULL, nsISO88596IToUnicodeConstructor },
+  { &kNS_ISO88596ETOUNICODE_CID, false, NULL, nsISO88596EToUnicodeConstructor },
+  { &kNS_ISO88597TOUNICODE_CID, false, NULL, nsISO88597ToUnicodeConstructor },
+  { &kNS_ISO88598TOUNICODE_CID, false, NULL, nsISO88598ToUnicodeConstructor },
+  { &kNS_ISO88598ITOUNICODE_CID, false, NULL, nsISO88598IToUnicodeConstructor },
+  { &kNS_ISO88598ETOUNICODE_CID, false, NULL, nsISO88598EToUnicodeConstructor },
+  { &kNS_ISO88599TOUNICODE_CID, false, NULL, nsISO88599ToUnicodeConstructor },
+  { &kNS_ISO885910TOUNICODE_CID, false, NULL, nsISO885910ToUnicodeConstructor },
+  { &kNS_ISO885913TOUNICODE_CID, false, NULL, nsISO885913ToUnicodeConstructor },
+  { &kNS_ISO885914TOUNICODE_CID, false, NULL, nsISO885914ToUnicodeConstructor },
+  { &kNS_ISO885915TOUNICODE_CID, false, NULL, nsISO885915ToUnicodeConstructor },
+  { &kNS_ISO885916TOUNICODE_CID, false, NULL, nsISO885916ToUnicodeConstructor },
+  { &kNS_ISOIR111TOUNICODE_CID, false, NULL, nsISOIR111ToUnicodeConstructor },
+  { &kNS_CP1250TOUNICODE_CID, false, NULL, nsCP1250ToUnicodeConstructor },
+  { &kNS_CP1251TOUNICODE_CID, false, NULL, nsCP1251ToUnicodeConstructor },
+  { &kNS_CP1253TOUNICODE_CID, false, NULL, nsCP1253ToUnicodeConstructor },
+  { &kNS_CP1254TOUNICODE_CID, false, NULL, nsCP1254ToUnicodeConstructor },
+  { &kNS_CP1255TOUNICODE_CID, false, NULL, nsCP1255ToUnicodeConstructor },
+  { &kNS_CP1256TOUNICODE_CID, false, NULL, nsCP1256ToUnicodeConstructor },
+  { &kNS_CP1257TOUNICODE_CID, false, NULL, nsCP1257ToUnicodeConstructor },
+  { &kNS_CP1258TOUNICODE_CID, false, NULL, nsCP1258ToUnicodeConstructor },
+  { &kNS_TIS620TOUNICODE_CID, false, NULL, nsTIS620ToUnicodeConstructor },
+  { &kNS_ISO885911TOUNICODE_CID, false, NULL, nsISO885911ToUnicodeConstructor },
+  { &kNS_CP874TOUNICODE_CID, false, NULL, nsCP874ToUnicodeConstructor },
+  { &kNS_CP866TOUNICODE_CID, false, NULL, nsCP866ToUnicodeConstructor },
+  { &kNS_KOI8RTOUNICODE_CID, false, NULL, nsKOI8RToUnicodeConstructor },
+  { &kNS_KOI8UTOUNICODE_CID, false, NULL, nsKOI8UToUnicodeConstructor },
+  { &kNS_MACCETOUNICODE_CID, false, NULL, nsMacCEToUnicodeConstructor },
+  { &kNS_MACGREEKTOUNICODE_CID, false, NULL, nsMacGreekToUnicodeConstructor },
+  { &kNS_MACTURKISHTOUNICODE_CID, false, NULL, nsMacTurkishToUnicodeConstructor },
+  { &kNS_MACCROATIANTOUNICODE_CID, false, NULL, nsMacCroatianToUnicodeConstructor },
+  { &kNS_MACROMANIANTOUNICODE_CID, false, NULL, nsMacRomanianToUnicodeConstructor },
+  { &kNS_MACCYRILLICTOUNICODE_CID, false, NULL, nsMacCyrillicToUnicodeConstructor },
+  { &kNS_MACICELANDICTOUNICODE_CID, false, NULL, nsMacIcelandicToUnicodeConstructor },
+  { &kNS_GEOSTD8TOUNICODE_CID, false, NULL, nsGEOSTD8ToUnicodeConstructor },
+  { &kNS_ARMSCII8TOUNICODE_CID, false, NULL, nsARMSCII8ToUnicodeConstructor },
+  { &kNS_TCVN5712TOUNICODE_CID, false, NULL, nsTCVN5712ToUnicodeConstructor },
+  { &kNS_VISCIITOUNICODE_CID, false, NULL, nsVISCIIToUnicodeConstructor },
+  { &kNS_VPSTOUNICODE_CID, false, NULL, nsVPSToUnicodeConstructor },
+  { &kNS_UTF7TOUNICODE_CID, false, NULL, nsUTF7ToUnicodeConstructor },
+  { &kNS_MUTF7TOUNICODE_CID, false, NULL, nsMUTF7ToUnicodeConstructor },
+  { &kNS_UTF16TOUNICODE_CID, false, NULL, nsUTF16ToUnicodeConstructor },
+  { &kNS_UTF16BETOUNICODE_CID, false, NULL, nsUTF16BEToUnicodeConstructor },
+  { &kNS_UTF16LETOUNICODE_CID, false, NULL, nsUTF16LEToUnicodeConstructor },
+  { &kNS_T61TOUNICODE_CID, false, NULL, nsT61ToUnicodeConstructor },
+  { &kNS_USERDEFINEDTOUNICODE_CID, false, NULL, nsUserDefinedToUnicodeConstructor },
+  { &kNS_MACARABICTOUNICODE_CID, false, NULL, nsMacArabicToUnicodeConstructor },
+  { &kNS_MACDEVANAGARITOUNICODE_CID, false, NULL, nsMacDevanagariToUnicodeConstructor },
+  { &kNS_MACFARSITOUNICODE_CID, false, NULL, nsMacFarsiToUnicodeConstructor },
+  { &kNS_MACGURMUKHITOUNICODE_CID, false, NULL, nsMacGurmukhiToUnicodeConstructor },
+  { &kNS_MACGUJARATITOUNICODE_CID, false, NULL, nsMacGujaratiToUnicodeConstructor },
+  { &kNS_MACHEBREWTOUNICODE_CID, false, NULL, nsMacHebrewToUnicodeConstructor },
+  { &kNS_UNICODETOASCII_CID, false, NULL, nsUnicodeToAsciiConstructor },
+  { &kNS_UNICODETOISO88592_CID, false, NULL, nsUnicodeToISO88592Constructor },
+  { &kNS_UNICODETOISO88593_CID, false, NULL, nsUnicodeToISO88593Constructor },
+  { &kNS_UNICODETOISO88594_CID, false, NULL, nsUnicodeToISO88594Constructor },
+  { &kNS_UNICODETOISO88595_CID, false, NULL, nsUnicodeToISO88595Constructor },
+  { &kNS_UNICODETOISO88596_CID, false, NULL, nsUnicodeToISO88596Constructor },
+  { &kNS_UNICODETOISO88596I_CID, false, NULL, nsUnicodeToISO88596IConstructor },
+  { &kNS_UNICODETOISO88596E_CID, false, NULL, nsUnicodeToISO88596EConstructor },
+  { &kNS_UNICODETOISO88597_CID, false, NULL, nsUnicodeToISO88597Constructor },
+  { &kNS_UNICODETOISO88598_CID, false, NULL, nsUnicodeToISO88598Constructor },
+  { &kNS_UNICODETOISO88598I_CID, false, NULL, nsUnicodeToISO88598IConstructor },
+  { &kNS_UNICODETOISO88598E_CID, false, NULL, nsUnicodeToISO88598EConstructor },
+  { &kNS_UNICODETOISO88599_CID, false, NULL, nsUnicodeToISO88599Constructor },
+  { &kNS_UNICODETOISO885910_CID, false, NULL, nsUnicodeToISO885910Constructor },
+  { &kNS_UNICODETOISO885913_CID, false, NULL, nsUnicodeToISO885913Constructor },
+  { &kNS_UNICODETOISO885914_CID, false, NULL, nsUnicodeToISO885914Constructor },
+  { &kNS_UNICODETOISO885915_CID, false, NULL, nsUnicodeToISO885915Constructor },
+  { &kNS_UNICODETOISO885916_CID, false, NULL, nsUnicodeToISO885916Constructor },
+  { &kNS_UNICODETOISOIR111_CID, false, NULL, nsUnicodeToISOIR111Constructor },
+  { &kNS_UNICODETOCP1250_CID, false, NULL, nsUnicodeToCP1250Constructor },
+  { &kNS_UNICODETOCP1251_CID, false, NULL, nsUnicodeToCP1251Constructor },
+  { &kNS_UNICODETOCP1253_CID, false, NULL, nsUnicodeToCP1253Constructor },
+  { &kNS_UNICODETOCP1254_CID, false, NULL, nsUnicodeToCP1254Constructor },
+  { &kNS_UNICODETOCP1255_CID, false, NULL, nsUnicodeToCP1255Constructor },
+  { &kNS_UNICODETOCP1256_CID, false, NULL, nsUnicodeToCP1256Constructor },
+  { &kNS_UNICODETOCP1257_CID, false, NULL, nsUnicodeToCP1257Constructor },
+  { &kNS_UNICODETOCP1258_CID, false, NULL, nsUnicodeToCP1258Constructor },
+  { &kNS_UNICODETOTIS620_CID, false, NULL, nsUnicodeToTIS620Constructor },
+  { &kNS_UNICODETOISO885911_CID, false, NULL, nsUnicodeToISO885911Constructor },
+  { &kNS_UNICODETOCP874_CID, false, NULL, nsUnicodeToCP874Constructor },
+  { &kNS_UNICODETOCP866_CID, false, NULL, nsUnicodeToCP866Constructor },
+  { &kNS_UNICODETOKOI8R_CID, false, NULL, nsUnicodeToKOI8RConstructor },
+  { &kNS_UNICODETOKOI8U_CID, false, NULL, nsUnicodeToKOI8UConstructor },
+  { &kNS_UNICODETOMACCE_CID, false, NULL, nsUnicodeToMacCEConstructor },
+  { &kNS_UNICODETOMACGREEK_CID, false, NULL, nsUnicodeToMacGreekConstructor },
+  { &kNS_UNICODETOMACTURKISH_CID, false, NULL, nsUnicodeToMacTurkishConstructor },
+  { &kNS_UNICODETOMACCROATIAN_CID, false, NULL, nsUnicodeToMacCroatianConstructor },
+  { &kNS_UNICODETOMACROMANIAN_CID, false, NULL, nsUnicodeToMacRomanianConstructor },
+  { &kNS_UNICODETOMACCYRILLIC_CID, false, NULL, nsUnicodeToMacCyrillicConstructor },
+  { &kNS_UNICODETOMACICELANDIC_CID, false, NULL, nsUnicodeToMacIcelandicConstructor },
+  { &kNS_UNICODETOGEOSTD8_CID, false, NULL, nsUnicodeToGEOSTD8Constructor },
+  { &kNS_UNICODETOARMSCII8_CID, false, NULL, nsUnicodeToARMSCII8Constructor },
+  { &kNS_UNICODETOTCVN5712_CID, false, NULL, nsUnicodeToTCVN5712Constructor },
+  { &kNS_UNICODETOVISCII_CID, false, NULL, nsUnicodeToVISCIIConstructor },
+  { &kNS_UNICODETOVPS_CID, false, NULL, nsUnicodeToVPSConstructor },
+  { &kNS_UNICODETOUTF7_CID, false, NULL, nsUnicodeToUTF7Constructor },
+  { &kNS_UNICODETOMUTF7_CID, false, NULL, nsUnicodeToMUTF7Constructor },
+  { &kNS_UNICODETOUTF16BE_CID, false, NULL, nsUnicodeToUTF16BEConstructor },
+  { &kNS_UNICODETOUTF16LE_CID, false, NULL, nsUnicodeToUTF16LEConstructor },
+  { &kNS_UNICODETOUTF16_CID, false, NULL, nsUnicodeToUTF16Constructor },
+  { &kNS_UNICODETOT61_CID, false, NULL, nsUnicodeToT61Constructor },
+  { &kNS_UNICODETOUSERDEFINED_CID, false, NULL, nsUnicodeToUserDefinedConstructor },
+  { &kNS_UNICODETOSYMBOL_CID, false, NULL, nsUnicodeToSymbolConstructor },
+  { &kNS_UNICODETOZAPFDINGBATS_CID, false, NULL, nsUnicodeToZapfDingbatConstructor },
+  { &kNS_UNICODETOADOBEEURO_CID, false, NULL, nsUnicodeToAdobeEuroConstructor },
+  { &kNS_UNICODETOMACARABIC_CID, false, NULL, nsUnicodeToMacArabicConstructor },
+  { &kNS_UNICODETOMACDEVANAGARI_CID, false, NULL, nsUnicodeToMacDevanagariConstructor },
+  { &kNS_UNICODETOMACFARSI_CID, false, NULL, nsUnicodeToMacFarsiConstructor },
+  { &kNS_UNICODETOMACGURMUKHI_CID, false, NULL, nsUnicodeToMacGurmukhiConstructor },
+  { &kNS_UNICODETOMACGUJARATI_CID, false, NULL, nsUnicodeToMacGujaratiConstructor },
+  { &kNS_UNICODETOMACHEBREW_CID, false, NULL, nsUnicodeToMacHebrewConstructor },
+  { &kNS_UNICODETOTSCII_CID, false, NULL, nsUnicodeToTSCIIConstructor },
+  { &kNS_UNICODETOTAMILTTF_CID, false, NULL, nsUnicodeToTamilTTFConstructor },
+  { &kNS_CP850TOUNICODE_CID, false, NULL, nsCP850ToUnicodeConstructor },
+  { &kNS_CP852TOUNICODE_CID, false, NULL, nsCP852ToUnicodeConstructor },
+  { &kNS_CP855TOUNICODE_CID, false, NULL, nsCP855ToUnicodeConstructor },
+  { &kNS_CP857TOUNICODE_CID, false, NULL, nsCP857ToUnicodeConstructor },
+  { &kNS_CP862TOUNICODE_CID, false, NULL, nsCP862ToUnicodeConstructor },
+  { &kNS_CP864TOUNICODE_CID, false, NULL, nsCP864ToUnicodeConstructor },
+  { &kNS_CP864ITOUNICODE_CID, false, NULL, nsCP864iToUnicodeConstructor },
+#ifdef XP_OS2
+  { &kNS_CP869TOUNICODE_CID, false, NULL, nsCP869ToUnicodeConstructor },
+  { &kNS_CP1125TOUNICODE_CID, false, NULL, nsCP1125ToUnicodeConstructor },
+  { &kNS_CP1131TOUNICODE_CID, false, NULL, nsCP1131ToUnicodeConstructor },
+#endif
+  { &kNS_UNICODETOCP850_CID, false, NULL, nsUnicodeToCP850Constructor },
+  { &kNS_UNICODETOCP852_CID, false, NULL, nsUnicodeToCP852Constructor },
+  { &kNS_UNICODETOCP855_CID, false, NULL, nsUnicodeToCP855Constructor },
+  { &kNS_UNICODETOCP857_CID, false, NULL, nsUnicodeToCP857Constructor },
+  { &kNS_UNICODETOCP862_CID, false, NULL, nsUnicodeToCP862Constructor },
+  { &kNS_UNICODETOCP864_CID, false, NULL, nsUnicodeToCP864Constructor },
+  { &kNS_UNICODETOCP864I_CID, false, NULL, nsUnicodeToCP864iConstructor },
+#ifdef XP_OS2
+  { &kNS_UNICODETOCP869_CID, false, NULL, nsUnicodeToCP869Constructor },
+  { &kNS_UNICODETOCP1125_CID, false, NULL, nsUnicodeToCP1125Constructor },
+  { &kNS_UNICODETOCP1131_CID, false, NULL, nsUnicodeToCP1131Constructor },
+#endif
+  { &kNS_SJISTOUNICODE_CID, false, NULL, nsShiftJISToUnicodeConstructor },
+  { &kNS_EUCJPTOUNICODE_CID, false, NULL, nsEUCJPToUnicodeV2Constructor },
+  { &kNS_ISO2022JPTOUNICODE_CID, false, NULL, nsISO2022JPToUnicodeV2Constructor },
+  { &kNS_UNICODETOSJIS_CID, false, NULL, nsUnicodeToSJISConstructor },
+  { &kNS_UNICODETOEUCJP_CID, false, NULL, nsUnicodeToEUCJPConstructor },
+  { &kNS_UNICODETOISO2022JP_CID, false, NULL, nsUnicodeToISO2022JPConstructor },
+  { &kNS_UNICODETOJISX0201_CID, false, NULL, nsUnicodeToJISx0201Constructor },
+  { &kNS_EUCTWTOUNICODE_CID, false, NULL, nsEUCTWToUnicodeConstructor },
+  { &kNS_UNICODETOEUCTW_CID, false, NULL, nsUnicodeToEUCTWConstructor },
+  { &kNS_UNICODETOBIG5_CID, false, NULL, nsUnicodeToBIG5Constructor },
+  { &kNS_BIG5TOUNICODE_CID, false, NULL, nsBIG5ToUnicodeConstructor },
+  { &kNS_UNICODETOBIG5HKSCS_CID, false, NULL, nsUnicodeToBIG5HKSCSConstructor },
+  { &kNS_UNICODETOHKSCS_CID, false, NULL, nsUnicodeToHKSCSConstructor },
+  { &kNS_BIG5HKSCSTOUNICODE_CID, false, NULL, nsBIG5HKSCSToUnicodeConstructor },
+  { &kNS_EUCKRTOUNICODE_CID, false, NULL, nsEUCKRToUnicodeConstructor },
+  { &kNS_UNICODETOEUCKR_CID, false, NULL, nsUnicodeToEUCKRConstructor },
+  { &kNS_JOHABTOUNICODE_CID, false, NULL, nsJohabToUnicodeConstructor },
+  { &kNS_UNICODETOJOHAB_CID, false, NULL, nsUnicodeToJohabConstructor },
+  { &kNS_CP949TOUNICODE_CID, false, NULL, nsCP949ToUnicodeConstructor },
+  { &kNS_UNICODETOCP949_CID, false, NULL, nsUnicodeToCP949Constructor },
+  { &kNS_ISO2022KRTOUNICODE_CID, false, NULL, nsISO2022KRToUnicodeConstructor },
+  { &kNS_GB2312TOUNICODE_CID, false, NULL, nsGB2312ToUnicodeV2Constructor },
+  { &kNS_UNICODETOGB2312_CID, false, NULL, nsUnicodeToGB2312V2Constructor },
+  { &kNS_GBKTOUNICODE_CID, false, NULL, nsGBKToUnicodeConstructor },
+  { &kNS_UNICODETOGBK_CID, false, NULL, nsUnicodeToGBKConstructor },
+  { &kNS_HZTOUNICODE_CID, false, NULL, nsHZToUnicodeConstructor },
+  { &kNS_UNICODETOHZ_CID, false, NULL, nsUnicodeToHZConstructor },
+  { &kNS_GB18030TOUNICODE_CID, false, NULL, nsGB18030ToUnicodeConstructor },
+  { &kNS_UNICODETOGB18030_CID, false, NULL, nsUnicodeToGB18030Constructor },
+  { &kNS_ISO2022CNTOUNICODE_CID, false, NULL, nsISO2022CNToUnicodeConstructor },
   { NULL },
 };
 
 static const mozilla::Module::ContractIDEntry kUConvContracts[] = {
   { NS_CHARSETCONVERTERMANAGER_CONTRACTID, &kNS_ICHARSETCONVERTERMANAGER_CID },
   { NS_ITEXTTOSUBURI_CONTRACTID, &kNS_TEXTTOSUBURI_CID },
   { NS_CONVERTERINPUTSTREAM_CONTRACTID, &kNS_CONVERTERINPUTSTREAM_CID },
   { "@mozilla.org/intl/converter-output-stream;1", &kNS_CONVERTEROUTPUTSTREAM_CID },
@@ -140,16 +955,191 @@ static const mozilla::Module::ContractID
   { NS_ISO88591TOUNICODE_CONTRACTID, &kNS_ISO88591TOUNICODE_CID },
   { NS_CP1252TOUNICODE_CONTRACTID, &kNS_CP1252TOUNICODE_CID },
   { NS_MACROMANTOUNICODE_CONTRACTID, &kNS_MACROMANTOUNICODE_CID },
   { NS_UTF8TOUNICODE_CONTRACTID, &kNS_UTF8TOUNICODE_CID },
   { NS_UNICODETOISO88591_CONTRACTID, &kNS_UNICODETOISO88591_CID },
   { NS_UNICODETOCP1252_CONTRACTID, &kNS_UNICODETOCP1252_CID },
   { NS_UNICODETOMACROMAN_CONTRACTID, &kNS_UNICODETOMACROMAN_CID },
   { NS_UNICODETOUTF8_CONTRACTID, &kNS_UNICODETOUTF8_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "us-ascii", &kNS_ASCIITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-2", &kNS_ISO88592TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-3", &kNS_ISO88593TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-4", &kNS_ISO88594TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-5", &kNS_ISO88595TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6", &kNS_ISO88596TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_ISO88596ITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_ISO88596ETOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-7", &kNS_ISO88597TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8", &kNS_ISO88598TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_ISO88598ITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_ISO88598ETOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-9", &kNS_ISO88599TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-10", &kNS_ISO885910TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-13", &kNS_ISO885913TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-14", &kNS_ISO885914TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-15", &kNS_ISO885915TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-16", &kNS_ISO885916TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-IR-111", &kNS_ISOIR111TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1250", &kNS_CP1250TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1251", &kNS_CP1251TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1253", &kNS_CP1253TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1254", &kNS_CP1254TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1255", &kNS_CP1255TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1256", &kNS_CP1256TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1257", &kNS_CP1257TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-1258", &kNS_CP1258TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "TIS-620", &kNS_TIS620TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-8859-11", &kNS_ISO885911TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "windows-874", &kNS_CP874TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM866", &kNS_CP866TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-R", &kNS_KOI8RTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "KOI8-U", &kNS_KOI8UTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-ce", &kNS_MACCETOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-greek", &kNS_MACGREEKTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-turkish", &kNS_MACTURKISHTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-croatian", &kNS_MACCROATIANTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-romanian", &kNS_MACROMANIANTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_MACCYRILLICTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_MACICELANDICTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "GEOSTD8", &kNS_GEOSTD8TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "armscii-8", &kNS_ARMSCII8TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_TCVN5712TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "VISCII", &kNS_VISCIITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-viet-vps", &kNS_VPSTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-7", &kNS_UTF7TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-imap4-modified-utf7", &kNS_MUTF7TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16", &kNS_UTF16TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16BE", &kNS_UTF16BETOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "UTF-16LE", &kNS_UTF16LETOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "T.61-8bit", &kNS_T61TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-user-defined", &kNS_USERDEFINEDTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-arabic", &kNS_MACARABICTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_MACDEVANAGARITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-farsi", &kNS_MACFARSITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_MACGURMUKHITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_MACGUJARATITOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_MACHEBREWTOUNICODE_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "us-ascii", &kNS_UNICODETOASCII_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-2", &kNS_UNICODETOISO88592_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-3", &kNS_UNICODETOISO88593_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-4", &kNS_UNICODETOISO88594_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-5", &kNS_UNICODETOISO88595_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6", &kNS_UNICODETOISO88596_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-I", &kNS_UNICODETOISO88596I_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-6-E", &kNS_UNICODETOISO88596E_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-7", &kNS_UNICODETOISO88597_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8", &kNS_UNICODETOISO88598_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-I", &kNS_UNICODETOISO88598I_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-8-E", &kNS_UNICODETOISO88598E_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-9", &kNS_UNICODETOISO88599_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-10", &kNS_UNICODETOISO885910_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-13", &kNS_UNICODETOISO885913_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-14", &kNS_UNICODETOISO885914_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-15", &kNS_UNICODETOISO885915_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-16", &kNS_UNICODETOISO885916_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-IR-111", &kNS_UNICODETOISOIR111_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1250", &kNS_UNICODETOCP1250_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1251", &kNS_UNICODETOCP1251_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1253", &kNS_UNICODETOCP1253_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1254", &kNS_UNICODETOCP1254_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1255", &kNS_UNICODETOCP1255_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1256", &kNS_UNICODETOCP1256_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1257", &kNS_UNICODETOCP1257_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-1258", &kNS_UNICODETOCP1258_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "TIS-620", &kNS_UNICODETOTIS620_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-8859-11", &kNS_UNICODETOISO885911_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "windows-874", &kNS_UNICODETOCP874_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM866", &kNS_UNICODETOCP866_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-R", &kNS_UNICODETOKOI8R_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "KOI8-U", &kNS_UNICODETOKOI8U_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-ce", &kNS_UNICODETOMACCE_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-greek", &kNS_UNICODETOMACGREEK_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-turkish", &kNS_UNICODETOMACTURKISH_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-croatian", &kNS_UNICODETOMACCROATIAN_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-romanian", &kNS_UNICODETOMACROMANIAN_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-cyrillic", &kNS_UNICODETOMACCYRILLIC_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-icelandic", &kNS_UNICODETOMACICELANDIC_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "GEOSTD8", &kNS_UNICODETOGEOSTD8_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "armscii-8", &kNS_UNICODETOARMSCII8_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-tcvn5712", &kNS_UNICODETOTCVN5712_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "VISCII", &kNS_UNICODETOVISCII_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-viet-vps", &kNS_UNICODETOVPS_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-7", &kNS_UNICODETOUTF7_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-imap4-modified-utf7", &kNS_UNICODETOMUTF7_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16BE", &kNS_UNICODETOUTF16BE_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16LE", &kNS_UNICODETOUTF16LE_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "UTF-16", &kNS_UNICODETOUTF16_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "T.61-8bit", &kNS_UNICODETOT61_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-user-defined", &kNS_UNICODETOUSERDEFINED_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "Adobe-Symbol-Encoding", &kNS_UNICODETOSYMBOL_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-zapf-dingbats", &kNS_UNICODETOZAPFDINGBATS_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-adobe-euro", &kNS_UNICODETOADOBEEURO_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-arabic", &kNS_UNICODETOMACARABIC_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-devanagari", &kNS_UNICODETOMACDEVANAGARI_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-farsi", &kNS_UNICODETOMACFARSI_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gurmukhi", &kNS_UNICODETOMACGURMUKHI_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-gujarati", &kNS_UNICODETOMACGUJARATI_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-mac-hebrew", &kNS_UNICODETOMACHEBREW_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-tscii", &kNS_UNICODETOTSCII_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-tamilttf-0", &kNS_UNICODETOTAMILTTF_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM850", &kNS_CP850TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM852", &kNS_CP852TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM855", &kNS_CP855TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM857", &kNS_CP857TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM862", &kNS_CP862TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM864", &kNS_CP864TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM864i", &kNS_CP864ITOUNICODE_CID },
+#ifdef XP_OS2
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM869", &kNS_CP869TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM1125", &kNS_CP1125TOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "IBM1131", &kNS_CP1131TOUNICODE_CID },
+#endif
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM850", &kNS_UNICODETOCP850_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM852", &kNS_UNICODETOCP852_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM855", &kNS_UNICODETOCP855_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM857", &kNS_UNICODETOCP857_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM862", &kNS_UNICODETOCP862_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM864", &kNS_UNICODETOCP864_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM864i", &kNS_UNICODETOCP864I_CID },
+#ifdef XP_OS2
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM869", &kNS_UNICODETOCP869_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM1125", &kNS_UNICODETOCP1125_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "IBM1131", &kNS_UNICODETOCP1131_CID },
+#endif
+  { NS_UNICODEDECODER_CONTRACTID_BASE "Shift_JIS", &kNS_SJISTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "EUC-JP", &kNS_EUCJPTOUNICODE_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_ISO2022JPTOUNICODE_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "Shift_JIS", &kNS_UNICODETOSJIS_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "EUC-JP", &kNS_UNICODETOEUCJP_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "ISO-2022-JP", &kNS_UNICODETOISO2022JP_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "jis_0201", &kNS_UNICODETOJISX0201_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "x-euc-tw", &kNS_EUCTWTOUNICODE_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "x-euc-tw", &kNS_UNICODETOEUCTW_CID },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "Big5", &kNS_UNICODETOBIG5_CID },
+  { 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 },
+  { NS_UNICODEENCODER_CONTRACTID_BASE "gb18030", &kNS_UNICODETOGB18030_CID },
+  { NS_UNICODEDECODER_CONTRACTID_BASE "ISO-2022-CN", &kNS_ISO2022CNTOUNICODE_CID },
   { NULL }
 };
 
 static const mozilla::Module kUConvModule = {
   mozilla::Module::kVersion,
   kUConvCIDs,
   kUConvContracts,
   kUConvCategories
--- a/intl/uconv/ucvcn/Makefile.in
+++ b/intl/uconv/ucvcn/Makefile.in
@@ -40,19 +40,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvcn
 LIBRARY_NAME	= ucvcn_s
 FORCE_STATIC_LIB=1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
+
 
 CPPSRCS		= \
 		nsGB2312ToUnicodeV2.cpp \
 		nsUnicodeToGB2312V2.cpp \
 		nsGBKToUnicode.cpp \
 		nsUnicodeToGBK.cpp \
 		nsISO2022CNToUnicode.cpp \
 		nsUnicodeToISO2022CN.cpp \
--- a/intl/uconv/ucvcn/nsISO2022CNToUnicode.cpp
+++ b/intl/uconv/ucvcn/nsISO2022CNToUnicode.cpp
@@ -34,17 +34,16 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 #include "nsISO2022CNToUnicode.h"
 #include "nsUCSupport.h"
 #include "nsICharsetConverterManager.h"
 #include "nsIServiceManager.h"
-#include "nsServiceManagerUtils.h"
 
 static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
 
 NS_IMETHODIMP nsISO2022CNToUnicode::GB2312_To_Unicode(unsigned char *aSrc, PRInt32 aSrcLength, PRUnichar * aDest, PRInt32 * aDestLength)
 {
     nsresult rv;
 
     if(!mGB2312_Decoder) {
--- a/intl/uconv/ucvibm/Makefile.in
+++ b/intl/uconv/ucvibm/Makefile.in
@@ -41,19 +41,17 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvibm
 LIBRARY_NAME	= ucvibm_s
 FORCE_STATIC_LIB = 1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
 
 
 CPPSRCS		= \
 		nsCP850ToUnicode.cpp \
 		nsCP852ToUnicode.cpp \
 		nsCP855ToUnicode.cpp \
 		nsCP857ToUnicode.cpp \
 		nsCP862ToUnicode.cpp \
--- a/intl/uconv/ucvja/Makefile.in
+++ b/intl/uconv/ucvja/Makefile.in
@@ -41,19 +41,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvja
 LIBRARY_NAME	= ucvja_s
 FORCE_STATIC_LIB = 1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
+
 
 CPPSRCS		= \
 		nsJapaneseToUnicode.cpp \
 		nsUnicodeToSJIS.cpp \
 		nsUnicodeToEUCJP.cpp \
 		nsUnicodeToISO2022JP.cpp \
 		nsUnicodeToJISx0201.cpp \
 		$(NULL)
--- a/intl/uconv/ucvja/nsJapaneseToUnicode.cpp
+++ b/intl/uconv/ucvja/nsJapaneseToUnicode.cpp
@@ -37,17 +37,16 @@
 #include "nsJapaneseToUnicode.h"
 
 #include "nsUCSupport.h"
 
 #include "japanese.map"
 
 #include "nsICharsetConverterManager.h"
 #include "nsIServiceManager.h"
-#include "nsServiceManagerUtils.h"
 static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
 
 #ifdef XP_OS2
   // HTML5-incompliant behavior for OS/2, see bug 108136
   // This is bogus. The right fix would be working around the font problems
   // in OS/2 gfx, since this "fix" introduces script-visible DOM differences
   // between the platforms.
   #define SJIS_INDEX gIBM943Index[0]
--- a/intl/uconv/ucvko/Makefile.in
+++ b/intl/uconv/ucvko/Makefile.in
@@ -40,19 +40,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvko
 LIBRARY_NAME	= ucvko_s
 FORCE_STATIC_LIB=1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
+
 
 CPPSRCS		= \
 		nsEUCKRToUnicode.cpp \
 		nsUnicodeToEUCKR.cpp \
 		nsISO2022KRToUnicode.cpp \
 		nsCP949ToUnicode.cpp \
 		nsUnicodeToCP949.cpp \
 		nsUnicodeToJohab.cpp \
--- a/intl/uconv/ucvko/nsISO2022KRToUnicode.cpp
+++ b/intl/uconv/ucvko/nsISO2022KRToUnicode.cpp
@@ -34,17 +34,16 @@
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 #include "nsISO2022KRToUnicode.h"
 #include "nsUCSupport.h"
 #include "nsICharsetConverterManager.h"
 #include "nsIServiceManager.h"
-#include "nsServiceManagerUtils.h"
 
 static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID);
 
 NS_IMETHODIMP nsISO2022KRToUnicode::Convert(const char * aSrc, PRInt32 * aSrcLen, PRUnichar * aDest, PRInt32 * aDestLen)
 {
   const unsigned char* srcEnd = (unsigned char*)aSrc + *aSrcLen;
   const unsigned char* src =(unsigned char*) aSrc;
   PRUnichar* destEnd = aDest + *aDestLen;
--- a/intl/uconv/ucvlatin/Makefile.in
+++ b/intl/uconv/ucvlatin/Makefile.in
@@ -40,19 +40,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvlatin
 LIBRARY_NAME	= ucvlatin_s
 FORCE_STATIC_LIB = 1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
+
 
 CPPSRCS		= \
 		nsAsciiToUnicode.cpp \
 		nsISO88592ToUnicode.cpp \
 		nsISO88593ToUnicode.cpp \
 		nsISO88594ToUnicode.cpp \
 		nsISO88595ToUnicode.cpp \
 		nsISO88596ToUnicode.cpp \
--- a/intl/uconv/ucvtw/Makefile.in
+++ b/intl/uconv/ucvtw/Makefile.in
@@ -40,19 +40,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvtw
 LIBRARY_NAME	= ucvtw_s
 FORCE_STATIC_LIB=1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
+
 
 CPPSRCS		= \
 		nsBIG5ToUnicode.cpp \
 		nsUnicodeToBIG5.cpp \
 		nsBIG5HKSCSToUnicode.cpp \
 		nsUnicodeToBIG5HKSCS.cpp \
 		nsUnicodeToHKSCS.cpp \
 		$(NULL)
--- a/intl/uconv/ucvtw2/Makefile.in
+++ b/intl/uconv/ucvtw2/Makefile.in
@@ -40,19 +40,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= ucvtw2
 LIBRARY_NAME	= ucvtw2_s
 FORCE_STATIC_LIB=1
-ifneq (WINNT,$(OS_TARGET))
 LIBXUL_LIBRARY = 1
-endif
+
 
 CPPSRCS		= \
 		nsEUCTWToUnicode.cpp \
 		nsUnicodeToEUCTW.cpp \
 		$(NULL)
 
 #SHARED_LIBRARY_LIBS = $(DIST)/lib/$(LIB_PREFIX)ucvutil_s.$(LIB_SUFFIX)
 
--- a/intl/uconv/util/Makefile.in
+++ b/intl/uconv/util/Makefile.in
@@ -37,22 +37,31 @@
 
 DEPTH		= ../../..
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-DIRS = external
-
 MODULE		= uconv
 LIBRARY_NAME	= ucvutil_s
 EXPORT_LIBRARY = 1
 FORCE_STATIC_LIB = 1
 LIBXUL_LIBRARY = 1
 
 MODULE_NAME	= nsUCUtil
 
-include $(srcdir)/objs.mk
+CSRCS		= \
+		ugen.c \
+		uscan.c \
+		umap.c \
+		$(NULL)
+
+CPPSRCS		= \
+		nsUCSupport.cpp \
+		nsUCConstructors.cpp \
+		nsUnicodeDecodeHelper.cpp \
+		nsUnicodeEncodeHelper.cpp \
+		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
deleted file mode 100644
--- a/intl/uconv/util/external/Makefile.in
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is mozilla.org code.
-#
-# The Initial Developer of the Original Code is
-# Netscape Communications Corporation.
-# Portions created by the Initial Developer are Copyright (C) 1998
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either of the GNU General Public License Version 2 or later (the "GPL"),
-# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../../../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE		= uconv
-LIBRARY_NAME	= ucvxutil_s
-EXPORT_LIBRARY = 1
-FORCE_STATIC_LIB = 1
-
-MODULE_NAME	= nsExternalUCUtil
-
-VPATH += $(srcdir)/..
-
-include $(srcdir)/../objs.mk
-
-include $(topsrcdir)/config/rules.mk
-
deleted file mode 100644
--- a/intl/uconv/util/objs.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-CSRCS		= \
-		ugen.c \
-		uscan.c \
-		umap.c \
-		$(NULL)
-
-CPPSRCS		= \
-		nsUCSupport.cpp \
-		nsUCConstructors.cpp \
-		nsUnicodeDecodeHelper.cpp \
-		nsUnicodeEncodeHelper.cpp \
-		$(NULL)
--- a/testing/xpcshell/runxpcshelltests.py
+++ b/testing/xpcshell/runxpcshelltests.py
@@ -307,17 +307,16 @@ class XPCShellTests(object):
     return leakLogFile
 
   def launchProcess(self, cmd, stdout, stderr, env, cwd):
     """
       Simple wrapper to launch a process.
       On a remote system, this is more complex and we need to overload this function.
     """
     cmd = wrapCommand(cmd)
-    print cmd
     proc = Popen(cmd, stdout=stdout, stderr=stderr, 
                 env=env, cwd=cwd)
     return proc
 
   def communicate(self, proc):
     """
       Simple wrapper to communicate with a process.
       On a remote system, this is overloaded to handle remote process communication.
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
@@ -195,22 +195,16 @@ COMPONENT_LIBS += \
   jetpack_s \
   telemetry \
   jsdebugger \
   storagecomps \
   rdf \
   windowds \
   $(NULL)
 
-ifneq (WINNT,$(OS_ARCH))
-COMPONENT_LIBS += \
-  uconvd \
-  $(NULL)
-endif
-
 ifdef BUILD_CTYPES
 COMPONENT_LIBS += \
   jsctypes \
   $(NULL)
 endif
 
 COMPONENT_LIBS += \
   jsperf \
--- a/toolkit/library/nsStaticXULComponents.cpp
+++ b/toolkit/library/nsStaticXULComponents.cpp
@@ -200,25 +200,18 @@
 #if defined(MOZ_APP_COMPONENT_INCLUDE)
 #include MOZ_APP_COMPONENT_INCLUDE
 #define MOZ_APP_COMPONENT_MODULES APP_COMPONENT_MODULES
 #else
 #define MOZ_APP_COMPONENT_MODULES
 #endif
 #endif
 
-#ifdef XP_WIN
-#define UCONV_DATA_MODULE
-#else
-#define UCONV_DATA_MODULE MODULE(nsUConvDataModule)
-#endif
-
 #define XUL_MODULES                          \
     MODULE(nsUConvModule)                    \
-    UCONV_DATA_MODULE                        \
     MODULE(nsI18nModule)                     \
     MODULE(nsChardetModule)                  \
     UNIVERSALCHARDET_MODULE                  \
     MODULE(necko)                            \
     PERMISSIONS_MODULES                      \
     AUTH_MODULE                              \
     MODULE(nsJarModule)                      \
     ZIPWRITER_MODULE                         \
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -232,28 +232,20 @@ ifdef APP_LIBXUL_STATICDIRS
 tier_platform_staticdirs += $(APP_LIBXUL_STATICDIRS)
 endif
 ifdef APP_LIBXUL_DIRS
 # Applications can cheat and ask for code to be
 # built before libxul so it can be linked into libxul.
 tier_platform_dirs += $(APP_LIBXUL_DIRS)
 endif
 
-ifneq (WINNT,$(OS_ARCH))
-tier_platform_dirs += intl/uconv/datamodule
-endif
-
 tier_platform_dirs += toolkit/library
 
 tier_platform_dirs += xpcom/stub
 
-ifeq (WINNT,$(OS_ARCH))
-tier_platform_dirs += intl/uconv/datamodule
-endif
-
 ifdef NS_TRACE_MALLOC
 tier_platform_dirs += tools/trace-malloc
 endif
 
 ifdef MOZ_ENABLE_GNOME_COMPONENT
 tier_platform_dirs    += toolkit/system/gnome
 endif
 
--- a/xpcom/build/nsXPCOM.h
+++ b/xpcom/build/nsXPCOM.h
@@ -62,17 +62,16 @@
 # define NS_LogCtor                  NS_LogCtor_P
 # define NS_LogDtor                  NS_LogDtor_P
 # define NS_LogCOMPtrAddRef          NS_LogCOMPtrAddRef_P
 # define NS_LogCOMPtrRelease         NS_LogCOMPtrRelease_P
 # define NS_CycleCollectorSuspect    NS_CycleCollectorSuspect_P
 # define NS_CycleCollectorForget     NS_CycleCollectorForget_P
 # define NS_CycleCollectorSuspect2   NS_CycleCollectorSuspect2_P
 # define NS_CycleCollectorForget2    NS_CycleCollectorForget2_P
-# define NS_IsCycleCollectorThread   NS_IsCycleCollectorThread_P
 #endif
 
 #include "nscore.h"
 #include "nsXPCOMCID.h"
 
 #ifdef __cplusplus
 #define DECL_CLASS(c) class c
 #define DECL_STRUCT(c) struct c
@@ -400,19 +399,16 @@ XPCOM_API(bool)
 NS_CycleCollectorForget(nsISupports *n);
 
 XPCOM_API(nsPurpleBufferEntry*)
 NS_CycleCollectorSuspect2(nsISupports *n);
 
 XPCOM_API(bool)
 NS_CycleCollectorForget2(nsPurpleBufferEntry *e);
 
-XPCOM_API(bool)
-NS_IsCycleCollectorThread();
-
 #endif
 
 /**
  * Categories (in the category manager service) used by XPCOM:
  */
 
 /**
  * A category which is read after component registration but before
--- a/xpcom/glue/BlockingResourceBase.h
+++ b/xpcom/glue/BlockingResourceBase.h
@@ -340,30 +340,27 @@ private:
     static PRStatus InitStatics() {
         PR_NewThreadPrivateIndex(&sResourceAcqnChainFrontTPI, 0);
         sDeadlockDetector = new DDT();
         if (!sDeadlockDetector)
             NS_RUNTIMEABORT("can't allocate deadlock detector");
         return PR_SUCCESS;
     }
 
-public:
     /**
      * Shutdown
      * Free static members.
      *
      * *NOT* thread safe.
      */
     static void Shutdown() {
         delete sDeadlockDetector;
         sDeadlockDetector = 0;
     }
 
-private:
-
 #  ifdef MOZILLA_INTERNAL_API
     // so it can call BlockingResourceBase::Shutdown()
     friend void LogTerm();
 #  endif  // ifdef MOZILLA_INTERNAL_API
 
 #else  // non-DEBUG implementation
 
     BlockingResourceBase(const char* aName, BlockingResourceType aType)
--- a/xpcom/glue/DeadlockDetector.h
+++ b/xpcom/glue/DeadlockDetector.h
@@ -220,21 +220,19 @@ private:
      * quality of error messages when potential deadlock is detected.
      */
     struct OrderingEntry
     {
         OrderingEntry() :
             mFirstSeen(CallStack::kNone),
             mOrderedLT()        // FIXME bug 456272: set to empirical
         {                       // dep size?
-          MOZ_COUNT_CTOR(OrderingEntry);
         }
         ~OrderingEntry()
         {
-          MOZ_COUNT_DTOR(OrderingEntry);
         }
 
         CallStack mFirstSeen; // first site from which the resource appeared
         HashEntryArray mOrderedLT; // this <_o Other
     };
 
     static void* TableAlloc(void* /*pool*/, PRSize size)
     {
@@ -364,29 +362,27 @@ public:
                                     PL_CompareValues, PL_CompareValues,
                                     &kAllocOps, 0);
         if (!mOrdering)
             NS_RUNTIMEABORT("couldn't initialize resource ordering table");
 
         mLock = PR_NewLock();
         if (!mLock)
             NS_RUNTIMEABORT("couldn't allocate deadlock detector lock");
-        MOZ_COUNT_CTOR(DeadlockDetector);
     }
 
     /**
      * ~DeadlockDetector
      *
      * *NOT* thread safe.
      */
     ~DeadlockDetector()
     {
         PL_HashTableDestroy(mOrdering);
         PR_DestroyLock(mLock);
-        MOZ_COUNT_DTOR(DeadlockDetector);
     }
 
     /**
      * Add
      * Make the deadlock detector aware of |aResource|.
      *
      * WARNING: The deadlock detector owns |aResource|.
      *
--- a/xpcom/glue/nsCycleCollectorUtils.h
+++ b/xpcom/glue/nsCycleCollectorUtils.h
@@ -35,26 +35,27 @@
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsCycleCollectorUtils_h__
 #define nsCycleCollectorUtils_h__
 
 #include "nscore.h"
 #include "mozilla/threads/nsThreadIDs.h"
 
-#if defined(MOZILLA_INTERNAL_API) && !defined(XPCOM_MAKING_STUB)
+#if defined(MOZILLA_INTERNAL_API)
+#define NS_IsCycleCollectorThread NS_IsCycleCollectorThread_P
 #if defined(XP_WIN)
-XPCOM_API(bool) NS_IsCycleCollectorThread();
+bool NS_IsCycleCollectorThread();
 #elif defined(NS_TLS)
 // Defined in nsThreadManager.cpp.
 extern NS_TLS mozilla::threads::ID gTLSThreadID;
 inline bool NS_IsCycleCollectorThread()
 {
   return gTLSThreadID == mozilla::threads::CycleCollector;
 }
 #else
-XPCOM_API(bool) NS_IsCycleCollectorThread();
+NS_COM_GLUE bool NS_IsCycleCollectorThread();
 #endif
 #else
-XPCOM_API(bool) NS_IsCycleCollectorThread();
+NS_COM_GLUE bool NS_IsCycleCollectorThread();
 #endif
 
 #endif /* nsCycleCollectorUtils_h__ */
--- a/xpcom/stub/nsXPComStub.cpp
+++ b/xpcom/stub/nsXPComStub.cpp
@@ -30,18 +30,16 @@
  * use your version of this file under the terms of the MPL, indicate your
  * decision by deleting the provisions above and replace them with the notice
  * and other provisions required by the GPL or the LGPL. If you do not delete
  * the provisions above, a recipient may use your version of this file under
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
 
-#define XPCOM_MAKING_STUB
-
 #include "nsXPCOM.h"
 #include "nsXPCOMPrivate.h"
 #include "nsXPCOMStrings.h"
 #include "xptcall.h"
 
 #include <string.h>
 
 /**
@@ -556,17 +554,8 @@ NS_CycleCollectorSuspect2(nsISupports* o
 }
 
 #undef NS_CycleCollectorForget2
 EXPORT_XPCOM_API(bool)
 NS_CycleCollectorForget2(nsPurpleBufferEntry* e)
 {
   return NS_CycleCollectorForget2_P(e);
 }
-
-#ifdef XP_WIN
-#undef NS_IsCycleCollectorThread
-EXPORT_XPCOM_API(bool)
-NS_IsCycleCollectorThread()
-{
-  return NS_IsCycleCollectorThread_P();
-}
-#endif