Bug 1671880 - Part 1: Remove mailnews.view_default_charset pref. r=mkmelin
Differential Revision: https://phabricator.services.mozilla.com/D96676 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
ca3e35a970
Коммит
b968c66541
|
@ -25,7 +25,6 @@ Preferences.addAll([
|
|||
{ id: "font.language.group", type: "wstring" },
|
||||
{ id: "browser.display.use_document_fonts", type: "int" },
|
||||
{ id: "mail.fixed_width_messages", type: "bool" },
|
||||
{ id: "mailnews.view_default_charset", type: "wstring" },
|
||||
]);
|
||||
|
||||
var gFontsDialog = {
|
||||
|
@ -194,31 +193,6 @@ var gFontsDialog = {
|
|||
);
|
||||
return mailFixedWidthMessages.checked;
|
||||
},
|
||||
|
||||
/**
|
||||
* mailnews.view_default_charset is nsIPrefLocalizedString. Its default value
|
||||
* is different depending on the user locale (see bug 48842).
|
||||
*/
|
||||
ondialogaccept() {
|
||||
var viewCharsetStr = Services.prefs.getComplexValue(
|
||||
"mailnews.view_default_charset",
|
||||
Ci.nsIPrefLocalizedString
|
||||
).data;
|
||||
|
||||
var defaultPrefs = Services.prefs.getDefaultBranch("mailnews.");
|
||||
|
||||
// Here we compare preference's stored value with default one and,
|
||||
// if needed, show it as "default" on Config Editor instead of "user set".
|
||||
if (
|
||||
viewCharsetStr ===
|
||||
defaultPrefs.getComplexValue(
|
||||
"view_default_charset",
|
||||
Ci.nsIPrefLocalizedString
|
||||
).data
|
||||
) {
|
||||
Services.prefs.clearUserPref("mailnews.view_default_charset");
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
document.addEventListener("dialogaccept", () => gFontsDialog.ondialogaccept());
|
||||
|
|
|
@ -257,28 +257,6 @@
|
|||
</html:fieldset>
|
||||
</html:div>
|
||||
|
||||
<html:div>
|
||||
<html:fieldset>
|
||||
<html:legend data-l10n-id="text-encoding-legend"></html:legend>
|
||||
|
||||
<label data-l10n-id="text-encoding-description"/>
|
||||
|
||||
<separator class="thin"/>
|
||||
<hbox>
|
||||
<vbox pack="end">
|
||||
<hbox align="center" flex="1" class="indent">
|
||||
<label control="viewDefaultCharsetList"
|
||||
data-l10n-id="font-incoming-email-label"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<menulist is="menulist-charsetpicker-viewing" id="viewDefaultCharsetList"
|
||||
preference="mailnews.view_default_charset"/>
|
||||
</vbox>
|
||||
</hbox>
|
||||
</html:fieldset>
|
||||
</html:div>
|
||||
<separator/>
|
||||
</vbox>
|
||||
</dialog>
|
||||
</window>
|
||||
|
|
|
@ -269,9 +269,6 @@ tag=Tags
|
|||
# there are more; for the From column in the threadpane message list.
|
||||
andOthers=et al.
|
||||
|
||||
# mailnews.js
|
||||
mailnews.view_default_charset=ISO-8859-1
|
||||
|
||||
# whether to generate display names in last first order
|
||||
# LOCALIZATION NOTE(mail.addr_book.displayName.lastnamefirst):
|
||||
# the only valid values are: true OR false (choose from the untranslated English words)
|
||||
|
|
|
@ -29,7 +29,6 @@ XPCOMUtils.defineLazyServiceGetter(
|
|||
var kServerPrefVersion = 1;
|
||||
var kSmtpPrefVersion = 1;
|
||||
var kABRemoteContentPrefVersion = 1;
|
||||
var kDefaultCharsetsPrefVersion = 1;
|
||||
|
||||
function migrateMailnews() {
|
||||
try {
|
||||
|
@ -49,12 +48,6 @@ function migrateMailnews() {
|
|||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
try {
|
||||
MigrateDefaultCharsets();
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -318,33 +311,3 @@ function MigrateABRemoteContentSettings() {
|
|||
kABRemoteContentPrefVersion
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* If the default sending or viewing charset is one that is no longer available,
|
||||
* change it back to the default.
|
||||
*/
|
||||
function MigrateDefaultCharsets() {
|
||||
if (Services.prefs.prefHasUserValue("mail.default_charsets.migrated")) {
|
||||
return;
|
||||
}
|
||||
|
||||
let charsetConvertManager = Cc[
|
||||
"@mozilla.org/charset-converter-manager;1"
|
||||
].getService(Ci.nsICharsetConverterManager);
|
||||
|
||||
let viewCharsetStr = Services.prefs.getComplexValue(
|
||||
"mailnews.view_default_charset",
|
||||
Ci.nsIPrefLocalizedString
|
||||
).data;
|
||||
|
||||
try {
|
||||
charsetConvertManager.getCharsetTitle(viewCharsetStr);
|
||||
} catch (e) {
|
||||
Services.prefs.clearUserPref("mailnews.view_default_charset");
|
||||
}
|
||||
|
||||
Services.prefs.setIntPref(
|
||||
"mail.default_charsets.migrated",
|
||||
kDefaultCharsetsPrefVersion
|
||||
);
|
||||
}
|
||||
|
|
|
@ -71,18 +71,6 @@ function run_test() {
|
|||
Assert.equal(testPermission(uriAllowed2), Services.perms.UNKNOWN_ACTION);
|
||||
Assert.equal(testPermission(uriDisallowed), Services.perms.UNKNOWN_ACTION);
|
||||
|
||||
// Set default charsets to an encoding no longer supported: VISCII.
|
||||
let charset = Cc["@mozilla.org/pref-localizedstring;1"].createInstance(
|
||||
Ci.nsIPrefLocalizedString
|
||||
);
|
||||
charset.data = "VISCII";
|
||||
Services.prefs.setComplexValue(
|
||||
"mailnews.view_default_charset",
|
||||
Ci.nsIPrefLocalizedString,
|
||||
charset
|
||||
);
|
||||
Assert.ok(Services.prefs.prefHasUserValue("mailnews.view_default_charset"));
|
||||
|
||||
// Now migrate the prefs.
|
||||
migrateMailnews();
|
||||
|
||||
|
@ -147,10 +135,6 @@ function run_test() {
|
|||
Assert.equal(testPermission(uriAllowed2), Services.perms.ALLOW_ACTION);
|
||||
Assert.equal(testPermission(uriDisallowed), Services.perms.UNKNOWN_ACTION);
|
||||
|
||||
// Migration should have cleared the charset user pref values.
|
||||
Assert.ok(Services.prefs.getIntPref("mail.default_charsets.migrated") > 0);
|
||||
Assert.ok(!Services.prefs.prefHasUserValue("mailnews.view_default_charset"));
|
||||
|
||||
// Now migrate the prefs
|
||||
migrateMailnews();
|
||||
|
||||
|
|
|
@ -42,9 +42,8 @@ static const char* kCharacterSetColumnName = "charSet";
|
|||
static const char* kCharacterSetOverrideColumnName = "charSetOverride";
|
||||
static const char* kLocaleColumnName = "locale";
|
||||
|
||||
#define kMAILNEWS_VIEW_DEFAULT_CHARSET "mailnews.view_default_charset"
|
||||
#define kMAILNEWS_DEFAULT_CHARSET_OVERRIDE "mailnews.force_charset_override"
|
||||
static nsCString* gDefaultCharacterSet = nullptr;
|
||||
static nsCString* gDefaultCharacterSet = new nsCString("UTF-8");
|
||||
static bool gDefaultCharacterOverride;
|
||||
static RefPtr<nsIObserver> gFolderCharsetObserver;
|
||||
|
||||
|
@ -78,25 +77,11 @@ NS_IMETHODIMP nsFolderCharsetObserver::Observe(nsISupports* aSubject,
|
|||
if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) {
|
||||
nsDependentString prefName(someData);
|
||||
|
||||
if (prefName.EqualsLiteral(kMAILNEWS_VIEW_DEFAULT_CHARSET)) {
|
||||
nsCOMPtr<nsIPrefLocalizedString> pls;
|
||||
rv = prefBranch->GetComplexValue(kMAILNEWS_VIEW_DEFAULT_CHARSET,
|
||||
NS_GET_IID(nsIPrefLocalizedString),
|
||||
getter_AddRefs(pls));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsString ucsval;
|
||||
pls->ToString(getter_Copies(ucsval));
|
||||
if (!ucsval.IsEmpty()) {
|
||||
if (gDefaultCharacterSet)
|
||||
CopyUTF16toUTF8(ucsval, *gDefaultCharacterSet);
|
||||
}
|
||||
}
|
||||
} else if (prefName.EqualsLiteral(kMAILNEWS_DEFAULT_CHARSET_OVERRIDE)) {
|
||||
if (prefName.EqualsLiteral(kMAILNEWS_DEFAULT_CHARSET_OVERRIDE)) {
|
||||
rv = prefBranch->GetBoolPref(kMAILNEWS_DEFAULT_CHARSET_OVERRIDE,
|
||||
&gDefaultCharacterOverride);
|
||||
}
|
||||
} else if (!strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) {
|
||||
rv = prefBranch->RemoveObserver(kMAILNEWS_VIEW_DEFAULT_CHARSET, this);
|
||||
rv = prefBranch->RemoveObserver(kMAILNEWS_DEFAULT_CHARSET_OVERRIDE, this);
|
||||
gFolderCharsetObserver = nullptr;
|
||||
delete gDefaultCharacterSet;
|
||||
|
@ -153,20 +138,6 @@ nsDBFolderInfo::nsDBFolderInfo(nsMsgDatabase* mdb)
|
|||
rv = prefs->GetBranch(nullptr, getter_AddRefs(prefBranch));
|
||||
}
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsCOMPtr<nsIPrefLocalizedString> pls;
|
||||
rv = prefBranch->GetComplexValue(kMAILNEWS_VIEW_DEFAULT_CHARSET,
|
||||
NS_GET_IID(nsIPrefLocalizedString),
|
||||
getter_AddRefs(pls));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsString ucsval;
|
||||
pls->ToString(getter_Copies(ucsval));
|
||||
if (!ucsval.IsEmpty()) {
|
||||
if (!gDefaultCharacterSet) gDefaultCharacterSet = new nsCString;
|
||||
|
||||
if (gDefaultCharacterSet)
|
||||
CopyUTF16toUTF8(ucsval, *gDefaultCharacterSet);
|
||||
}
|
||||
}
|
||||
rv = prefBranch->GetBoolPref(kMAILNEWS_DEFAULT_CHARSET_OVERRIDE,
|
||||
&gDefaultCharacterOverride);
|
||||
|
||||
|
@ -175,8 +146,6 @@ nsDBFolderInfo::nsDBFolderInfo(nsMsgDatabase* mdb)
|
|||
|
||||
// register prefs callbacks
|
||||
if (gFolderCharsetObserver) {
|
||||
rv = prefBranch->AddObserver(kMAILNEWS_VIEW_DEFAULT_CHARSET,
|
||||
gFolderCharsetObserver, false);
|
||||
rv = prefBranch->AddObserver(kMAILNEWS_DEFAULT_CHARSET_OVERRIDE,
|
||||
gFolderCharsetObserver, false);
|
||||
|
||||
|
|
|
@ -328,7 +328,6 @@ pref("mailnews.offline_sync_send_unsent", true);
|
|||
pref("mailnews.offline_sync_work_offline", false);
|
||||
pref("mailnews.force_ascii_search", false);
|
||||
|
||||
pref("mailnews.view_default_charset", "chrome://messenger/locale/messenger.properties");
|
||||
// ignore specified MIME encoding and use the default encoding for display
|
||||
pref("mailnews.force_charset_override", false);
|
||||
|
||||
|
|
|
@ -113,11 +113,7 @@ static int MimeInlineText_initializeCharset(MimeObject* obj) {
|
|||
text->charset = strdup(obj->options->default_charset);
|
||||
else {
|
||||
if (NS_SUCCEEDED(res)) {
|
||||
nsString value;
|
||||
NS_GetLocalizedUnicharPreferenceWithDefault(
|
||||
prefBranch, "mailnews.view_default_charset", EmptyString(),
|
||||
value);
|
||||
text->charset = ToNewUTF8String(value);
|
||||
text->charset = strdup("UTF-8");
|
||||
} else
|
||||
text->charset = strdup("");
|
||||
}
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
#define NEW_NEWS_DIR_NAME "News"
|
||||
#define PREF_MAIL_NEWSRC_ROOT "mail.newsrc_root"
|
||||
#define PREF_MAIL_NEWSRC_ROOT_REL "mail.newsrc_root-rel"
|
||||
#define PREF_MAILNEWS_VIEW_DEFAULT_CHARSET "mailnews.view_default_charset"
|
||||
#define HOSTINFO_FILE_NAME "hostinfo.dat"
|
||||
|
||||
#define NEWS_DELIMITER '.'
|
||||
|
@ -265,15 +264,10 @@ nsNntpIncomingServer::GetCharset(nsACString& aCharset) {
|
|||
nsresult rv = GetCharValue("charset", aCharset);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// if the per-server setting is empty,we get the default charset from
|
||||
// mailnews.view_default_charset setting and set it as per-server preference.
|
||||
// if the per-server setting is empty, default to UTF-8 and set it as
|
||||
// per-server preference.
|
||||
if (aCharset.IsEmpty()) {
|
||||
nsString defaultCharset;
|
||||
rv = NS_GetLocalizedUnicharPreferenceWithDefault(
|
||||
nullptr, PREF_MAILNEWS_VIEW_DEFAULT_CHARSET, u"ISO-8859-1"_ns,
|
||||
defaultCharset);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
LossyCopyUTF16toASCII(defaultCharset, aCharset);
|
||||
aCharset.AssignLiteral("UTF-8");
|
||||
SetCharset(aCharset);
|
||||
}
|
||||
return NS_OK;
|
||||
|
|
|
@ -36,7 +36,7 @@ class nsMsgSearchAdapter : public nsIMsgSearchAdapter {
|
|||
nsIMsgSearchScopeTerm* m_scope;
|
||||
nsCOMPtr<nsIArray> m_searchTerms; /* linked list of criteria terms */
|
||||
|
||||
nsString m_defaultCharset;
|
||||
nsString m_defaultCharset = u"UTF-8"_ns;
|
||||
|
||||
static nsresult EncodeImap(char** ppEncoding, nsIArray* searchTerms,
|
||||
const char16_t* srcCharset,
|
||||
|
|
|
@ -196,22 +196,12 @@ nsresult nsMsgSearchAdapter::GetSearchCharsets(nsAString& srcCharset,
|
|||
nsresult rv;
|
||||
bool forceAsciiSearch = false;
|
||||
|
||||
if (m_defaultCharset.IsEmpty()) {
|
||||
nsCOMPtr<nsIPrefBranch> prefs(
|
||||
do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsCOMPtr<nsIPrefLocalizedString> localizedstr;
|
||||
rv = prefs->GetComplexValue("mailnews.view_default_charset",
|
||||
NS_GET_IID(nsIPrefLocalizedString),
|
||||
getter_AddRefs(localizedstr));
|
||||
if (NS_SUCCEEDED(rv)) localizedstr->GetData(m_defaultCharset);
|
||||
|
||||
prefs->GetBoolPref("mailnews.force_ascii_search", &forceAsciiSearch);
|
||||
}
|
||||
nsCOMPtr<nsIPrefBranch> prefs(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
prefs->GetBoolPref("mailnews.force_ascii_search", &forceAsciiSearch);
|
||||
}
|
||||
srcCharset = m_defaultCharset.IsEmpty()
|
||||
? static_cast<const nsAString&>(u"ISO-8859-1"_ns)
|
||||
: m_defaultCharset;
|
||||
|
||||
srcCharset = m_defaultCharset;
|
||||
|
||||
if (m_scope) {
|
||||
// ### DMB is there a way to get the charset for the "window"?
|
||||
|
|
Загрузка…
Ссылка в новой задаче