diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp
index ffd8bcd6777..d2489cdfcc1 100644
--- a/mozilla/content/html/document/src/nsHTMLDocument.cpp
+++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp
@@ -164,14 +164,14 @@ MyPrefChangedCallback(const char*aPrefName, void* instance_data)
{
nsresult rv;
NS_WITH_SERVICE(nsIPref, prefs, "component://netscape/preferences", &rv);
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(rv) && NS_SUCCEEDED(
- rv = prefs->CopyCharPref("intl.charset.detector",
+ rv = prefs->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
if(nsCRT::strlen(detector_name) > 0) {
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
} else {
g_detector_progid[0]=0;
@@ -757,13 +757,13 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
nsCOMPtr pref(do_GetService(NS_PREF_PROGID));
if(pref)
{
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(
- rv_detect = pref->CopyCharPref("intl.charset.detector",
+ rv_detect = pref->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
PR_FREEIF(detector_name);
}
diff --git a/mozilla/content/xml/document/src/nsXMLDocument.cpp b/mozilla/content/xml/document/src/nsXMLDocument.cpp
index 611f5863405..9633309212b 100644
--- a/mozilla/content/xml/document/src/nsXMLDocument.cpp
+++ b/mozilla/content/xml/document/src/nsXMLDocument.cpp
@@ -108,14 +108,14 @@ MyPrefChangedCallback(const char*aPrefName, void* instance_data)
{
nsresult rv;
NS_WITH_SERVICE(nsIPref, prefs, "component://netscape/preferences", &rv);
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(rv) && NS_SUCCEEDED(
- rv = prefs->CopyCharPref("intl.charset.detector",
+ rv = prefs->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
if(nsCRT::strlen(detector_name) > 0) {
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
} else {
g_detector_progid[0]=0;
@@ -502,13 +502,13 @@ nsXMLDocument::StartDocumentLoad(const char* aCommand,
nsCOMPtr pref(do_GetService(NS_PREF_PROGID));
if(pref)
{
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(
- rv_detect = pref->CopyCharPref("intl.charset.detector",
+ rv_detect = pref->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
PR_FREEIF(detector_name);
}
diff --git a/mozilla/layout/html/document/src/nsHTMLDocument.cpp b/mozilla/layout/html/document/src/nsHTMLDocument.cpp
index ffd8bcd6777..d2489cdfcc1 100644
--- a/mozilla/layout/html/document/src/nsHTMLDocument.cpp
+++ b/mozilla/layout/html/document/src/nsHTMLDocument.cpp
@@ -164,14 +164,14 @@ MyPrefChangedCallback(const char*aPrefName, void* instance_data)
{
nsresult rv;
NS_WITH_SERVICE(nsIPref, prefs, "component://netscape/preferences", &rv);
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(rv) && NS_SUCCEEDED(
- rv = prefs->CopyCharPref("intl.charset.detector",
+ rv = prefs->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
if(nsCRT::strlen(detector_name) > 0) {
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
} else {
g_detector_progid[0]=0;
@@ -757,13 +757,13 @@ nsHTMLDocument::StartDocumentLoad(const char* aCommand,
nsCOMPtr pref(do_GetService(NS_PREF_PROGID));
if(pref)
{
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(
- rv_detect = pref->CopyCharPref("intl.charset.detector",
+ rv_detect = pref->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
PR_FREEIF(detector_name);
}
diff --git a/mozilla/layout/xml/document/src/nsXMLDocument.cpp b/mozilla/layout/xml/document/src/nsXMLDocument.cpp
index 611f5863405..9633309212b 100644
--- a/mozilla/layout/xml/document/src/nsXMLDocument.cpp
+++ b/mozilla/layout/xml/document/src/nsXMLDocument.cpp
@@ -108,14 +108,14 @@ MyPrefChangedCallback(const char*aPrefName, void* instance_data)
{
nsresult rv;
NS_WITH_SERVICE(nsIPref, prefs, "component://netscape/preferences", &rv);
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(rv) && NS_SUCCEEDED(
- rv = prefs->CopyCharPref("intl.charset.detector",
+ rv = prefs->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
if(nsCRT::strlen(detector_name) > 0) {
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
} else {
g_detector_progid[0]=0;
@@ -502,13 +502,13 @@ nsXMLDocument::StartDocumentLoad(const char* aCommand,
nsCOMPtr pref(do_GetService(NS_PREF_PROGID));
if(pref)
{
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
if(NS_SUCCEEDED(
- rv_detect = pref->CopyCharPref("intl.charset.detector",
+ rv_detect = pref->GetLocalizedUnicharPref("intl.charset.detector",
&detector_name)))
{
PL_strncpy(g_detector_progid, NS_CHARSET_DETECTOR_PROGID_BASE,DETECTOR_PROGID_MAX);
- PL_strncat(g_detector_progid, detector_name,DETECTOR_PROGID_MAX);
+ PL_strncat(g_detector_progid, NS_ConvertUCS2toUTF8(detector_name),DETECTOR_PROGID_MAX);
gPlugDetector = PR_TRUE;
PR_FREEIF(detector_name);
}
diff --git a/mozilla/mailnews/mime/src/comi18n.cpp b/mozilla/mailnews/mime/src/comi18n.cpp
index 1be3977aeaa..cca0fdda118 100644
--- a/mozilla/mailnews/mime/src/comi18n.cpp
+++ b/mozilla/mailnews/mime/src/comi18n.cpp
@@ -1264,17 +1264,17 @@ PRInt32 MimeCharsetConverterClass::Initialize(const char* from_charset, const ch
if (mAutoDetect) {
char detector_progid[128];
- char* detector_name = nsnull;
+ PRUnichar* detector_name = nsnull;
PL_strcpy(detector_progid, NS_STRCDETECTOR_PROGID_BASE);
NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &res);
if (NS_SUCCEEDED(res)) {
- if (NS_SUCCEEDED(prefs->CopyCharPref("mail.charset.detector", &detector_name))) {
- PL_strcat(detector_progid, detector_name);
+ if (NS_SUCCEEDED(prefs->CopyUnicharPref("mail.charset.detector", &detector_name))) {
+ PL_strcat(detector_progid, NS_ConvertUCS2toUTF8(detector_name));
PR_FREEIF(detector_name);
}
- else if (NS_SUCCEEDED(prefs->CopyCharPref("intl.charset.detector", &detector_name))) {
- PL_strcat(detector_progid, detector_name);
+ else if (NS_SUCCEEDED(prefs->GetLocalizedUnicharPref("intl.charset.detector", &detector_name))) {
+ PL_strcat(detector_progid, NS_ConvertUCS2toUTF8(detector_name));
PR_FREEIF(detector_name);
}
}
diff --git a/mozilla/modules/libpref/src/init/all.js b/mozilla/modules/libpref/src/init/all.js
index 0eb3662d1eb..3add6c2bf6d 100644
--- a/mozilla/modules/libpref/src/init/all.js
+++ b/mozilla/modules/libpref/src/init/all.js
@@ -324,7 +324,7 @@ pref("intl.charsetmenu.browser.static", "chrome://navigator/locale/navigator
pref("intl.charsetmenu.mailedit", "chrome://navigator/locale/navigator.properties");
pref("intl.charsetmenu.browser.cache", "");
pref("intl.charsetmenu.browser.cache.size", 5);
-pref("intl.charset.detector", "");
+pref("intl.charset.detector", "chrome://navigator/locale/navigator.properties");
pref("intl.charset.default", "chrome://navigator/locale/navigator.properties");
pref("font.default", "serif");
diff --git a/mozilla/xpfe/browser/resources/locale/en-US/navigator.properties b/mozilla/xpfe/browser/resources/locale/en-US/navigator.properties
index df405b3df44..7fb073b4667 100644
--- a/mozilla/xpfe/browser/resources/locale/en-US/navigator.properties
+++ b/mozilla/xpfe/browser/resources/locale/en-US/navigator.properties
@@ -33,6 +33,7 @@ general.useragent.locale=en-US
intl.accept_languages=en
intl.charsetmenu.browser.static=iso-8859-1
intl.charset.default=ISO-8859-1
+intl.charset.detector=
intl.charsetmenu.mailedit=iso-8859-1, ISO-8859-15, armscii-8, ISO-8859-4, ISO-8859-14, ISO-8859-2, GB2312, Big5, KOI8-R, windows-1251, KOI8-U, ISO-8859-7, ISO-2022-JP, EUC-KR, ISO-8859-10, ISO-8859-3, TIS-620, ISO-8859-9, UTF-8, VISCII
wallet.Server=http://www.mozilla.org/wallet/tables/
wallet.Samples=http://www.mozilla.org/wallet/samples/
diff --git a/mozilla/xpfe/global/resources/content/charsetOverlay.js b/mozilla/xpfe/global/resources/content/charsetOverlay.js
index 0e7f1401ac8..ef2531146ef 100644
--- a/mozilla/xpfe/global/resources/content/charsetOverlay.js
+++ b/mozilla/xpfe/global/resources/content/charsetOverlay.js
@@ -154,8 +154,9 @@ function UpdateCharsetDetector()
}
if (pref) {
- prefvalue = pref.CopyCharPref("intl.charset.detector");
+ prefvalue = pref.getLocalizedUnicharPref("intl.charset.detector");
if (prefvalue == "") prefvalue = "off";
+dump("intl.charset.detector = "+ prefvalue + "\n");
}
var prefvalue = 'chardet.' + prefvalue;