diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/base/content/preferences/alarms.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/base/content/preferences/alarms.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/base/content/preferences/alarms.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/base/content/preferences/alarms.js 2015-01-25 22:23:55.000000000 +0000
@@ -127,7 +127,7 @@
var items = [document.getElementById("alarmSoundFileField"),
document.getElementById("calendar.prefs.alarm.sound.useDefault"),
document.getElementById("calendar.prefs.alarm.sound.browse"),
- document.getElementById("calendar.prefs.alarm.sound.preview")];
+ document.getElementById("calendar.prefs.alarm.sound.play")];
for (var i=0; i < items.length; i++) {
items[i].disabled = !alarmsPlaySoundPref.value;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/base/content/preferences/alarms.xul thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/base/content/preferences/alarms.xul
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/base/content/preferences/alarms.xul 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/base/content/preferences/alarms.xul 2015-01-25 22:23:55.000000000 +0000
@@ -84,9 +84,9 @@
label="&pref.calendar.alarms.sound.browse.label;"
accesskey="&pref.calendar.alarms.sound.browse.accessKey;"
oncommand="gAlarmsPane.browseAlarm()"/>
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/base/modules/calExtract.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/base/modules/calExtract.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/base/modules/calExtract.jsm 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/base/modules/calExtract.jsm 2015-01-25 22:23:55.000000000 +0000
@@ -24,6 +24,8 @@
this.fallbackLocale = fallbackLocale;
this.email = "";
this.marker = "--MARK--";
+ // this should never be found in an email
+ this.defPattern = "061dc19c-719f-47f3-b2b5-e767e6f02b7a";
this.collected = [];
this.numbers = [];
this.hourlyNumbers = [];
@@ -974,14 +976,12 @@
getPatterns: function getPatterns(name) {
let value;
- // this should never be found in an email
- let def = "061dc19c-719f-47f3-b2b5-e767e6f02b7a";
try {
value = this.bundle.GetStringFromName(name);
this.checkForFaultyPatterns(value, name);
if (value.trim() == "") {
cal.LOG("[calExtract] Pattern not found: " + name);
- return def;
+ return this.defPattern;
}
let vals = this.cleanPatterns(value).split("|");
@@ -1014,7 +1014,7 @@
cal.LOG("[calExtract] Pattern not found: " + name);
// fake a value to avoid empty regexes creating endless loops
- return def;
+ return this.defPattern;
}
},
@@ -1173,7 +1173,7 @@
limitChars: function limitChars(res, email) {
let alphabet = this.getPatterns("alphabet");
// for languages without regular alphabet surrounding characters are ignored
- if (alphabet == "") {
+ if (alphabet == this.defPattern) {
return false;
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/lightning/content/imip-bar.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/lightning/content/imip-bar.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/lightning/content/imip-bar.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/lightning/content/imip-bar.js 2015-01-25 22:23:56.000000000 +0000
@@ -194,7 +194,8 @@
}
imipBar.setAttribute("label", data.label);
-
+ // let's reset all buttons first
+ imipBar.resetButtons();
// menu items are visible by default, let's hide what's not available
data.hideMenuItems.forEach(function(aElementId) hideElement(document.getElementById(aElementId)));
// buttons are hidden by default, let's make required buttons visible
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/locales/en-US/chrome/calendar/preferences/alarms.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/locales/en-US/chrome/calendar/preferences/alarms.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/locales/en-US/chrome/calendar/preferences/alarms.dtd 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/locales/en-US/chrome/calendar/preferences/alarms.dtd 2015-01-25 22:23:56.000000000 +0000
@@ -14,8 +14,8 @@
-
-
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/components/calGoogleCalendar.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/components/calGoogleCalendar.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/components/calGoogleCalendar.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/components/calGoogleCalendar.js 2015-01-25 22:23:56.000000000 +0000
@@ -98,7 +98,7 @@
}
},
- get isDefaultCalendar() !this.mCalendarName.endsWith("@group.calendar.google.com"),
+ get isDefaultCalendar() this.mCalendarName ? !this.mCalendarName.endsWith("@group.calendar.google.com") : false,
/*
* implement calICalendar
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/content/gdata-calendar-event-dialog.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/content/gdata-calendar-event-dialog.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/content/gdata-calendar-event-dialog.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/content/gdata-calendar-event-dialog.js 2015-01-25 22:23:56.000000000 +0000
@@ -158,9 +158,15 @@
if (calendar.type == "gdata" && reminderList.value == "default") {
item.clearAlarms();
let unwrappedCal = item.calendar.getProperty("cache.uncachedCalendar").wrappedJSObject;
- unwrappedCal.defaultReminders.forEach(item.addAlarm, item);
+ let defaultReminders = unwrappedCal.defaultReminders;
+
+ defaultReminders.forEach(item.addAlarm, item);
+ if (!defaultReminders.length) {
+ item.setProperty("X-DEFAULT-ALARM", "TRUE");
+ }
return null;
} else {
+ item.deleteProperty("X-DEFAULT-ALARM");
return protofunc.apply(this, Array.slice(arguments, 1));
}
})
@@ -176,7 +182,13 @@
defaultItem.reminders = defaultReminders;
let rv = null;
- let usesDefault = reminders.length && reminders.every(function(x) x.hasProperty("X-DEFAULT-ALARM"));
+ let usesDefault;
+ if (reminders.length) {
+ usesDefault = reminders.every(function(x) x.hasProperty("X-DEFAULT-ALARM"));
+ } else {
+ usesDefault = window.calendarItem.getProperty("X-DEFAULT-ALARM") == "TRUE";
+ }
+
if (calendar.type == "gdata" && (window.mode == "new" || usesDefault)) {
// If all reminders are default reminders, then select the menuitem.
reminderList.value = "default";
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/modules/gdataRequest.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/modules/gdataRequest.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/modules/gdataRequest.jsm 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/modules/gdataRequest.jsm 2015-01-25 22:23:56.000000000 +0000
@@ -417,7 +417,6 @@
" Reason: " + (reason || result));
switch (reason) {
case "invalid_client":
- case "unauthorized_client":
this.mSession.notifyOutdated();
if (this.calendar) {
this.calendar.setProperty("disabled", true);
@@ -425,6 +424,29 @@
}
this.fail(calGoogleRequest.TOKEN_FAILURE, reason);
break;
+ case "unauthorized_client":
+ // This often happens when the client makes a request
+ // authorized with an old api token. Retry the request
+ // once.
+ this.mSession.invalidate();
+ if (this.reauthenticate) {
+ cal.LOG("[calGoogleRequest] The access token is not authorized, trying to refresh token.")
+ this.reauthenticate = false;
+ this.mSession.asyncItemRequest(this).then(function(aOperation, aData) {
+ this.succeed(aData);
+ }.bind(this), function(e) {
+ this.fail(e.result, e.message || e);
+ }.bind(this));
+ } else {
+ cal.LOG("[calGoogleRequest] Even refreshed token is not authorized, looks like the client is outdated");
+ this.mSession.notifyOutdated();
+ if (this.calendar) {
+ this.calendar.setProperty("disabled", true);
+ this.calendar.setProperty("currentStatus", calGoogleRequest.TOKEN_FAILURE);
+ }
+ this.fail(calGoogleRequest.TOKEN_FAILURE, reason);
+ }
+ break;
case "variableTermLimitExceeded":
case "userRateLimitExceeded":
case "dailyLimitExceeded":
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/modules/gdataSession.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/modules/gdataSession.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/modules/gdataSession.jsm 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/modules/gdataSession.jsm 2015-01-25 22:23:56.000000000 +0000
@@ -237,8 +237,20 @@
error = dataObj && dataObj.error;
}
- if (error == "invalid_client" || error == "unauthorized_client" || error == "http_401") {
+ if (error == "invalid_client" || error == "http_401") {
this.notifyOutdated();
+ } else if (error == "unauthorized_client") {
+ cal.ERROR("[calGoogleSession] Token for " + this.mId +
+ " is no longer authorized");
+ // We need to trigger a login without access token but want
+ // to login result to the original promise handlers. First
+ // reset the login promise so that we don't just receive
+ // the existing token from calling login() again. Then set
+ // a new login promise in case of another handler.
+ this.oauth.accessToken = null;
+ this.mLoginPromise = null;
+ this.mLoginPromise = this.login().then(deferred.resolve, deferred.reject);
+ return;
} else {
cal.ERROR("[calGoogleSession] Authentication failure: " + aData);
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/modules/gdataUtils.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/modules/gdataUtils.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/providers/gdata/modules/gdataUtils.jsm 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/providers/gdata/modules/gdataUtils.jsm 2015-01-25 22:23:56.000000000 +0000
@@ -348,6 +348,11 @@
itemData.reminders.overrides.push(alarmData);
}
+ if (!alarms.length && aItem.getProperty("X-DEFAULT-ALARM") == "TRUE") {
+ delete itemData.reminders.overrides;
+ itemData.reminders.useDefault = true;
+ }
+
// gd:extendedProperty (alarmLastAck)
addExtendedProperty("X-MOZ-LASTACK", cal.toRFC3339(aItem.alarmLastAck), true);
@@ -687,13 +692,23 @@
// reminders
item.clearAlarms();
- if (aEntry.reminders && aEntry.reminders.useDefault) {
- aDefaultReminders.forEach(item.addAlarm, item);
- }
+ if (aEntry.reminders) {
+ if (aEntry.reminders.useDefault) {
+ aDefaultReminders.forEach(item.addAlarm, item);
+
+ if (aDefaultReminders.length) {
+ item.deleteProperty("X-DEFAULT-ALARM");
+ } else {
+ // Nothing to make clear we are using default reminders.
+ // Set an X-PROP until VALARM extensions are supported
+ item.setProperty("X-DEFAULT-ALARM", "TRUE");
+ }
+ }
- if (aEntry.reminders && aEntry.reminders.overrides) {
- for each (let reminderEntry in aEntry.reminders.overrides) {
- item.addAlarm(JSONToAlarm(reminderEntry));
+ if (aEntry.reminders.overrides) {
+ for each (let reminderEntry in aEntry.reminders.overrides) {
+ item.addAlarm(JSONToAlarm(reminderEntry));
+ }
}
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/test/unit/test_gdata_provider.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/test/unit/test_gdata_provider.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/calendar/test/unit/test_gdata_provider.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/calendar/test/unit/test_gdata_provider.js 2015-01-25 22:23:56.000000000 +0000
@@ -1337,6 +1337,38 @@
do_check_eq(gServer.events[2].reminders.overrides[0].minutes, 5);
gServer.resetClient(client);
+
+ // Case #4a: Empty default alarms
+ gServer.calendarListData.defaultReminders = [];
+ gServer.eventsData.defaultReminders = [];
+ client = yield gServer.getClient();
+ pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
+
+ event = cal.createEvent([
+ "BEGIN:VEVENT",
+ "SUMMARY:Default Alarms Empty",
+ "DTSTART:20060610T180000Z",
+ "DTEND:20060610T200000Z",
+ "X-DEFAULT-ALARM:TRUE",
+ "END:VEVENT"
+ ].join("\r\n"));
+
+ yield pclient.addItem(event);
+ do_check_true(gServer.events[0].reminders.useDefault);
+ do_check_eq(gServer.events[0].reminders.overrides, undefined);
+
+ let events = gServer.events;
+ gServer.resetClient(client);
+
+ // Case #4b: Read an item with empty default alarms
+ gServer.events = events;
+ client = yield gServer.getClient();
+ pclient = cal.async.promisifyCalendar(client.wrappedJSObject);
+
+ item = (yield pclient.getAllItems())[0];
+ do_check_eq(item.getProperty("X-DEFAULT-ALARM"), "TRUE");
+
+ gServer.resetClient(client);
});
add_task(function* test_paginate() {
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/components/src/imAccounts.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/components/src/imAccounts.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/components/src/imAccounts.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/components/src/imAccounts.js 2015-01-25 22:23:56.000000000 +0000
@@ -30,6 +30,9 @@
Services.prefs.getIntPref("messenger.accounts.maxDebugMessages")
);
+XPCOMUtils.defineLazyServiceGetter(this, "HttpProtocolHandler",
+ "@mozilla.org/network/protocol;1?name=http", "nsIHttpProtocolHandler");
+
var gUserCanceledMasterPasswordPrompt = false;
var gConvertingOldPasswords = false;
@@ -328,6 +331,14 @@
}
if (this._debugMessages)
messages = messages.concat(this._debugMessages);
+ if (messages.length) {
+ let appInfo = Services.appinfo;
+ let header =
+ `${appInfo.name} ${appInfo.version} (${appInfo.appBuildID}), ` +
+ `Gecko ${appInfo.platformVersion} (${appInfo.platformBuildID}) ` +
+ `on ${HttpProtocolHandler.oscpu}`;
+ messages.unshift(this._createDebugMessage(header));
+ }
if (aCount)
aCount.value = messages.length;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/facebook/facebook.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/facebook/facebook.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/facebook/facebook.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/facebook/facebook.js 2015-01-25 22:23:56.000000000 +0000
@@ -38,7 +38,7 @@
let server = "chat.facebook.com";
if (this.prefs.prefHasUserValue("server"))
server = this.getString("server");
- this._connection = new XMPPSession(server, 5222, "opportunistic_tls",
+ this._connection = new XMPPSession(server, 5222, "require_tls",
this._jid, this.imAccount.password,
this);
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/irc/irc.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/irc/irc.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/irc/irc.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/irc/irc.js 2015-01-25 22:23:56.000000000 +0000
@@ -1031,9 +1031,9 @@
// together, i.e. grab the columns of this matrix, and build the two
// parameters of the command from that.
let channels = items.map(([channel, key]) => channel);
- let keys = items.map(([channel, key]) => key);
+ let keys = items.map(([channel, key]) => key).filter(key => !!key);
let params = [channels.join(",")];
- if (keys.some(key => !!key))
+ if (keys.length)
params.push(keys.join(","));
return params;
};
@@ -1918,9 +1918,8 @@
],
options: {
- // TODO Default to IRC over SSL.
- "port": {get label() _("options.port"), default: 6667},
- "ssl": {get label() _("options.ssl"), default: false},
+ "port": {get label() _("options.port"), default: 6697},
+ "ssl": {get label() _("options.ssl"), default: true},
// TODO We should attempt to auto-detect encoding instead.
"encoding": {get label() _("options.encoding"), default: "UTF-8"},
"quitmsg": {get label() _("options.quitMessage"),
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/irc/test/test_sendBufferedCommand.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/irc/test/test_sendBufferedCommand.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/irc/test/test_sendBufferedCommand.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/irc/test/test_sendBufferedCommand.js 2015-01-25 22:23:56.000000000 +0000
@@ -44,12 +44,12 @@
},
{
data: [["one"], ["two", "password"], ["three"]],
- result: "JOIN two,one,three password,,"
+ result: "JOIN two,one,three password"
},
{
data: [["one"], ["two", "password"], ["three"],
["four", "anotherpassword"]],
- result: "JOIN two,four,one,three password,anotherpassword,,"
+ result: "JOIN two,four,one,three password,anotherpassword"
}
];
@@ -127,9 +127,9 @@
["blueberrypancake"], ["mangojuice"], ["raspberryberet"],
["pineapplesoup"], ["limejelly", "password2"], ["lemonsorbet"]],
results: [
- "JOIN strawberryfield,applecustard,pearpie password1,,",
+ "JOIN strawberryfield,applecustard,pearpie password1",
"JOIN blueberrypancake,mangojuice,raspberryberet",
- "JOIN limejelly,pineapplesoup,lemonsorbet password2,,"
+ "JOIN limejelly,pineapplesoup,lemonsorbet password2"
]
}
];
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/xmpp/xmpp.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/xmpp/xmpp.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/xmpp/xmpp.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/xmpp/xmpp.js 2015-01-25 22:23:56.000000000 +0000
@@ -39,7 +39,7 @@
// "old_ssl" and "none" are also supported, but not exposed in the UI.
// Any unknown value will fallback to the opportunistic_tls behavior.
},
- default: "opportunistic_tls"
+ default: "require_tls"
},
server: {get label() _("options.connectServer"), default: ""},
port: {get label() _("options.connectPort"), default: 5222}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/xmpp/xmpp.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/xmpp/xmpp.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/chat/protocols/xmpp/xmpp.jsm 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/chat/protocols/xmpp/xmpp.jsm 2015-01-25 22:23:56.000000000 +0000
@@ -1326,42 +1326,42 @@
}
this._cachingUserIcon = true;
- let channel = Services.io.newChannelFromURI(userIcon);
- NetUtil.asyncFetch2(channel, (function(inputStream, resultCode) {
- if (!Components.isSuccessCode(resultCode))
- return;
- try {
- let readImage = {value: null};
- let type = channel.contentType;
- imgTools.decodeImageData(inputStream, type, readImage);
- readImage = readImage.value;
- let scaledImage;
- if (readImage.width <= 96 && readImage.height <= 96)
- scaledImage = imgTools.encodeImage(readImage, type);
- else {
- if (type != "image/jpeg")
- type = "image/png";
- scaledImage = imgTools.encodeScaledImage(readImage, type, 64, 64);
- }
+ let channel = Services.io.newChannelFromURI2(userIcon,
+ null, Services.scriptSecurityManager.getSystemPrincipal(), null,
+ Ci.nsILoadInfo.SEC_NORMAL, Ci.nsIContentPolicy.TYPE_IMAGE);
+ NetUtil.asyncFetch2(channel, (inputStream, resultCode) => {
+ if (!Components.isSuccessCode(resultCode))
+ return;
+ try {
+ let readImage = {value: null};
+ let type = channel.contentType;
+ imgTools.decodeImageData(inputStream, type, readImage);
+ readImage = readImage.value;
+ let scaledImage;
+ if (readImage.width <= 96 && readImage.height <= 96)
+ scaledImage = imgTools.encodeImage(readImage, type);
+ else {
+ if (type != "image/jpeg")
+ type = "image/png";
+ scaledImage = imgTools.encodeScaledImage(readImage, type, 64, 64);
+ }
- let bstream = Cc["@mozilla.org/binaryinputstream;1"]
- .createInstance(Ci.nsIBinaryInputStream);
- bstream.setInputStream(scaledImage);
+ let bstream = Cc["@mozilla.org/binaryinputstream;1"]
+ .createInstance(Ci.nsIBinaryInputStream);
+ bstream.setInputStream(scaledImage);
- let data = bstream.readBytes(bstream.available());
- this._cachedUserIcon = {
- type: type,
- binval: btoa(data).replace(/.{74}/g, "$&\n")
- };
- } catch (e) {
- Cu.reportError(e);
- this._cachedUserIcon = null;
- }
- delete this._cachingUserIcon;
- this._sendVCard();
- }).bind(this),
- null, null, Services.scriptSecurityManager.getSystemPrincipal(),
- null, Ci.nsILoadInfo.SEC_NORMAL, Ci.nsIContentPolicy.TYPE_OTHER);
+ let data = bstream.readBytes(bstream.available());
+ this._cachedUserIcon = {
+ type: type,
+ binval: btoa(data).replace(/.{74}/g, "$&\n")
+ };
+ } catch (e) {
+ Cu.reportError(e);
+ this._cachedUserIcon = null;
+ }
+ delete this._cachingUserIcon;
+ this._sendVCard();
+ });
},
_sendVCard: function() {
if (!this._connection)
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/debian/changelog thunderbird-trunk-38.0~a1~hg20150125r17395.225611/debian/changelog
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/debian/changelog 2015-01-16 19:47:55.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/debian/changelog 2015-01-25 22:50:38.000000000 +0000
@@ -1,4 +1,4 @@
-thunderbird-trunk (38.0~a1~hg20150116r17361.224177-0ubuntu1~umd1~trusty) trusty; urgency=medium
+thunderbird-trunk (38.0~a1~hg20150125r17395.225611-0ubuntu1~umd1~trusty) trusty; urgency=medium
* Don't hardcode -mfloat-abi=softfp in libvpx
- add debian/patches/dont-hardcode-softfp-on-armhf.patch
@@ -16,6 +16,7 @@
NEON support)
* Refresh patches
- update debian/patches/dont-include-hyphenation-patterns.patch
+ - update debian/patches/unity-menubar.patch
-- Chris Coulson Wed, 14 Jan 2015 22:43:11 +0000
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/debian/patches/unity-menubar.patch thunderbird-trunk-38.0~a1~hg20150125r17395.225611/debian/patches/unity-menubar.patch
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/debian/patches/unity-menubar.patch 2015-01-16 19:47:55.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/debian/patches/unity-menubar.patch 2015-01-25 22:50:38.000000000 +0000
@@ -1,7 +1,7 @@
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/browser/base/content/browser-menubar.inc
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/browser/base/content/browser-menubar.inc
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/browser/base/content/browser-menubar.inc 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/browser/base/content/browser-menubar.inc 2014-12-08 19:19:07.474645107 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/browser/base/content/browser-menubar.inc 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/browser/base/content/browser-menubar.inc 2015-01-22 15:49:23.535971694 +0000
@@ -5,7 +5,11 @@
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/browser/components/places/content/places.xul
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/browser/components/places/content/places.xul
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/browser/components/places/content/places.xul 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/browser/components/places/content/places.xul 2014-12-08 19:19:07.474645107 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/browser/components/places/content/places.xul 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/browser/components/places/content/places.xul 2015-01-22 15:49:23.535971694 +0000
@@ -157,7 +157,7 @@
@@ -48,10 +48,10 @@
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/toolkit/content/xul.css
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/toolkit/content/xul.css
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/toolkit/content/xul.css 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/toolkit/content/xul.css 2014-12-08 19:19:07.474645107 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/toolkit/content/xul.css 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/toolkit/content/xul.css 2015-01-22 15:49:23.535971694 +0000
@@ -284,6 +284,18 @@
}
%endif
@@ -71,10 +71,10 @@
toolbarseparator {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsDbusmenu.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsDbusmenu.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsDbusmenu.cpp 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsDbusmenu.cpp 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -135,10 +135,10 @@
+
+ return NS_OK;
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsDbusmenu.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsDbusmenu.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsDbusmenu.h 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsDbusmenu.h 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -239,10 +239,10 @@
+#define dbusmenu_menuitem_property_set_shortcut nsDbusmenuFunctions::s_dbusmenu_menuitem_property_set_shortcut
+
+#endif /* __nsDbusmenu_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenu.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenu.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenu.cpp 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenu.cpp 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,866 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1110,10 +1110,10 @@
+
+ MaybeAddPlaceholderItem();
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenu.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenu.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenu.h 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenu.h 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1281,10 +1281,10 @@
+};
+
+#endif /* __nsMenu_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuBar.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuBar.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuBar.cpp 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuBar.cpp 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,545 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1831,10 +1831,10 @@
+ DebugOnly rv = RemoveChild(aChild);
+ NS_ASSERTION(NS_SUCCEEDED(rv), "Failed to remove item from menubar");
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuBar.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuBar.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuBar.h 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuBar.h 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1948,10 +1948,10 @@
+};
+
+#endif /* __nsMenuBar_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuContainer.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuContainer.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuContainer.cpp 2014-12-08 19:19:07.474645107 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuContainer.cpp 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,179 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2132,10 +2132,10 @@
+
+ return aContent;
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuContainer.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuContainer.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuContainer.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuContainer.h 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2203,10 +2203,10 @@
+};
+
+#endif /* __nsMenuContainer_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuItem.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuItem.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuItem.cpp 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuItem.cpp 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,739 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2947,10 +2947,10 @@
+ UpdateIcon(sc);
+ }
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuItem.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuItem.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuItem.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuItem.h 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3059,10 +3059,10 @@
+};
+
+#endif /* __nsMenuItem_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuObject.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuObject.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuObject.cpp 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuObject.cpp 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,707 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3771,10 +3771,10 @@
+ weak = weak->GetPrevious();
+ }
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuObject.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuObject.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuObject.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuObject.h 2015-01-22 15:49:23.539971708 +0000
@@ -0,0 +1,242 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4018,10 +4018,10 @@
+};
+
+#endif /* __nsMenuObject_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuSeparator.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuSeparator.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuSeparator.cpp 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuSeparator.cpp 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4113,10 +4113,10 @@
+ UpdateVisibility(sc);
+ }
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuSeparator.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuSeparator.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsMenuSeparator.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsMenuSeparator.h 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4159,10 +4159,10 @@
+};
+
+#endif /* __nsMenuSeparator_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuAtomList.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuAtomList.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuAtomList.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuAtomList.h 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,11 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4175,10 +4175,10 @@
+WIDGET_ATOM2(_moz_menupopupstate, "_moz-menupopupstate")
+WIDGET_ATOM(openedwithkey)
+WIDGET_ATOM(shellshowingmenubar)
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuAtoms.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuAtoms.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuAtoms.cpp 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuAtoms.cpp 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4219,10 +4219,10 @@
+{
+ NS_RegisterStaticAtoms(gAtoms);
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuAtoms.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuAtoms.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuAtoms.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuAtoms.h 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4249,10 +4249,10 @@
+};
+
+#endif /* __nsNativeMenuAtoms_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuDocListener.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuDocListener.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuDocListener.cpp 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuDocListener.cpp 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,369 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4623,10 +4623,10 @@
+ CancelFlush(this);
+ mPendingMutations.Clear();
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuDocListener.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuDocListener.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuDocListener.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuDocListener.h 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4780,10 +4780,10 @@
+};
+
+#endif /* __nsNativeMenuDocListener_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuService.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuService.cpp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuService.cpp 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuService.cpp 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,506 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5291,10 +5291,10 @@
+
+ return NS_OK;
+}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuService.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuService.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuService.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuService.h 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5384,10 +5384,10 @@
+};
+
+#endif /* __nsNativeMenuService_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuUtils.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuUtils.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsNativeMenuUtils.h 2014-12-08 19:19:07.478645113 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsNativeMenuUtils.h 2015-01-22 15:49:23.543971721 +0000
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5448,10 +5448,10 @@
+};
+
+#endif /* __nsNativeMenuUtils_h__ */
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsWidgetFactory.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsWidgetFactory.cpp
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/widget/gtk/nsWidgetFactory.cpp 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsWidgetFactory.cpp 2014-12-08 19:19:07.482645120 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/widget/gtk/nsWidgetFactory.cpp 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsWidgetFactory.cpp 2015-01-22 15:49:23.543971721 +0000
@@ -44,6 +44,9 @@
#include "GfxInfoX11.h"
#endif
@@ -5520,11 +5520,11 @@
nsWidgetGtk2ModuleDtor
};
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsWindow.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsWindow.cpp
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/widget/gtk/nsWindow.cpp 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsWindow.cpp 2014-12-08 19:19:07.482645120 +0000
-@@ -4778,6 +4778,11 @@
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/widget/gtk/nsWindow.cpp 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsWindow.cpp 2015-01-22 15:49:23.543971721 +0000
+@@ -4791,6 +4791,11 @@
return NS_OK;
}
@@ -5536,10 +5536,10 @@
bool
nsWindow::CheckForRollup(gdouble aMouseX, gdouble aMouseY,
bool aIsWheel, bool aAlwaysRollup)
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsWindow.h
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsWindow.h
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/widget/gtk/nsWindow.h 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/nsWindow.h 2014-12-08 19:19:07.482645120 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/widget/gtk/nsWindow.h 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/nsWindow.h 2015-01-22 15:51:49.060421333 +0000
@@ -34,6 +34,8 @@
#include "nsGtkIMModule.h"
@@ -5549,16 +5549,16 @@
#undef LOG
#ifdef MOZ_LOGGING
-@@ -149,6 +151,8 @@
- NS_IMETHOD MakeFullScreen(bool aFullScreen, nsIScreen* aTargetScreen = nullptr);
- NS_IMETHOD HideWindowChrome(bool aShouldHide);
+@@ -150,6 +152,8 @@
+ nsIScreen* aTargetScreen = nullptr) MOZ_OVERRIDE;
+ NS_IMETHOD HideWindowChrome(bool aShouldHide) MOZ_OVERRIDE;
+ void SetMenuBar(nsMenuBar *aMenuBar);
+
/**
* GetLastUserInputTime returns a timestamp for the most recent user input
* event. This is intended for pointer grab requests (including drags).
-@@ -473,6 +477,8 @@
+@@ -475,6 +479,8 @@
* however, IME doesn't work at that time.
*/
nsRefPtr mIMModule;
@@ -5567,10 +5567,10 @@
};
class nsChildWindow : public nsWindow {
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/xpfe/appshell/nsWebShellWindow.cpp
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/xpfe/appshell/nsWebShellWindow.cpp
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/xpfe/appshell/nsWebShellWindow.cpp 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/xpfe/appshell/nsWebShellWindow.cpp 2014-12-08 19:19:07.482645120 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/xpfe/appshell/nsWebShellWindow.cpp 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/xpfe/appshell/nsWebShellWindow.cpp 2015-01-22 15:49:23.547971732 +0000
@@ -58,6 +58,7 @@
#include "nsIScreen.h"
@@ -5603,10 +5603,10 @@
if (nms && menubarContent)
nms->CreateNativeMenuBar(aParentWindow, menubarContent);
}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/moz.build
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/moz.build
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/widget/gtk/moz.build 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/gtk/moz.build 2014-12-08 19:19:07.482645120 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/widget/gtk/moz.build 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/gtk/moz.build 2015-01-22 15:49:23.547971732 +0000
@@ -19,11 +19,20 @@
'nsAppShell.cpp',
'nsBidiKeyboard.cpp',
@@ -5644,11 +5644,11 @@
'/layout/xul',
'/other-licenses/atk-1.0',
'/widget',
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/browser/base/content/browser.js
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/browser/base/content/browser.js
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/browser/base/content/browser.js 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/browser/base/content/browser.js 2014-12-08 19:19:07.486645126 +0000
-@@ -4787,6 +4787,8 @@
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/browser/base/content/browser.js 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/browser/base/content/browser.js 2015-01-22 15:49:23.547971732 +0000
+@@ -4815,6 +4815,8 @@
let toolbarNodes = Array.slice(gNavToolbox.childNodes);
toolbarNodes = toolbarNodes.concat(gNavToolbox.externalToolbars);
toolbarNodes = toolbarNodes.filter(node => node.getAttribute("toolbarname"));
@@ -5657,10 +5657,10 @@
return toolbarNodes;
}
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/moz.build
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/moz.build
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/widget/moz.build 2014-12-08 19:19:07.486645126 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/widget/moz.build 2014-12-08 19:19:07.486645126 +0000
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/widget/moz.build 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/widget/moz.build 2015-01-22 15:49:23.547971732 +0000
@@ -37,10 +37,12 @@
'nsITaskbarProgress.idl',
]
@@ -5675,11 +5675,11 @@
TEST_DIRS += ['tests']
# Don't build the DSO under the 'build' directory as windows does.
-Index: firefox-trunk-37.0~a1~hg20141208r218676/mozilla/modules/libpref/init/all.js
+Index: firefox-trunk-38.0~a1~hg20150122r225116/mozilla/modules/libpref/init/all.js
===================================================================
---- firefox-trunk-37.0~a1~hg20141208r218676.orig/mozilla/modules/libpref/init/all.js 2014-12-08 19:17:38.482511700 +0000
-+++ firefox-trunk-37.0~a1~hg20141208r218676/mozilla/modules/libpref/init/all.js 2014-12-08 19:20:22.742757624 +0000
-@@ -175,6 +175,9 @@
+--- firefox-trunk-38.0~a1~hg20150122r225116.orig/mozilla/modules/libpref/init/all.js 2015-01-22 15:49:23.551971743 +0000
++++ firefox-trunk-38.0~a1~hg20150122r225116/mozilla/modules/libpref/init/all.js 2015-01-22 15:49:23.547971732 +0000
+@@ -185,6 +185,9 @@
pref("browser.sessionhistory.max_total_viewers", -1);
pref("ui.use_native_colors", true);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/im/content/conversation.xml thunderbird-trunk-38.0~a1~hg20150125r17395.225611/im/content/conversation.xml
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/im/content/conversation.xml 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/im/content/conversation.xml 2015-01-25 22:23:56.000000000 +0000
@@ -110,6 +110,10 @@
{
if (chatBuddy.activeTimer)
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/changesets thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/changesets
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/changesets 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/changesets 2015-01-25 22:26:55.000000000 +0000
@@ -5,17 +5,17 @@
bn-BD 106:770ac0af49cd
br 247:b2a174c5dec1
ca 671:0427dac6c811
-cs 1966:9f298225fdd0
+cs 1976:c5b8a39998c8
da 735:3da200622aa9
-de 3008:ea13cdb0f61b
+de 3026:296fe50a134e
el 356:6b23a751385f
en-GB 444:876cf60b4ae5
-es-AR 939:269689170fca
-es-ES 2329:59244fec0708
+es-AR 941:a5759962739b
+es-ES 2344:88866832b6f7
et 530:54f9fbfcd622
eu 379:d7df5b30dd48
fi 557:9fa360eef979
-fr 5241:173f4bf8fad6
+fr 5242:87ff33076a50
fy-NL 1157:453401a56b04
ga-IE 465:f841e9037f9e
gd 519:1c2db3f5f73c
@@ -24,7 +24,7 @@
hu 794:b45f6b60407e
id 512:b520186368ec
is 297:33af74865c25
-it 3598:7880d7c9efdd
+it 3616:c8c6b6088aa5
ja 633:608df4a0c172
ja-JP-mac 634:aba6f4f0ee5e
ka 56:2ee9bc162267
@@ -34,21 +34,21 @@
nl 3806:20d88debd78d
nn-NO 636:2032d95af2a7
pa-IN 589:b51530b15a00
-pl 5098:8c5f15a5118d
+pl 5132:fb28a833caa1
pt-BR 664:723658175bdd
-pt-PT 2057:0cb37830d909
+pt-PT 2061:1c7542ce2615
rm 388:945a12b3635b
ro 414:9a349bbcf451
-ru 2282:510852da0c42
+ru 2286:d7553e65217d
si 414:fb01300c5c4a
-sk 1262:2be4c578a53e
+sk 1276:8d7003a82821
sl 820:a5e5e63844e9
sq 774:4e1d2dc5d752
sr 254:e6fa777ae177
-sv-SE 3057:0d44b23975d5
+sv-SE 3059:048379a7f8c1
ta-LK 112:187926d7b15b
tr 574:72ab8cc561e2
uk 1162:a5cf4538556c
vi 126:57cb46a94324
zh-CN 727:d44f60082bdf
-zh-TW 1084:5bcd2436badc
+zh-TW 1086:7ee4e4b84c8b
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/chat/xmpp.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/chat/xmpp.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/chat/xmpp.properties 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/chat/xmpp.properties 2015-01-25 22:25:20.000000000 +0000
@@ -44,6 +44,9 @@
# fails.
# %S is the name of the MUC.
conversation.error.joinFailed=Připojení se nepodařilo: %S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=Připojení k serveru příjemce se nezdařilo
+conversation.error.unknownError=Neznámá chyba
# LOCALIZATION NOTE (tooltip.*):
# These are the titles of lines of information that will appear in
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/dom/chrome/dom/dom.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/dom/chrome/dom/dom.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/dom/chrome/dom/dom.properties 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/dom/chrome/dom/dom.properties 2015-01-25 22:25:20.000000000 +0000
@@ -157,59 +157,9 @@
SendAsBinaryWarning=Nestandardní metoda sendAsBinary je zastaralá a bude brzy odstraněna. Použijte raději standardní metodu send(Blob data).
# LOCALIZATION NOTE: Do not translate "window.controllers"
Window_ControllersWarning=window.controllers je zastaralé. Nepoužívejte UA detekci.
-
-
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Down" and "ArrowDown".
-KeyNameDownWarning=Hodnota "Down" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ArrowDown". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Left" and "ArrowLeft".
-KeyNameLeftWarning=Hodnota "Left" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ArrowLeft". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Right" and "ArrowRight".
-KeyNameRightWarning=Hodnota "Right" u KeyboardEvent.key je zastaralá a bude přejmenována na "ArrowRight". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Up" and "ArrowUp".
-KeyNameUpWarning=Hodnota "Up" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ArrowUp". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Crsel" and "CrSel".
-KeyNameCrselWarning=Hodnota "Crsel" u KeyboardEvent.key value je zastaralá a bude přejmenována na "CrSel". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Del" and "Delete".
-KeyNameDelWarning=Hodnota "Del" u KeyboardEvent.key value je zastaralá a bude přejmenována na "Delete". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Exsel" and "ExSel".
-KeyNameExselWarning=Hodnota "Exsel" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ExSel". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Menu" and "ContextMenu".
-KeyNameMenuWarning=Hodnota "Menu" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ContextMenu". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Esc" and "Escape".
-KeyNameEscWarning=Hodnota "Esc" u KeyboardEvent.key value je zastaralá a bude přejmenována na "Escape". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Nonconvert" and "NonConvert".
-KeyNameNonconvertWarning=Hodnota "Nonconvert" u KeyboardEvent.key je zastaralá a bude přejmenována na "NonConvert". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "HalfWidth" and "Hankaku".
-KeyNameHalfWidthWarning=Hodnota "HalfWidth" u KeyboardEvent.key value je zastaralá a bude přejmenována na "Hankaku". FPro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "RomanCharacters", "Romaji" and "Eisu".
-KeyNameRomanCharactersWarning=Hodnota "RomanCharacters" u KeyboardEvent.key je zastaralá a bude přejmenována na "Romaji" nebo přemapována na "Eisu". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "FullWith" and "Zenkaku".
-KeyNameFullWidthWarning=Hodnota "FullWidth" u KeyboardEvent.key value je zastaralá a bude přejmenována na "Zenkaku". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "SelectMedia" and "MediaSelect".
-KeyNameSelectMediaWarning=Hodnota "SelectMedia" u KeyboardEvent.key value je zastaralá a bude přejmenována na "MediaSelect". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "MediaNextTrack" and "MediaTrackNext".
-KeyNameMediaNextTrackWarning=Hodnota "MediaNextTrack" u KeyboardEvent.key value je zastaralá a bude přejmenována na "MediaTrackNext". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "MediaPreviousTrack" and "MediaTrackPrevious".
-KeyNameMediaPreviousTrackWarning=Hodnota "MediaPreviousTrack" u KeyboardEvent.key je zastaralá a bude přejmenována na "MediaTrackPrevious". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Red" and "ColorF0Red".
-KeyNameRedWarning=Hodnota "Red" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ColorF0Red". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Green" and "ColorF1Green".
-KeyNameGreenWarning=Hodnota "Green" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ColorF1Green". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Yellow" and "ColorF2Yellow".
-KeyNameYellowWarning=Hodnota "Yellow" u KeyboardEvent.key je zastaralá a bude přejmenována na "ColorF2Yellow". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Blue" and "ColorF3Blue".
-KeyNameBlueWarning=Hodnota "Blue" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ColorF3Blue". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Live".
-KeyNameLiveWarning=Hodnota "Live" u KeyboardEvent.key value is obsolete and will be removed. Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Apps".
-KeyNameAppsWarning=Hodnota "Apps" u KeyboardEvent.key value is obsolete and will be removed. Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "FastFwd" and "MediaFastForward".
-KeyNameFastFwdWarning=Hodnota "FastFwd" u KeyboardEvent.key je zastaralá a bude přejmenována na "MediaFastForward". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key", "Zoom" and "ZoomToggle".
-KeyNameZoomWarning=Hodnota "Zoom" u KeyboardEvent.key value je zastaralá a bude přejmenována na "ZoomToggle". Pro více informací si přečtěte https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
-# LOCALIZATION NOTE: Do not translate "KeyboardEvent.key" and "Dead".
-KeyNameDeadKeysWarning=Hodnota "Dead" u KeyboardEvent.key values starting with are obsolete and will be merged into just "Dead". For more help https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.key
ImportXULIntoContentWarning=Import uzlů XULu do obsahu dokumentu je zastaralé. Tato funkcionalita může být brzy odebrána.
XMLDocumentLoadPrincipalMismatch=Použití document.load je zakázáno na dokumentech, které jsou v jiných oknech. Pouze okno, na které byl dokument vytvořen, může volat .load na tomto dokumentu. Nejlepší je použití XMLHttpRequest.
# LOCALIZATION NOTE: Do not translate "IndexedDB".
-IndexedDBTransactionAbortNavigation=Transakce IndexedDB, která dosud nebyla dokončena, byla navigací stránky zrušena.
\ No newline at end of file
+IndexedDBTransactionAbortNavigation=Transakce IndexedDB, která dosud nebyla dokončena, byla navigací stránky zrušena.
+# LOCALIZATION NOTE (WillChangeBudgetWarning): Do not translate Will-change, %1$S,%2$S,%3$S are numbers.
+WillChangeBudgetWarning=Spotřeba paměti will-change je příliš vysoká. Oblast okrytí je %1$S bodů, dostupné množství je plocha dokumentu vynásobená hodnotou %2$S (%3$S bodů). Všechny výskyty will-change budou v dokumentu ignorovány, jakmile se dostupné množství překročí.
\ No newline at end of file
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/dom/chrome/security/security.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/dom/chrome/security/security.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/dom/chrome/security/security.properties 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/dom/chrome/security/security.properties 2015-01-25 22:25:20.000000000 +0000
@@ -15,7 +15,13 @@
InsecurePasswordsPresentOnPage=Na nezabezpečené stránce (http://) se nachází pole pro zadání hesla. Jedná se o bezpečnostní riziko, v rámci kterého může dojít k odcizení přihlašovacích údajů.
InsecureFormActionPasswordsPresent=Formulář obsahující pole pro zadání hesla má nezabezpečenou akci formuláře (http://). Jedná se o bezpečnostní riziko, v rámci kterého může dojít k odcizení přihlašovacích údajů.
InsecurePasswordsPresentOnIframe=Pole pro zadání hesla jsou umístěna na nezabezpečeném iframe (http://). Jedná se o bezpečnostní riziko, v rámci kterého může dojít k odcizení přihlašovacích údajů.
-LoadingMixedActiveContent=Načítání smíšeného (nezabezpečeného) aktivního obsahu na zabezpečené stránce "%1$S"
-LoadingMixedDisplayContent=Načítání smíšeného (nezabezpečeného) zobrazovaného obsahu na zabezpečené stránce "%1$S"
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Načítání smíšeného (nezabezpečeného) aktivního obsahu na zabezpečené stránce "%1$S"
+LoadingMixedDisplayContent2=Načítání smíšeného (nezabezpečeného) zobrazovaného obsahu na zabezpečené stránce "%1$S"
# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
BothAllowScriptsAndSameOriginPresent=iframe, který má pro svůj atribut sandbox nastavené allow-scripts a allow-same-origin, může odstranit svůj sandboxing.
+
+# LOCALIZATION NOTE: Do not translate "SSL 3.0".
+WeakProtocolVersionWarning=Tato stránka používá pro šifrování protokol SSL 3.0, který je zastaralý a není bezpečný.
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Tato stránka používá na šifrování šifru RC4, který je zastaralá a není bezpečná.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/editor/ui/chrome/dialogs/EditorInsertMath.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/editor/ui/chrome/dialogs/EditorInsertMath.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/editor/ui/chrome/dialogs/EditorInsertMath.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/editor/ui/chrome/dialogs/EditorInsertMath.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -17,9 +17,5 @@
-
-
-
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/charsetTitles.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/charsetTitles.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/charsetTitles.properties 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/charsetTitles.properties 2015-01-25 22:25:20.000000000 +0000
@@ -10,7 +10,6 @@
## charset_name.title = a_title - specifies the human readable title for
## this charset
-us-ascii.title=Angličtina (US-ASCII)
iso-8859-1.title=Západní jazyky (ISO-8859-1)
iso-8859-2.title=Středoevropské jazyky (ISO-8859-2)
iso-8859-3.title=Jihoevropské jazyky (ISO-8859-3)
@@ -39,7 +38,6 @@
hz-gb-2312.title=Zjednodušená čínština (HZ)
gbk.title=Zjednodušená čínština (GBK)
euc-kr.title=Korejština (EUC-KR)
-x-johab.title=Korejština (JOHAB)
utf-7.title=Unicode (UTF-7)
utf-8.title=Unicode (UTF-8)
utf-16.title=Unicode (UTF-16)
@@ -55,17 +53,10 @@
windows-1253.title=Řečtina (Windows-1253)
x-mac-greek.title=Řečtina (MacGreek)
windows-1258.title=Vietnamština (Windows-1258)
-x-viet-tcvn5712.title=Vietnamština (TCVN)
-viscii.title=Vietnamština (VISCII)
-x-viet-vps.title=Vietnamština (VPS)
windows-874.title=Thajština (Windows-874)
-armscii-8.title=Arménština (ARMSCII-8)
iso-8859-6.title=Arabština (ISO-8859-6)
-iso-8859-6-i.title=Arabština (ISO-8859-6-I)
-iso-8859-6-e.title=Arabština (ISO-8859-6-E)
iso-8859-8.title=Hebrejština (ISO-8859-8)
iso-8859-8-i.title=Hebrejština (ISO-8859-8-I)
-iso-8859-8-e.title=Hebrejština (ISO-8859-8-E)
windows-1255.title=Hebrejština (Windows-1255)
windows-1256.title=Arabština (Windows-1256)
x-user-defined.title=Definováno uživatelem
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -23,6 +23,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/messengercompose/composeMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/messengercompose/composeMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/messengercompose/composeMsgs.properties 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/messengercompose/composeMsgs.properties 2015-01-25 22:25:20.000000000 +0000
@@ -251,6 +251,9 @@
copyMessageComplete=Kopírování dokončeno.
copyMessageFailed=Kopírování selhalo.
+filterMessageComplete=Filtr dokončen.
+filterMessageFailed=Filtr selhal.
+
## LOCALIZATION NOTE (largeMessageSendWarning):
## Do not translate %S. It is the size of the message in user-friendly notation.
largeMessageSendWarning=Varování! Chystáte se odeslat zprávu o velikosti %S, čímž můžete překročit povolený limit poštovního serveru. Chcete ji opravdu odeslat?
@@ -358,6 +361,8 @@
## will be replaced with the name of the folder the message is being saved to.
errorSavingMsg=Při ukládání zprávy do složky %S nastala chyba. Zopakovat?
+errorFilteringMsg=Vaše zpráva byla odeslána a uložena, ale došlo k chybě při provádění filtrů.
+
errorCloudFileAuth.title=Chyba přihlášení
## LOCALIZATION NOTE(errorCloudFileAuth.message):
## %1$S is the name of the online storage service that authentication failed against.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/advanced.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/advanced.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/advanced.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/advanced.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -15,6 +15,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/colors.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/colors.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/colors.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/colors.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -6,8 +6,12 @@
-
-
+
+
+
+
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/connection.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/connection.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/connection.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/connection.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -3,7 +3,6 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/fonts.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/fonts.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/fonts.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/fonts.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -3,9 +3,6 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/offline.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/offline.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/offline.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/offline.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -4,13 +4,17 @@
-
+
+
+
-
-
+
+
+
+
@@ -18,7 +22,7 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/preferences.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/preferences.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/mail/chrome/messenger/preferences/preferences.dtd 2015-01-16 19:26:49.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/mail/chrome/messenger/preferences/preferences.dtd 2015-01-25 22:25:20.000000000 +0000
@@ -4,6 +4,7 @@
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/toolkit/chrome/global/aboutReader.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/toolkit/chrome/global/aboutReader.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/cs/toolkit/chrome/global/aboutReader.properties 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/cs/toolkit/chrome/global/aboutReader.properties 2015-01-25 22:25:20.000000000 +0000
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+aboutReader.loading=Probíhá načítání...
+aboutReader.loadError=Načtení článku ze stránky selhalo
+
+aboutReader.colorSchemeLight=Světlé
+aboutReader.colorSchemeDark=Tmavé
+aboutReader.colorSchemeSepia=Sépia
+aboutReader.colorSchemeAuto=Automatický
+
+# LOCALIZATION NOTE (aboutReader.fontTypeSerif, aboutReader.fontTypeSansSerif):
+# These are the names of the fonts that are used.
+aboutReader.fontTypeSerif=Charis SIL Compact
+aboutReader.fontTypeSansSerif=Clear Sans
+
+# LOCALIZATION NOTE (aboutReader.fontTypeSample): String used to sample font types.
+aboutReader.fontTypeSample=Aa
+
+# LOCALIZATION NOTE (aboutReader.fontSizeSample): String used to sample a relative font size
+# for the font size setting. Tapping different samples will change the font size.
+aboutReader.fontSizeSample=A
+
+aboutReader.toolbarTip=Klepnutím na obrazovku zobrazíte možnosti čtečky
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/chat/irc.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/chat/irc.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/chat/irc.properties 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/chat/irc.properties 2015-01-25 22:25:25.000000000 +0000
@@ -13,6 +13,7 @@
# disconnected because of an error.
connection.error.lost=Verbindung mit Server verloren
connection.error.timeOut=Verbindung unterbrochen, keine Antwort
+connection.error.invalidUsername=%S ist kein erlaubter Benutzername
connection.error.invalidPassword=Ungültiges Server-Passwort
connection.error.passwordRequired=Passwort erforderlich
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/charsetTitles.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/charsetTitles.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/charsetTitles.properties 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/charsetTitles.properties 2015-01-25 22:25:25.000000000 +0000
@@ -15,7 +15,6 @@
iso-8859-2.title = Mitteleuropäisch (ISO-8859-2)
iso-8859-3.title = Südeuropäisch (ISO-8859-3)
iso-8859-4.title = Baltisch (ISO-8859-4)
-iso-8859-9.title = Türkisch (ISO-8859-9)
iso-8859-10.title = Nordisch (ISO-8859-10)
iso-8859-13.title = Baltisch (ISO-8859-13)
iso-8859-14.title = Keltisch (ISO-8859-14)
@@ -36,21 +35,17 @@
euc-jp.title = Japanisch (EUC-JP)
big5.title = Chinesisch traditionell (Big5)
big5-hkscs.title = Chinesisch traditionell (Big5-HKSCS)
-x-euc-tw.title = Chinesisch traditionell (EUC-TW)
gb2312.title = Chinesisch vereinfacht (GB2312)
hz-gb-2312.title = Chinesisch vereinfacht (HZ)
gbk.title = Chinesisch vereinfacht (GBK)
-iso-2022-cn.title = Chinesisch vereinfacht (ISO-2022-CN)
euc-kr.title = Koreanisch (EUC-KR)
x-johab.title = Koreanisch (JOHAB)
-iso-2022-kr.title = Koreanisch (ISO-2022-KR)
utf-7.title = Unicode (UTF-7)
utf-8.title = Unicode (UTF-8)
utf-16.title = Unicode (UTF-16)
utf-16le.title = Unicode (UTF-16LE)
utf-16be.title = Unicode (UTF-16BE)
iso-8859-5.title = Kyrillisch (ISO-8859-5)
-iso-ir-111.title = Kyrillisch (ISO-IR-111)
windows-1251.title = Kyrillisch (Windows-1251)
x-mac-cyrillic.title = Kyrillisch (MacCyrillic)
x-mac-ukrainian.title = Kyrillisch/Ukrainisch (MacUkrainian)
@@ -63,10 +58,7 @@
x-viet-tcvn5712.title = Vietnamesisch (TCVN)
viscii.title = Vietnamesisch (VISCII)
x-viet-vps.title = Vietnamesisch (VPS)
-tis-620.title = Thai (TIS-620)
-iso-8859-11.title = Thai (ISO-8859-11)
windows-874.title = Thai (Windows-874)
-ibm874.title = Thai (IBM-874)
armscii-8.title = Armenisch (ARMSCII-8)
iso-8859-6.title = Arabisch (ISO-8859-6)
iso-8859-6-i.title = Arabisch (ISO-8859-6-I)
@@ -78,11 +70,6 @@
windows-1256.title = Arabisch (Windows-1256)
x-user-defined.title = Benutzerdefiniert
ibm866.title = Kyrillisch/Russisch (CP-866)
-ibm850.title = Westlich (IBM-850)
-ibm852.title = Mitteleuropäisch (IBM-852)
-ibm855.title = Kyrillisch (IBM-855)
-ibm857.title = Türkisch (IBM-857)
-ibm862.title = Hebräisch (IBM-862)
gb18030.title = Chinesisch vereinfacht (GB18030)
x-mac-arabic.title = Arabisch (MacArabisch)
x-mac-farsi.title = Farsi (MacFarsi)
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsLimit.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsLimit.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsLimit.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsLimit.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -2,12 +2,5 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this file,
- You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-
-
-
+
-
-
-
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsQuota.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsQuota.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsQuota.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/cloudfile/Hightail/fileExceedsQuota.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -3,9 +3,5 @@
- You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-
-
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/msgHdrViewOverlay.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/msgHdrViewOverlay.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/msgHdrViewOverlay.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/msgHdrViewOverlay.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -49,7 +49,8 @@
-
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/multimessageview.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/multimessageview.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/multimessageview.properties 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/multimessageview.properties 2015-01-25 22:25:25.000000000 +0000
@@ -8,6 +8,14 @@
# number of conversations.
numConversations=#1 Thema;#1 Themen
+# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations. We use this when we didn't actually scan the entire
+# list of selected messages, so there may be more conversations than reported
+# (or maybe not!).
+atLeastNumConversations=#1+ Thema; #1+ Themen
+
# LOCALIZATION NOTE (numMessages): Semi-colon list of plural forms.
# See: http://developer.mozilla.org/en/Localization_and_Plurals
# The number of messages in a thread. #1 is the number of messages.
@@ -25,6 +33,14 @@
# "numMessages". #1 is the number of ignored messages.
numIgnored=, #1 ignoriert;, #1 ignoriert
+# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages. We use this when we
+# didn't actually scan the entire list of selected messages, so there may be
+# more ignored messages than reported (or maybe not!).
+atLeastNumIgnored=, #1+ ignoriert;, #1+ ignoriert
+
# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
# subject.
noSubject=(kein Betreff)
@@ -33,6 +49,12 @@
# disk of the selected messages. #1 is the size, e.g. "123 KB".
messagesTotalSize=Diese Nachrichten belegen #1.
+# LOCALIZATION NOTE (messagesTotalSizeMoreThan): A message indicating the total
+# size on disk of the selected messages. #1 is the size, e.g. "123 KB". We use
+# this when we didn't actually scan the entire list of selected messages, so
+# this is a *minimum* size.
+messagesTotalSizeMoreThan=Diese Nachrichten belegen mehr als #1.
+
# LOCALIZATION NOTE (maxCountExceeded): A message to let the user know that not
# all of the selected messages were summarized. #1 is the total number of
# messages selected and #2 is the number of messages actually shown.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/preferences/privacy.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/preferences/privacy.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger/preferences/privacy.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger/preferences/privacy.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -33,11 +33,6 @@
-
-
-
-
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger-newsblog/feed-subscriptions.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger-newsblog/feed-subscriptions.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/messenger-newsblog/feed-subscriptions.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/messenger-newsblog/feed-subscriptions.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -4,7 +4,7 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/overrides/netError.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/overrides/netError.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/mail/chrome/overrides/netError.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/mail/chrome/overrides/netError.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -169,8 +169,8 @@
Diese Art von Internet-Betrug ist auch bekannt als Phishing. Dabei versuchen Kriminelle in betrügerischer Absicht, Webseiten oder E-Mails nachzuahmen, denen Sie eventuell vertrauen.
">
-
-Laden dieser Seite in dieser Weise wurde vom Browser verhindert, weil sie eine Sicherheitsrichtlinie hat, die das nicht erlaubt.
">
+
+&brandShortName; hat das Laden dieser Seite auf diese Art blockiert, weil diese Seite eine Inhaltsicherheitsrichtlinie (Content Security Policy) hat, das nicht erlaubt.">
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/aboutSupport.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/aboutSupport.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/aboutSupport.properties 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/aboutSupport.properties 2015-01-25 22:25:25.000000000 +0000
@@ -82,3 +82,7 @@
minLibVersions = Minimal vorausgesetzte Version
loadedLibVersions = Verwendete Version
+
+hasSeccompBPF = Seccomp-BPF (Filtern von Systemaufrufen)
+canSandboxContent = Inhaltsprozesse in isolierter Umgebung
+canSandboxMedia = Medienplugins in isolierter Umgebung
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/aboutTelemetry.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/aboutTelemetry.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/aboutTelemetry.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/aboutTelemetry.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -12,6 +12,10 @@
Telemetrie ist deaktiviert.
">
+
+
@@ -28,6 +32,10 @@
Histogramme
">
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/aboutTelemetry.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/aboutTelemetry.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/aboutTelemetry.properties 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/aboutTelemetry.properties 2015-01-25 22:25:25.000000000 +0000
@@ -7,6 +7,10 @@
# - %2$S will be replaced with the value of the toolkit.telemetry.server_owner preference
pageSubtitle = Diese Seite zeigt durch Telemetrie gesammelte Informationen über Performanz, Hardware, Benutzung und vom Benutzer gemachte Änderungen an. Diese Informationen werden an %1$S gesendet, um %2$S zu verbessern.
+generalDataHeadingName = Name
+
+generalDataHeadingValue = Wert
+
slowSqlMain = Langsame SQL-Befehle auf Haupt-Thread
slowSqlOther = Langsame SQL-Befehle auf Hilfs-Thread
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/charsetMenu.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/charsetMenu.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/global/charsetMenu.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/global/charsetMenu.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -4,15 +4,3 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/passwordmgr/passwordManager.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/passwordmgr/passwordManager.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/toolkit/chrome/passwordmgr/passwordManager.dtd 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/toolkit/chrome/passwordmgr/passwordManager.dtd 2015-01-25 22:25:25.000000000 +0000
@@ -33,3 +33,4 @@
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/webapprt/webapprt/overrides/appstrings.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/webapprt/webapprt/overrides/appstrings.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/de/webapprt/webapprt/overrides/appstrings.properties 2015-01-16 19:26:52.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/de/webapprt/webapprt/overrides/appstrings.properties 2015-01-25 22:25:25.000000000 +0000
@@ -30,6 +30,6 @@
externalProtocolLaunchBtn=Anwendung ausführen
malwareBlocked=Die Seite auf %S wurde als attackierende Seite gemeldet und auf Grund Ihrer Sicherheitseinstellungen blockiert.
phishingBlocked=Die Website auf %S ist als eine gefälschte Seite gemeldet, die erstellt wurde, um Anwender dazu zu verleiten, persönliche oder finanzielle Daten preiszugeben.
-cspFrameAncestorBlocked=Diese Anwendung versucht auf eine Ressource zuzugreifen, welche über eine Inhaltsicherheitsrichtlinie (Content Security Policy) verfügt, die eine Einbettung dieser Art verhindert.
+cspBlocked=Diese Anwendung versucht auf eine Ressource zuzugreifen, welche über eine Inhaltsicherheitsrichtlinie (Content Security Policy) verfügt, die eine Einbettung dieser Art verhindert.
corruptedContentError=Die Anwendung kann nicht weiter geladen werden, da ein Fehler in der Datenübertragung festgestellt wurde.
remoteXUL=Diese Anwendung hat versucht, eine nicht mehr unterstützte Technik (Remote-XUL) zu verwenden.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:26:58.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:25:31.000000000 +0000
@@ -25,6 +25,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/mail/chrome/messenger/imapMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/mail/chrome/messenger/imapMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/mail/chrome/messenger/imapMsgs.properties 2015-01-16 19:26:58.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/mail/chrome/messenger/imapMsgs.properties 2015-01-25 22:25:31.000000000 +0000
@@ -75,17 +75,15 @@
imapEmptyMimePart=Esta parte del cuerpo del mensaje se descargará bajo demanda.
-# LOCALIZATION NOTE (imapReceivingMessageHeaders): Do not translate the word "%1$S", "%2$lu" or "%3$lu" below.
-# Place the word %1$S in your translation where the name of the server should appear.
-# Place the word %2$lu where the number of the header currently being downloaded should appear.
-# Place the word %3$lu where the number of headers should appear.
-imapReceivingMessageHeaders=%S Descargando encabezados de mensajes %lu de %lu
-
-# LOCALIZATION NOTE (imapReceivingMessageFlags): Do not translate the word "%1$S", "%2$lu" or "%3$lu" below.
-# Place the word %1$S in your translation where the name of the server should appear.
-# Place the word %2$lu where the number of the flag currently being downloaded should appear.
-# Place the word %3$lu where the number of flags should appear.
-imapReceivingMessageFlags=%S Descargando marcas en mensajes %lu de %lu
+# LOCALIZATION NOTE (imapReceivingMessageHeaders2): Do not translate the word "%S" or "%lu" below.
+# Place the word %S in your translation where the name of the server should appear.
+# Place the word %lu where the number of headers should appear.
+imapReceivingMessageHeaders2=%S Descargando encabezados de mensajes %lu de %lu…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags2): Do not translate the word "%S" or "%lu" below.
+# Place the word %S in your translation where the name of the server should appear.
+# Place the word %lu where the number of flags should appear.
+imapReceivingMessageFlags2=%S Descargando marcas en mensajes %lu de %lu…
imapDeletingMessages=Borrando mensajes…
@@ -107,10 +105,10 @@
# Place the word %S in your translation where the name of the folder should appear.
imapCopyingMessage=Copiando mensaje a %S…
-# LOCALIZATION NOTE (imapFolderReceivingMessageOf): Do not translate the word "%S" or "%lu" below.
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf2): Do not translate the word "%S" or "%lu" below.
# Place the word %S in your translation where the name of the folder should appear.
# Place the word %lu where the number of headers should appear.
-imapFolderReceivingMessageOf=%S - Descargando mensaje %lu de %lu
+imapFolderReceivingMessageOf2=%S - Descargando mensaje %lu de %lu…
# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
# Place the word %S in your translation where the name of the folder should appear.
@@ -198,11 +196,11 @@
# Out of memory
imapOutOfMemory=La aplicación se ha quedado sin memoria.
-# LOCALIZATION NOTE (imapCopyingMessageOf): Do not translate the word "%S" below.
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
# Place the word %3$S in your translation where the name of the destination folder should appear.
# Place the word %1$S where the currently copying message should appear.
# Place the word %2$S where the total number of messages should appear.
-imapCopyingMessageOf=Copiando mensaje %1$S de %2$S a %3$S
+imapCopyingMessageOf2=Copiando mensaje %1$S de %2$S a %3$S…
# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
# "%S" is the the name of the folder.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/mail/chrome/messenger/preferences/connection.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/mail/chrome/messenger/preferences/connection.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/mail/chrome/messenger/preferences/connection.dtd 2015-01-16 19:26:58.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/mail/chrome/messenger/preferences/connection.dtd 2015-01-25 22:25:31.000000000 +0000
@@ -3,7 +3,6 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/toolkit/chrome/mozapps/downloads/downloads.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/toolkit/chrome/mozapps/downloads/downloads.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-AR/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-16 19:26:58.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-AR/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-25 22:25:31.000000000 +0000
@@ -31,15 +31,14 @@
offlineCancelDownloadsAlertMsgMultiple = Si se desconecta ahora, %S descargas serán canceladas. ¿Seguro que desea trabajar sin conexión?
offlineCancelDownloadsAlertMsg = Si se desconecta ahora, 1 descarga será cancelada. ¿Seguro que desea trabajar sin conexión?
leavePrivateBrowsingCancelDownloadsAlertTitle=¿Cancelar todas las descargas?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsg=Si cierra todas las ventanas de Navegación Privada ahora, 1 descarga será cancelada. ¿Está seguro de querer dejar el modo de Navegación Privada?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple=Si cierra todas las ventanas de Navegación Privada ahora, %S descargas serán canceladas. ¿Está seguro de querer dejar el modo de Navegación Privada?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=Si cierra todas las ventanas de navegación privada ahora, 1 descarga será cancelada. ¿Está seguro de querer dejar la navegación privada?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=Si cierra todas las ventanas de navegación privada ahora, %S descargas serán canceladas. ¿Está seguro de querer dejar la navegación privada?
cancelDownloadsOKText = Cancelar 1 descarga
cancelDownloadsOKTextMultiple = Cancelar %S descargas
dontQuitButtonWin = No salir
dontQuitButtonMac = No salir
dontGoOfflineButton = Mantenerse conectado
-dontEnterPrivateBrowsingButton=No entrar en el modo de Navegación Privada
-dontLeavePrivateBrowsingButton=Mantenerse en el modo de Navegación Privada
+dontLeavePrivateBrowsingButton2=Mantenerse en navegación privada
downloadsCompleteTitle = Descargas completas
downloadsCompleteMsg = Todos los archivos se han descargado.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-ES/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-ES/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-ES/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:27:00.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-ES/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:25:33.000000000 +0000
@@ -22,6 +22,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-ES/mail/chrome/messenger/imapMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-ES/mail/chrome/messenger/imapMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-ES/mail/chrome/messenger/imapMsgs.properties 2015-01-16 19:27:00.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-ES/mail/chrome/messenger/imapMsgs.properties 2015-01-25 22:25:33.000000000 +0000
@@ -22,15 +22,15 @@
imapGettingServerInfo = Obteniendo información sobre el servidor…
imapGettingMailboxInfo = Obteniendo información sobre el buzón…
imapEmptyMimePart = Esta parte del cuerpo del mensaje se descargará bajo demanda.
-imapReceivingMessageHeaders = %S Recibiendo: cabeceras de mensajes %lu de %lu
-imapReceivingMessageFlags = %S Descargando mensaje señalado %lu de %lu
+imapReceivingMessageHeaders2 = %S Descargando cabecera de mensajes %lu de %lu…
+imapReceivingMessageFlags2 = %S Descargando señal de mensaje %lu de %lu…
imapDeletingMessages = Eliminando mensajes…
imapDeletingMessage = Eliminando mensaje…
imapMovingMessages = Moviendo mensajes a %S…
imapMovingMessage = Moviendo mensaje a %S…
imapCopyingMessages = Copiando mensajes a %S…
imapCopyingMessage = Copiando mensaje a %S…
-imapFolderReceivingMessageOf = %S - Recibiendo: mensaje %lu de %lu
+imapFolderReceivingMessageOf2 = %S - Descargando mensaje %lu de %lu…
imapDiscoveringMailbox = Encontrada la carpeta: %S
imapEnterPasswordPrompt = Introduzca su contraseña para %S:
imapServerNotImap4 = El servidor de correo %S no es un servidor de correo IMAP4.
@@ -70,7 +70,7 @@
imapQuotaStatusNotSupported = Este servidor no incluye la característica de cuotas.
imapQuotaStatusNoQuota = No hay cuotas de almacenamiento en esta carpeta.
imapOutOfMemory = La aplicación se ha quedado sin memoria.
-imapCopyingMessageOf = Copiando mensaje %1$S de %2$S a %3$S
+imapCopyingMessageOf2 = Copiando mensaje %1$S de %2$S a %3$S…
imapMoveFolderToTrash = ¿Seguro que quiere eliminar la carpeta '%S'?
imapDeleteNoTrash = Eliminar esta carpeta no puede deshacerse y eliminará todos los mensajes que contiene y sus subcarpetas. ¿Aún está seguro de que quiere eliminar la carpeta '%S'?
imapDeleteFolderDialogTitle = Eliminar carpeta
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-ES/toolkit/chrome/mozapps/downloads/downloads.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-ES/toolkit/chrome/mozapps/downloads/downloads.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/es-ES/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-16 19:27:00.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/es-ES/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-25 22:25:33.000000000 +0000
@@ -24,15 +24,14 @@
offlineCancelDownloadsAlertMsg = Si pasa al modo sin conexión ahora, se cancelará una descarga. ¿Seguro que quiere pasar al modo sin conexión?
offlineCancelDownloadsAlertMsgMultiple = Si pasa al modo sin conexión ahora, se cancelarán %S descargas. ¿Seguro que quiere pasar al modo sin conexión?
leavePrivateBrowsingCancelDownloadsAlertTitle = ¿Cancelar todas las descargas?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsg = Si cierra todas las ventanas de navegación privada ahora, se cancelará 1 descarga. ¿Seguro que quiere salir del modo de navegación privada?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple = Si cierra todas las ventanas de navegación privada ahora, se cancelarán %S descargas. ¿Seguro que quiere salir del modo de navegación privada?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2 = Si cierra todas las ventanas de navegación privada ahora, se cancelará una descarga. ¿Está seguro de que quiere abandonar la navegación privada?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2 = Si cierra todas las ventanas de navegación privada ahora, se cancelarán %S descargas. ¿Está seguro de que quiere abandonar la navegación privada?
cancelDownloadsOKText = Cancelar una descarga
cancelDownloadsOKTextMultiple = Cancelar %S descargas
dontQuitButtonWin = No salir
dontQuitButtonMac = No cerrar
dontGoOfflineButton = Permanecer conectado
-dontEnterPrivateBrowsingButton = No entrar en el modo de navegación privada
-dontLeavePrivateBrowsingButton = Permanecer en modo de navegación privada
+dontLeavePrivateBrowsingButton2 = Seguir en navegación privada
downloadsCompleteTitle = Descargas completadas
downloadsCompleteMsg = Todos los archivos han terminado de descargarse.\u0020
infiniteRate = Muy, muy rápido
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/it/toolkit/chrome/global/aboutSupport.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/it/toolkit/chrome/global/aboutSupport.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/it/toolkit/chrome/global/aboutSupport.dtd 2015-01-16 19:27:24.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/it/toolkit/chrome/global/aboutSupport.dtd 2015-01-25 22:26:00.000000000 +0000
@@ -36,12 +36,12 @@
-
+
file user.js con preferenze che non sono state impostate da &brandShortName;.">
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/it/toolkit/chrome/global/devtools/csscoverage.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/it/toolkit/chrome/global/devtools/csscoverage.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/it/toolkit/chrome/global/devtools/csscoverage.dtd 2015-01-16 19:27:24.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/it/toolkit/chrome/global/devtools/csscoverage.dtd 2015-01-25 22:26:00.000000000 +0000
@@ -6,9 +6,9 @@
-
-
-
+
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/chat/accounts.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/chat/accounts.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/chat/accounts.properties 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/chat/accounts.properties 2015-01-25 22:26:21.000000000 +0000
@@ -4,4 +4,4 @@
passwordPromptTitle=Hasło dla konta %S
passwordPromptText=Wprowadź hasło dla konta %S, aby się połączyć.
-passwordPromptSaveCheckbox=Użyj Menedżera haseł, aby zapamiętać to hasło.
+passwordPromptSaveCheckbox=Użyj Menedżera haseł, aby zachować to hasło.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/editor/ui/chrome/composer/editor.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/editor/ui/chrome/composer/editor.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/editor/ui/chrome/composer/editor.properties 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/editor/ui/chrome/composer/editor.properties 2015-01-25 22:26:21.000000000 +0000
@@ -22,7 +22,7 @@
Publish=Opublikuj
PublishPage=Opublikuj stronę
DontPublish=Nie publikuj
-SavePassword=Użyj Menedżera haseł, aby zapamiętać to hasło.
+SavePassword=Użyj Menedżera haseł, aby zachować to hasło.
CorrectSpelling=(poprawna pisownia)
NoSuggestedWords=(brak sugerowanych słów)
NoMisspelledWord=Żadnych błędnych słów
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/editor/ui/chrome/dialogs/EditorPublish.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/editor/ui/chrome/dialogs/EditorPublish.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/editor/ui/chrome/dialogs/EditorPublish.dtd 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/editor/ui/chrome/dialogs/EditorPublish.dtd 2015-01-25 22:26:20.000000000 +0000
@@ -60,6 +60,6 @@
-
-
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/accountCreation.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/accountCreation.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/accountCreation.dtd 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/accountCreation.dtd 2015-01-25 22:26:21.000000000 +0000
@@ -14,7 +14,7 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:26:21.000000000 +0000
@@ -26,6 +26,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/imAccountWizard.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/imAccountWizard.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/imAccountWizard.dtd 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/imAccountWizard.dtd 2015-01-25 22:26:21.000000000 +0000
@@ -15,7 +15,7 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/imapMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/imapMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/imapMsgs.properties 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/imapMsgs.properties 2015-01-25 22:26:21.000000000 +0000
@@ -22,15 +22,15 @@
imapGettingServerInfo=Pobieranie informacji konfiguracyjnych serwera…
imapGettingMailboxInfo=Pobieranie informacji konfiguracyjnych skrzynki pocztowej…
imapEmptyMimePart=Treść wiadomości zostanie pobrana na żądanie.
-imapReceivingMessageHeaders=%S - Pobieranie nagłówka wiadomości (%lu z %lu)…
-imapReceivingMessageFlags=%S - Pobieranie flagi wiadomości (%lu z %lu)…
+imapReceivingMessageHeaders2=%S - Pobieranie nagłówka wiadomości (%lu z %lu)…
+imapReceivingMessageFlags2=%S - Pobieranie flagi wiadomości (%lu z %lu)…
imapDeletingMessages=Usuwanie wiadomości…
imapDeletingMessage=Usuwanie wiadomości…
imapMovingMessages=Przenoszenie wiadomości do %S…
imapMovingMessage=Przenoszenie wiadomości do %S…
imapCopyingMessages=Kopiowanie wiadomości do %S…
imapCopyingMessage=Kopiowanie wiadomości do %S…
-imapFolderReceivingMessageOf=%S - Pobieranie wiadomości %lu z %lu…
+imapFolderReceivingMessageOf2=%S - Pobieranie wiadomości %lu z %lu…
imapDiscoveringMailbox=Znaleziono folder: %S
imapEnterPasswordPrompt=Podaj hasło dla %S:
imapServerNotImap4=Serwer pocztowy %S nie jest serwerem typu IMAP4.
@@ -72,8 +72,7 @@
imapQuotaStatusNoQuota=Limit miejsca dla folderu nie został określony.
imapOutOfMemory=Za mało pamięci dla aplikacji.
-# %3$S - destination folder; %1$S - currently copying; %2$S - total number of messages
-imapCopyingMessageOf=Kopiowanie wiadomości %1$S z %2$S do %3$S
+imapCopyingMessageOf2=Kopiowanie wiadomości %1$S z %2$S do „%3$S”…
imapMoveFolderToTrash=Czy na pewno usunąć folder „%S”?
imapDeleteNoTrash=Usunięcie tego folderu jest operacją nieodwracalną i spowoduje usunięcie wszystkich zawartych w nim wiadomości oraz podfolderów. Czy na pewno kontynuować usuwanie folderu „%S”?
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/messengercompose/composeMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/messengercompose/composeMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/messengercompose/composeMsgs.properties 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/messengercompose/composeMsgs.properties 2015-01-25 22:26:21.000000000 +0000
@@ -187,7 +187,7 @@
errorSavingMsg = Wystąpił błąd podczas zapisywania wiadomości do folderu %S. Czy ponowić próbę?
-errorFilteringMsg=Wiadomość została wysłana i zapisana ale wystąpił błąd podczas stosowania do niej filtrów.
+errorFilteringMsg=Wiadomość została wysłana i zapisana, ale wystąpił błąd podczas stosowania do niej filtrów.
errorCloudFileAuth.title=Błąd uwierzytelniania
errorCloudFileAuth.message=Uwierzytelnienie w serwisie %1$S nie powiodło się.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/migration/migration.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/migration/migration.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/migration/migration.properties 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/migration/migration.properties 2015-01-25 22:26:21.000000000 +0000
@@ -18,7 +18,7 @@
8_seamonkey = Dane treningowe filtru niechcianej poczty
-16_seamonkey = Zapamiętane hasła
+16_seamonkey=Zachowane hasła
32_seamonkey = Inne dane
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/preferences/security.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/preferences/security.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/mail/chrome/messenger/preferences/security.dtd 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/mail/chrome/messenger/preferences/security.dtd 2015-01-25 22:26:21.000000000 +0000
@@ -32,13 +32,13 @@
-
+
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/toolkit/chrome/mozapps/downloads/downloads.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/toolkit/chrome/mozapps/downloads/downloads.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pl/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-16 19:27:42.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pl/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-25 22:26:21.000000000 +0000
@@ -31,19 +31,16 @@
offlineCancelDownloadsAlertTitle=Czy anulować pobieranie wszystkich plików?
offlineCancelDownloadsAlertMsgMultiple=Jeśli przejdziesz teraz do trybu offline, pobieranie wszystkich %S plików zostanie anulowane. Czy na pewno przejść do trybu offline?
offlineCancelDownloadsAlertMsg=Jeśli przejdziesz teraz do trybu offline, pobieranie bieżącego pliku zostanie anulowane. Czy na pewno przejść do trybu offline?
-# FIXME: bap 2011, private browsing in enterPrivateBrowsingCancelDownloadsAlertMsg, enterPrivateBrowsingCancelDownloadsAlertMsgMultiple, leavePrivateBrowsingCancelDownloadsAlertMsg, leavePrivateBrowsingCancelDownloadsAlertMsgMultiple
leavePrivateBrowsingCancelDownloadsAlertTitle=Czy anulować pobieranie wszystkich plików?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsg=Zamknięcie wszystkich okien trybu prywatnego teraz spowoduje przerwanie pobierania 1 pliku. Czy na pewno opuścić tryb prywatny?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple=Zamknięcie wszystkich okien trybu prywatnego teraz spowoduje przerwanie pobierania %S plików. Czy na pewno opuścić tryb prywatny?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=Zamknięcie wszystkich okien trybu prywatnego teraz spowoduje przerwanie pobierania 1 pliku. Czy na pewno opuścić tryb prywatny?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=Zamknięcie wszystkich okien trybu prywatnego teraz spowoduje przerwanie pobierania %S plików. Czy na pewno opuścić tryb prywatny?
cancelDownloadsOKText=Anuluj pobieranie 1 pliku
cancelDownloadsOKTextMultiple=Anuluj pobieranie %S plików
dontQuitButtonWin=Nie kończ
dontQuitButtonMac=Nie zamykaj
dontGoOfflineButton=Pozostań w trybie online
-# FIXME: bap 2011, private browsing in dontEnterPrivateBrowsingButton, dontLeavePrivateBrowsingButton
-dontEnterPrivateBrowsingButton=Nie przechodź do trybu prywatnego
-dontLeavePrivateBrowsingButton=Pozostań w trybie prywatnym
+dontLeavePrivateBrowsingButton2=Pozostań w trybie prywatnym
downloadsCompleteTitle=Zakończono pobieranie
downloadsCompleteMsg=Zakończono pobieranie wszystkich plików
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/chat/xmpp.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/chat/xmpp.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/chat/xmpp.properties 2015-01-16 19:27:46.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/chat/xmpp.properties 2015-01-25 22:26:25.000000000 +0000
@@ -34,7 +34,6 @@
connection.error.notAuthorized=Não autorizado (introduziu a senha correta?)
connection.error.failedToGetAResource=Falha ao obter recurso
-
# LOCALIZATION NOTE (conversation.error.notDelivered):
# This is displayed in a conversation as an error message when a message
# the user has sent wasn't delivered.
@@ -44,6 +43,9 @@
# fails.
# %S is the name of the MUC.
conversation.error.joinFailed=Não foi possível juntar: %S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=Não foi possível ligar ao servidor do destinatário
+conversation.error.unknownError=Erro desconhecido
# LOCALIZATION NOTE (tooltip.*):
# These are the titles of lines of information that will appear in
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/colors.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/colors.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/colors.dtd 2015-01-16 19:27:46.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/colors.dtd 2015-01-25 22:26:25.000000000 +0000
@@ -2,29 +2,29 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/connection.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/connection.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/connection.dtd 2015-01-16 19:27:46.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/connection.dtd 2015-01-25 22:26:25.000000000 +0000
@@ -2,39 +2,39 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/fonts.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/fonts.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/fonts.dtd 2015-01-16 19:27:46.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/fonts.dtd 2015-01-25 22:26:25.000000000 +0000
@@ -3,22 +3,26 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-
-
+
+
+
+
+
-
+
+
+
@@ -54,7 +58,7 @@
-
+
@@ -68,7 +72,8 @@
+
-
\ No newline at end of file
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/preferences.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/preferences.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/pt-PT/mail/chrome/messenger/preferences/preferences.dtd 2015-01-16 19:27:46.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/pt-PT/mail/chrome/messenger/preferences/preferences.dtd 2015-01-25 22:26:25.000000000 +0000
@@ -4,6 +4,7 @@
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/ru/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/ru/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/ru/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:27:51.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/ru/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:26:32.000000000 +0000
@@ -22,6 +22,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/ru/mail/chrome/messenger/imapMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/ru/mail/chrome/messenger/imapMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/ru/mail/chrome/messenger/imapMsgs.properties 2015-01-16 19:27:51.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/ru/mail/chrome/messenger/imapMsgs.properties 2015-01-25 22:26:32.000000000 +0000
@@ -22,15 +22,15 @@
imapGettingServerInfo = Получение информации о настройках сервера…
imapGettingMailboxInfo = Получение информации о настройках почтового ящика…
imapEmptyMimePart = Эта часть сообщения будет загружена по первому требованию.
-imapReceivingMessageHeaders = %S Идёт загрузка заголовков сообщений: %lu из %lu
-imapReceivingMessageFlags = %S Идёт загрузка флагов сообщений: %lu из %lu
+imapReceivingMessageHeaders2 = %S Идёт загрузка заголовков сообщений: %lu из %lu…
+imapReceivingMessageFlags2 = %S Идёт загрузка флагов сообщений: %lu из %lu…
imapDeletingMessages = Удаление сообщений…
imapDeletingMessage = Удаление сообщения…
imapMovingMessages = Перемещение сообщений в «%S»…
imapMovingMessage = Перемещение сообщения в «%S»…
imapCopyingMessages = Копирование сообщений в «%S»…
imapCopyingMessage = Копирование сообщения в «%S»…
-imapFolderReceivingMessageOf = %S — Идёт загрузка сообщений: %lu из %lu
+imapFolderReceivingMessageOf2 = %S — Идёт загрузка сообщений: %lu из %lu…
imapDiscoveringMailbox = Найдена папка: «%S»
imapEnterPasswordPrompt = Введите пароль для «%S»:
imapServerNotImap4 = Почтовый сервер «%S» не является сервером IMAP4.
@@ -68,7 +68,7 @@
imapQuotaStatusNotSupported = Сервер не поддерживает квоты.
imapQuotaStatusNoQuota = Для этой папки квота на размер содержимого не назначена.
imapOutOfMemory = Недостаточно памяти для работы приложения.
-imapCopyingMessageOf = Идёт копирование сообщения %1$S из %2$S в «%3$S»
+imapCopyingMessageOf2 = Идёт копирование сообщений в папку «%3$S»: %1$S из %2$S…
imapMoveFolderToTrash = Вы действительно хотите удалить папку «%S»?
imapDeleteNoTrash = Удаление этой папки невозможно отменить, и оно приведет к удалению всех содержащихся в ней сообщений и папок. Вы действительно хотите удалить папку «%S»?
imapDeleteFolderDialogTitle = Удалить папку
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/ru/toolkit/chrome/mozapps/downloads/downloads.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/ru/toolkit/chrome/mozapps/downloads/downloads.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/ru/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-16 19:27:51.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/ru/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-25 22:26:32.000000000 +0000
@@ -24,15 +24,14 @@
offlineCancelDownloadsAlertMsg = При переходе в автономный режим работы будет отменена одна загрузка. Вы действительно этого хотите?
offlineCancelDownloadsAlertMsgMultiple = При переходе в автономный режим работы будет отменено несколько (%S) загрузок. Вы действительно этого хотите?
leavePrivateBrowsingCancelDownloadsAlertTitle = Отменить все загрузки?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsg = Если вы сейчас закроете все окна приватного просмотра, 1 загрузка будет отменена. Вы уверены, что хотите выйти из режима приватного просмотра?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple = Если вы сейчас закроете все окна приватного просмотра, %S загрузок будет отменено. Вы уверены, что хотите выйти из режима приватного просмотра?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2 = Если вы сейчас закроете все окна Приватного просмотра, будет отменена 1 загрузка. Вы уверены, что хотите выйти из Приватного просмотра?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2 = Если вы сейчас закроете все окна Приватного просмотра, будет отменено %S загрузок. Вы уверены, что хотите выйти из Приватного просмотра?
cancelDownloadsOKText = Отменить загрузку
cancelDownloadsOKTextMultiple = Отменить несколько (%S) загрузок
dontQuitButtonWin = Не завершать работу
dontQuitButtonMac = Не завершать работу
dontGoOfflineButton = Сохранить подключение
-dontEnterPrivateBrowsingButton = Не входить в режим приватного просмотра
-dontLeavePrivateBrowsingButton = Остаться в режиме приватного просмотра
+dontLeavePrivateBrowsingButton2 = Остаться в Приватном просмотре
downloadsCompleteTitle = Загрузки завершены
downloadsCompleteMsg = Все файлы были загружены.
infiniteRate = Очень быстро
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/sk/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/sk/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/sk/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:27:55.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/sk/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:26:36.000000000 +0000
@@ -26,6 +26,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/sk/mail/chrome/messenger/imapMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/sk/mail/chrome/messenger/imapMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/sk/mail/chrome/messenger/imapMsgs.properties 2015-01-16 19:27:55.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/sk/mail/chrome/messenger/imapMsgs.properties 2015-01-25 22:26:37.000000000 +0000
@@ -75,17 +75,15 @@
imapEmptyMimePart=Táto časť tela správy bude prevzatá na požiadanie.
-# LOCALIZATION NOTE (imapReceivingMessageHeaders): Do not translate the word "%1$S", "%2$lu" or "%3$lu" below.
-# Place the word %1$S in your translation where the name of the server should appear.
-# Place the word %2$lu where the number of the header currently being downloaded should appear.
-# Place the word %3$lu where the number of headers should appear.
-imapReceivingMessageHeaders=%S - Prijímajú sa hlavičky správ (%lu z %lu)
-
-# LOCALIZATION NOTE (imapReceivingMessageFlags): Do not translate the word "%1$S", "%2$lu" or "%3$lu" below.
-# Place the word %1$S in your translation where the name of the server should appear.
-# Place the word %2$lu where the number of the flag currently being downloaded should appear.
-# Place the word %3$lu where the number of flags should appear.
-imapReceivingMessageFlags=%S - Prijímajú sa príznaky správ (%lu z %lu)
+# LOCALIZATION NOTE (imapReceivingMessageHeaders2): Do not translate the word "%S" or "%lu" below.
+# Place the word %S in your translation where the name of the server should appear.
+# Place the word %lu where the number of headers should appear.
+imapReceivingMessageHeaders2=%S - Prijímajú sa hlavičky správ (%lu z %lu)…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags2): Do not translate the word "%S" or "%lu" below.
+# Place the word %S in your translation where the name of the server should appear.
+# Place the word %lu where the number of flags should appear.
+imapReceivingMessageFlags2=%S - Prijímajú sa príznaky správ (%lu z %lu)…
imapDeletingMessages=Odstraňujú sa správy…
@@ -107,10 +105,10 @@
# Place the word %S in your translation where the name of the folder should appear.
imapCopyingMessage=Kopírovanie správy do %S…
-# LOCALIZATION NOTE (imapFolderReceivingMessageOf): Do not translate the word "%S" or "%lu" below.
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf2): Do not translate the word "%S" or "%lu" below.
# Place the word %S in your translation where the name of the folder should appear.
# Place the word %lu where the number of headers should appear.
-imapFolderReceivingMessageOf=%S - Prijímajú sa správy (%lu z %lu)
+imapFolderReceivingMessageOf2=%S - Prijímajú sa správy (%lu z %lu)…
# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
# Place the word %S in your translation where the name of the folder should appear.
@@ -196,11 +194,11 @@
# Out of memory
imapOutOfMemory=Aplikácia má nedostatok pamäte.
-# LOCALIZATION NOTE (imapCopyingMessageOf): Do not translate the word "%S" below.
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
# Place the word %3$S in your translation where the name of the destination folder should appear.
# Place the word %1$S where the currently copying message should appear.
# Place the word %2$S where the total number of messages should appear.
-imapCopyingMessageOf=Kopírovanie správy %1$S z %2$S do priečinka %3$S
+imapCopyingMessageOf2=Kopíruje sa správa %1$S z %2$S do priečinka %3$S…
# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
# "%S" is the the name of the folder.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/sk/toolkit/chrome/mozapps/downloads/downloads.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/sk/toolkit/chrome/mozapps/downloads/downloads.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/sk/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-16 19:27:55.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/sk/toolkit/chrome/mozapps/downloads/downloads.properties 2015-01-25 22:26:37.000000000 +0000
@@ -32,15 +32,14 @@
offlineCancelDownloadsAlertMsgMultiple=Ak sa teraz prepnete do režimu offline, zruší sa niekoľko preberaní súborov (celkom %S). Naozaj chcete prepnúť do režimu offline?
offlineCancelDownloadsAlertMsg=Ak sa teraz prepnete do režimu offline, zruší sa preberanie 1 súboru. Naozaj chcete prepnúť do režimu offline?
leavePrivateBrowsingCancelDownloadsAlertTitle=Zrušiť preberanie všetkých súborov?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsg=Ak teraz zavriete všetky okná režimu Súkromné prehliadanie, zruší sa preberanie 1 súboru. Naozaj chcete opustiť režim Súkromné prehliadanie?
-leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple=Ak teraz zavriete všetky okná režimu Súkromné prehliadanie, zruší sa niekoľko preberaní súborov (celkom %S). Naozaj chcete opustiť režim Súkromné prehliadanie?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=Ak teraz zavriete všetky okná režimu Súkromné prehliadanie, zruší sa preberanie 1 súboru. Naozaj chcete opustiť režim Súkromné prehliadanie?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=Ak teraz zavriete všetky okná režimu Súkromné prehliadanie, zruší sa niekoľko preberaní súborov (celkom %S). Naozaj chcete opustiť režim Súkromné prehliadanie?
cancelDownloadsOKText=Áno, zrušiť preberanie súboru
cancelDownloadsOKTextMultiple=Áno, zrušiť preberanie súborov (celkom %S)
dontQuitButtonWin=Nie, pokračovať
dontQuitButtonMac=Nie, pokračovať
dontGoOfflineButton=Nie, zostať v režime online
-dontEnterPrivateBrowsingButton=Neprechádzať do režimu Súkromné prehliadanie
-dontLeavePrivateBrowsingButton=Zostať v režime Súkromné prehliadanie
+dontLeavePrivateBrowsingButton2=Zostať v režime Súkromné prehliadanie
downloadsCompleteTitle=Preberanie dokončené
downloadsCompleteMsg=Všetky súbory boli úspešne prevzaté
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/downloadheaders.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/downloadheaders.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/downloadheaders.dtd 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/downloadheaders.dtd 2015-01-25 22:26:54.000000000 +0000
@@ -16,6 +16,6 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/FilterEditor.dtd 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/FilterEditor.dtd 2015-01-25 22:26:54.000000000 +0000
@@ -8,7 +8,7 @@
-
+
@@ -16,13 +16,13 @@
-
-
+
+
-
+
-
-
+
+
@@ -34,18 +34,18 @@
-
-
+
+
-
-
+
+
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/filter.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/filter.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/filter.properties 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/filter.properties 2015-01-25 22:26:54.000000000 +0000
@@ -60,7 +60,7 @@
filterMissingCustomAction=遺失自訂動作
filterAction2=已變更優先順序
filterAction3=已刪除
-filterAction4=已標為已讀
+filterAction4=已標示為已讀
filterAction5=已砍掉此主題
filterAction6=已追蹤此主題
filterAction7=已加上星號
@@ -75,7 +75,7 @@
filterAction16=已複製到郵件匣
filterAction17=已貼標籤
filterAction18=忽略回覆討論串
-filterAction19=已標示為未讀取
+filterAction19=已標示為未讀
# LOCALIZATION NOTE(filterAutoNameStr)
# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc.
# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/mailviews.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/mailviews.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/mailviews.properties 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/mailviews.properties 2015-01-25 22:26:54.000000000 +0000
@@ -9,6 +9,6 @@
mailViewPeopleIKnow=親朋好友
mailViewRecentMail=最新郵件
mailViewLastFiveDays=最近五天
-mailViewNotJunk=非垃圾信
+mailViewNotJunk=非垃圾郵件
mailViewHasAttachments=內含附件
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/messenger.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/messenger.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/messenger.dtd 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/messenger.dtd 2015-01-25 22:26:54.000000000 +0000
@@ -471,7 +471,7 @@
-
+
@@ -514,7 +514,7 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/messenger.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/messenger.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/messenger.properties 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/messenger.properties 2015-01-25 22:26:54.000000000 +0000
@@ -310,7 +310,7 @@
restoreAllTabs=回復所有分頁
# LOCALIZATION NOTE(junkBarMessage): %S is brand
junkBarMessage=%S 覺得此訊息是垃圾信。
-junkBarButton=非垃圾信
+junkBarButton=非垃圾郵件
junkBarButtonKey=N
junkBarInfoButton=更多資訊
junkBarInfoButtonKey=L
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/msgHdrViewOverlay.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/msgHdrViewOverlay.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/msgHdrViewOverlay.dtd 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/msgHdrViewOverlay.dtd 2015-01-25 22:26:54.000000000 +0000
@@ -57,9 +57,9 @@
-
+
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/preferences/advanced.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/preferences/advanced.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/mail/chrome/messenger/preferences/advanced.dtd 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/mail/chrome/messenger/preferences/advanced.dtd 2015-01-25 22:26:54.000000000 +0000
@@ -44,7 +44,7 @@
-
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/security/manager/chrome/pipnss/nsserrors.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/security/manager/chrome/pipnss/nsserrors.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/security/manager/chrome/pipnss/nsserrors.properties 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/security/manager/chrome/pipnss/nsserrors.properties 2015-01-25 22:26:54.000000000 +0000
@@ -242,7 +242,7 @@
SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=Sensitive 金鑰無法移到所需要的 Slot。
SEC_ERROR_JS_INVALID_MODULE_NAME=模組名稱無效。
SEC_ERROR_JS_INVALID_DLL=模組路徑╱檔名無效。
-SEC_ERROR_JS_ADD_MOD_FAILURE=無法加入模組
+SEC_ERROR_JS_ADD_MOD_FAILURE=無法新增模組
SEC_ERROR_JS_DEL_MOD_FAILURE=無法刪除模組
SEC_ERROR_OLD_KRL=新金鑰廢止清冊不能比目前的清冊還晚。
SEC_ERROR_CKL_CONFLICT=新洩漏金鑰清冊和目前的清冊簽發者不同,請刪除目前的洩漏金鑰清冊。
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/security/manager/chrome/pipnss/pipnss.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/security/manager/chrome/pipnss/pipnss.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/security/manager/chrome/pipnss/pipnss.properties 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/security/manager/chrome/pipnss/pipnss.properties 2015-01-25 22:26:54.000000000 +0000
@@ -71,7 +71,7 @@
CertDumpDefOID=物件識別符 (%S)
CertDumpNULL=NULL
CertDumpIssuer=簽發者
-CertDumpSubject=主旨
+CertDumpSubject=主體
CertDumpRDN=相對識別名稱 (RDN)
CertDumpATV=屬性型態與內含值
CertDumpAVACountry=C
@@ -89,22 +89,22 @@
CertDumpValidity=有效
CertDumpNotBefore=不早於
CertDumpNotAfter=不晚於
-CertDumpSPKI=主公開金鑰資訊
-CertDumpSPKIAlg=主公開金鑰演算法
+CertDumpSPKI=憑證主體公鑰資訊
+CertDumpSPKIAlg=憑證主體公鑰演算法
CertDumpAlgID=演算法識別符
CertDumpParams=演算法參數
CertDumpRSAEncr=PKCS #1 RSA 加密
CertDumpRSAPSSSignature=PKCS #1 RSASSA-PSS 簽章
-CertDumpRSATemplate=模組 (%S 位元):\n%S\n指數 (%S 位元):\n%S
+CertDumpRSATemplate=模數(%S 位元):\n%S\n指數 (%S 位元):\n%S
CertDumpECTemplate=金鑰大小: %S 位元\n基點級數長度 (Base point order length): %S 位元\n公開值:\n%S
CertDumpIssuerUniqueID=發行者唯一 ID
-CertDumpSubjPubKey=主公開金鑰 (Public key)
-CertDumpSubjectUniqueID=主唯一 ID
+CertDumpSubjPubKey=憑證主體的公鑰
+CertDumpSubjectUniqueID=憑證主體的獨特 ID
CertDumpExtensions=延伸資訊
-CertDumpSubjectDirectoryAttr=憑證主目錄屬性
-CertDumpSubjectKeyID=憑證主金鑰 ID
+CertDumpSubjectDirectoryAttr=憑證主體目錄屬性
+CertDumpSubjectKeyID=憑證主體金鑰 ID
CertDumpKeyUsage=憑證金鑰用法
-CertDumpSubjectAltName=憑證主替代名稱
+CertDumpSubjectAltName=憑證主體替代名稱
CertDumpIssuerAltName=憑證簽署者替代名稱
CertDumpBasicConstraints=憑證基本限制
CertDumpNameConstraints=憑證名稱限制
@@ -127,7 +127,7 @@
CertDumpKUCRLSigner=廢止清冊簽署者
CertDumpCritical=Critical
CertDumpNonCritical=非 Critical
-CertDumpSigAlg=憑證簽署演算法
+CertDumpSigAlg=憑證簽章演算法
CertDumpCertSig=憑證簽章值
CertDumpExtensionFailure=錯誤: 無法處理擴充欄位
CertDumpIsCA=這是憑證機構
@@ -273,7 +273,7 @@
AddModuleSuccess=已安裝新安全模組
AddModuleFailure=無法新增模組
AddModuleDup=安全模組已存在
-DelModuleBadName=錯誤的模組名稱。
+DelModuleBadName=模組名稱無效。
DelModuleWarning=您確定要刪除此模組?
DelModuleError=無法刪除模組
DelModuleIntSuccess=已成功刪除內部安全模組
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/security/manager/chrome/pippki/pippki.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/security/manager/chrome/pippki/pippki.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/l10n/zh-TW/security/manager/chrome/pippki/pippki.properties 2015-01-16 19:28:13.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/l10n/zh-TW/security/manager/chrome/pippki/pippki.properties 2015-01-25 22:26:54.000000000 +0000
@@ -21,15 +21,15 @@
#For Deleting Certificates
deleteSslCertConfirm3=您確定要刪除這些例外伺服器嗎?
-deleteSslCertImpact3=如果您刪除了例外伺服器,下次您再瀏覽該伺服器時又會再次被要求提供有效的憑證。
-deleteSslCertTitle3=刪除例外伺服器
+deleteSslCertImpact3=如果您刪除了例外伺服器,下次您再瀏覽該伺服器時又會收到伺服器憑證無效的提示。
+deleteSslCertTitle3=刪除伺服器憑證例外
deleteUserCertConfirm=您確定要刪除這些憑證嗎?
deleteUserCertImpact=如果您刪除了您自己的憑證,您就再也不能用它來識別您自己了。
deleteUserCertTitle=刪除您的憑證
deleteCaCertConfirm2=您要求刪除這些憑證機構的憑證。對內建的憑證來說,移除您對該憑證的信任也有一樣的效果。您確定想刪除或取消對憑證的信任嗎?
-deleteCaCertImpactX2=若您刪除或取消對憑證機構(CA)的信任,此應用程式將不再信任任何經由該機構所簽發的憑證。
+deleteCaCertImpactX2=若您刪除或取消對憑證機構(CA)的信任,此應用程式將不再信任任何由該機構簽發的憑證。
deleteCaCertTitle2=刪除或取消信任憑證機構的憑證
deleteEmailCertConfirm=您確定要刪除這些人的 E-mail 憑證嗎?
@@ -105,8 +105,8 @@
devinfo_label=標籤
devinfo_manID=製造者
devinfo_serialnum=序號
-devinfo_hwversion=HW 版本
-devinfo_fwversion=FW 版本
+devinfo_hwversion=硬體版本
+devinfo_fwversion=韌體版本
devinfo_status=狀態
devinfo_desc=描述
devinfo_stat_disabled=不使用
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/app/profile/all-thunderbird.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/app/profile/all-thunderbird.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/app/profile/all-thunderbird.js 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/app/profile/all-thunderbird.js 2015-01-25 22:23:57.000000000 +0000
@@ -80,19 +80,11 @@
// Non-release builds (Nightly, Aurora, etc.) have been switched over to aus4.mozilla.org.
// This condition protects us against accidentally using it for release builds.
-#ifndef RELEASE_BUILD
pref("app.update.certs.1.issuerName", "CN=DigiCert Secure Server CA,O=DigiCert Inc,C=US");
pref("app.update.certs.1.commonName", "aus4.mozilla.org");
pref("app.update.certs.2.issuerName", "CN=Thawte SSL CA,O=\"Thawte, Inc.\",C=US");
pref("app.update.certs.2.commonName", "aus4.mozilla.org");
-#else
-pref("app.update.certs.1.issuerName", "CN=Thawte SSL CA,O=\"Thawte, Inc.\",C=US");
-pref("app.update.certs.1.commonName", "aus3.mozilla.org");
-
-pref("app.update.certs.2.issuerName", "CN=DigiCert Secure Server CA,O=DigiCert Inc,C=US");
-pref("app.update.certs.2.commonName", "aus3.mozilla.org");
-#endif
// Whether or not app updates are enabled
pref("app.update.enabled", true);
@@ -121,11 +113,7 @@
pref("app.update.staging.enabled", true);
// Update service URL:
-#ifndef RELEASE_BUILD
pref("app.update.url", "https://aus4.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
-#else
-pref("app.update.url", "https://aus3.mozilla.org/update/3/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
-#endif
// URL user can browse to manually if for some reason all update installation
// attempts fail.
@@ -436,26 +424,7 @@
pref("mail.phishing.detection.ipaddresses", true);
pref("mail.phishing.detection.mismatched_hosts", true);
-pref("browser.safebrowsing.enabled", false);
-
-// Non-enhanced mode (local url lists) URL list to check for updates
-pref("browser.safebrowsing.provider.0.updateURL", "");
-pref("browser.safebrowsing.dataProvider", 0);
-
-// Does the provider name need to be localizable?
-pref("browser.safebrowsing.provider.0.name", "");
-pref("browser.safebrowsing.provider.0.lookupURL", "");
-pref("browser.safebrowsing.provider.0.keyURL", "");
-pref("browser.safebrowsing.provider.0.reportURL", "");
-
-// HTML report pages
-pref("browser.safebrowsing.provider.0.reportGenericURL", "http://{moz:locale}.phish-generic.mozilla.com/?hl={moz:locale}");
-pref("browser.safebrowsing.provider.0.reportErrorURL", "http://{moz:locale}.phish-error.mozilla.com/?hl={moz:locale}");
-pref("browser.safebrowsing.provider.0.reportPhishURL", "http://{moz:locale}.phish-report.mozilla.com/?hl={moz:locale}");
-
-// FAQ URL
-// XXX Firefox is hard-coded because we haven't got our own version yet.
-pref("browser.safebrowsing.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/phishing-protection/");
+pref("browser.safebrowsing.reportPhishURL", "http://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%");
// prevent status-bar spoofing even if people are foolish enough to turn on JS
pref("dom.disable_window_status_change", true);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/base/content/mailWindowOverlay.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/base/content/mailWindowOverlay.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/base/content/mailWindowOverlay.js 2015-01-16 19:25:26.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/base/content/mailWindowOverlay.js 2015-01-25 22:23:55.000000000 +0000
@@ -1592,16 +1592,18 @@
function BatchMessageMover() {
this._batches = {};
this._currentKey = null;
+ this._dstFolderParent = null;
+ this._dstFolderName = null;
}
BatchMessageMover.prototype = {
- archiveMessages: function BatchMessageMover_archiveMessages(aMsgHdrs) {
- gFolderDisplay.hintMassMoveStarting();
+ archiveMessages: function (aMsgHdrs) {
if (!aMsgHdrs.length)
return;
+ gFolderDisplay.hintMassMoveStarting();
for (let i = 0; i < aMsgHdrs.length; i++) {
let msgHdr = aMsgHdrs[i];
@@ -1674,16 +1676,70 @@
this.processNextBatch();
},
- processNextBatch: function BatchMessageMover_processNextBatch() {
- const Ci = Components.interfaces;
+ processNextBatch: function () {
+ // get the first defined key and value
for (let key in this._batches) {
- this._currentKey = key;
- let batch = this._batches[key];
+ this._currentBatch = this._batches[key];
+ delete this._batches[key];
+ return this.filterBatch();
+ }
+ this._batches = null;
+ gFolderDisplay.hintMassMoveCompleted();
+ MailServices.mfn.removeListener(this);
+ // all done
+ return;
+ },
+ filterBatch: function () {
+ let batch = this._currentBatch;
+
+ let filterArray = Components.classes["@mozilla.org/array;1"]
+ .createInstance(Components.interfaces.nsIMutableArray);
+ for (let message of batch.messages) {
+ filterArray.appendElement(message, false);
+ }
+
+ // Apply filters to this batch.
+ MailServices.filters.applyFilters(
+ Components.interfaces.nsMsgFilterType.Archive,
+ filterArray, batch.srcFolder, msgWindow, this);
+ return; // continues with onStopOperation
+ },
+
+ onStopOperation: function (aResult) {
+ if (!Components.isSuccessCode(aResult))
+ {
+ Components.utils.reportError("Archive filter failed: " + aResult);
+ // We don't want to effectively disable archiving because a filter
+ // failed, so we'll continue after reporting the error.
+ }
+ // Now do the default archive processing
+ this.continueBatch();
+ },
+
+ // continue processing of default archive operations
+ continueBatch: function () {
+ const Ci = Components.interfaces;
+ let batch = this._currentBatch;
let srcFolder = batch.srcFolder;
let archiveFolderURI = batch.archiveFolderURI;
let archiveFolder = MailUtils.getFolderForURI(archiveFolderURI, false);
let dstFolder = archiveFolder;
+
+ let moveArray = Components.classes["@mozilla.org/array;1"]
+ .createInstance(Ci.nsIMutableArray);
+ // Don't move any items that the filter moves or deleted
+ for (let item of batch.messages) {
+ if (srcFolder.msgDatabase.ContainsKey(item.messageKey) &&
+ !(srcFolder.getProcessingFlags(item.messageKey) &
+ Components.interfaces.nsMsgProcessingFlags.FilterToMove)) {
+ moveArray.appendElement(item, false);
+ }
+ }
+
+ if (moveArray.length == 0)
+ return this.processNextBatch(); // continue processing
+
// For folders on some servers (e.g. IMAP), we need to create the
// sub-folders asynchronously, so we chain the urls using the listener
// called back from createStorageIfMissing. For local,
@@ -1693,7 +1749,7 @@
archiveFolder.setFlag(Ci.nsMsgFolderFlags.Archive);
archiveFolder.createStorageIfMissing(this);
if (isAsync)
- return;
+ return; // continues with OnStopRunningUrl
}
let granularity = batch.granularity;
@@ -1710,7 +1766,7 @@
if (!dstFolder.parent) {
dstFolder.createStorageIfMissing(this);
if (isAsync)
- return;
+ return; // continues with OnStopRunningUrl
}
}
if (granularity >= Ci.nsIMsgIdentity.perMonthArchiveFolders) {
@@ -1719,11 +1775,11 @@
if (!dstFolder.parent) {
dstFolder.createStorageIfMissing(this);
if (isAsync)
- return;
+ return; // continues with OnStopRunningUrl
}
}
- // Create the folder structure in Archives
+ // Create the folder structure in Archives.
// For imap folders, we need to create the sub-folders asynchronously,
// so we chain the actions using the listener called back from
// createSubfolder. For local, createSubfolder is synchronous.
@@ -1738,51 +1794,45 @@
folderNames.unshift(folder.name);
folder = folder.parent;
}
- // Determine Archive folder structure
+ // Determine Archive folder structure.
for (let i = 0; i < folderNames.length; ++i) {
let folderName = folderNames[i];
if (!dstFolder.containsChildNamed(folderName)) {
- // Create Archive sub-folder (IMAP: async)
+ // Create Archive sub-folder (IMAP: async).
if (isAsync) {
this._dstFolderParent = dstFolder;
this._dstFolderName = folderName;
}
dstFolder.createSubfolder(folderName, msgWindow);
if (isAsync)
- return;
+ return; // continues with folderAdded
}
dstFolder = dstFolder.getChildNamed(folderName);
}
}
if (dstFolder != srcFolder) {
- let array = Components.classes["@mozilla.org/array;1"]
- .createInstance(Ci.nsIMutableArray);
- batch.messages.forEach(function(item) {
- array.appendElement(item, false);
- });
// If the source folder doesn't support deleting messages, we
// make archive a copy, not a move.
MailServices.copy.CopyMessages(
- batch.srcFolder, array, dstFolder,
- batch.srcFolder.canDeleteMessages, this, msgWindow, true
+ srcFolder, moveArray, dstFolder,
+ srcFolder.canDeleteMessages, this, msgWindow, true
);
- return; // only do one.
+ return; // continues with OnStopCopy
}
- delete this._batches[key];
- }
-
- gFolderDisplay.hintMassMoveCompleted();
- MailServices.mfn.removeListener(this);
- },
+ return this.processNextBatch(); // next batch
+ },
OnStartRunningUrl: function(url) {},
OnStopRunningUrl: function(url, exitCode) {
// this will always be a create folder url, afaik.
if (Components.isSuccessCode(exitCode))
- this.processNextBatch();
- else
+ this.continueBatch();
+ else {
+ Components.utils.reportError("Archive failed to create folder: " + exitCode);
this._batches = null;
+ this.processNextBatch(); // for cleanup and exit
+ }
},
// also implements nsIMsgCopyServiceListener, but we only care
@@ -1792,15 +1842,13 @@
SetMessageKey: function(aKey) {},
GetMessageId: function() {},
OnStopCopy: function(aStatus) {
- if (Components.isSuccessCode(aStatus)) {
- // remove batch we just finished and continue
- delete this._batches[this._currentKey];
- this._currentKey = null;
- this.processNextBatch();
- }
- else {
- this._batches = null;
- }
+ if (Components.isSuccessCode(aStatus))
+ return this.processNextBatch();
+
+ // stop on error
+ Components.utils.reportError("Archive failed to copy: " + aStatus);
+ this._batches = null;
+ this.processNextBatch(); // for cleanup and exit
},
// This also implements nsIMsgFolderListener, but we only care about the
@@ -1811,14 +1859,15 @@
aFolder.name == this._dstFolderName) {
this._dstFolderParent = null;
this._dstFolderName = null;
- this.processNextBatch();
+ this.continueBatch();
}
},
QueryInterface: function(iid) {
if (!iid.equals(Components.interfaces.nsIUrlListener) &&
- !iid.equals(Components.interfaces.nsIMsgCopyServiceListener) &&
- !iid.equals(Components.interfaces.nsISupports))
+ !iid.equals(Components.interfaces.nsIMsgCopyServiceListener) &&
+ !iid.equals(Components.interfaces.nsIMsgOperationListener) &&
+ !iid.equals(Components.interfaces.nsISupports))
throw Components.results.NS_ERROR_NO_INTERFACE;
return this;
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/base/content/phishingDetector.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/base/content/phishingDetector.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/base/content/phishingDetector.js 2015-01-16 19:25:26.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/base/content/phishingDetector.js 2015-01-25 22:23:55.000000000 +0000
@@ -11,16 +11,13 @@
const kPhishingWithIPAddress = 1;
const kPhishingWithMismatchedHosts = 2;
+
var gPhishingDetector = {
mCheckForIPAddresses: true,
mCheckForMismatchedHosts: true,
- mPhishingWarden: null,
shutdown: function()
{
- try {
- this.mPhishingWarden.shutdown();
- } catch (ex) {}
},
/**
@@ -32,23 +29,6 @@
{
Components.utils.import("resource:///modules/hostnameUtils.jsm", this);
- try {
- // set up the anti phishing service
- var appContext = Components.classes["@mozilla.org/phishingprotection/application;1"]
- .getService().wrappedJSObject;
-
- this.mPhishingWarden = new appContext.PROT_PhishingWarden();
-
- // Register tables
- // XXX: move table names to a pref that we originally will download
- // from the provider (need to workout protocol details)
- this.mPhishingWarden.registerWhiteTable("goog-white-exp");
- this.mPhishingWarden.registerBlackTable("goog-phish-sha128");
-
- // Download/update lists if we're in non-enhanced mode
- this.mPhishingWarden.maybeToggleUpdateChecking();
- } catch (ex) { dump('unable to create the phishing warden: ' + ex + '\n');}
-
this.mCheckForIPAddresses = Services.prefs.getBoolPref("mail.phishing.detection.ipaddresses");
this.mCheckForMismatchedHosts = Services.prefs.getBoolPref("mail.phishing.detection.mismatched_hosts");
},
@@ -151,61 +131,29 @@
this.misMatchedHostWithLinkText(hrefURL, aLinkText))
}
}
-
- // Lookup the url against our local list. We want to do this even if the url fails our static
- // test checks because the url might be in the white list.
- if (this.mPhishingWarden)
- this.mPhishingWarden.isEvilURL(gFolderDisplay.selectedMessage,
- failsStaticTests, aUrl,
- this.localListCallback);
- else
- this.localListCallback(gFolderDisplay.selectedMessage,
- failsStaticTests, aUrl, 2 /* not found */);
- }
- },
-
- /**
- *
- * @param aMsgHdr the header for the loaded message when the look up was initiated.
- * @param aFailsStaticTests true if our static tests think the url is a phishing scam
- * @param aUrl the url we looked up in the phishing tables
- * @param aLocalListStatus the result of the local lookup (PROT_ListWarden.IN_BLACKLIST,
- * PROT_ListWarden.IN_WHITELIST or PROT_ListWarden.NOT_FOUND.
- */
- localListCallback: function (aMsgHdr, aFailsStaticTests, aUrl, aLocalListStatus)
- {
- // for urls in the blacklist, notify the phishing bar.
- // for urls in the whitelist, do nothing
- // for all other urls, fall back to the static tests
- if (aMsgHdr == gFolderDisplay.selectedMessage)
- {
- if (aLocalListStatus == 0 /* PROT_ListWarden.IN_BLACKLIST */ ||
- (aLocalListStatus == 2 /* PROT_ListWarden.PROT_ListWarden.NOT_FOUND */ && aFailsStaticTests)) {
+ // We don't use dynamic checks anymore. The old implementation was removed
+ // in bug bug 1085382. Using the toolkit safebrowsing is bug 778611.
+ if (failsStaticTests) {
gMessageNotificationBar.setPhishingMsg();
}
}
},
/**
- * Looks up the report phishing url for the current phishing provider, appends aPhishingURL to the url,
- * and loads it in the default browser where the user can submit the url as a phish.
+ * Opens the default browser to a page where the user can submit the given url
+ * as a phish.
* @param aPhishingURL the url we want to report back as a phishing attack
*/
reportPhishingURL: function(aPhishingURL)
{
- var appContext = Components.classes["@mozilla.org/phishingprotection/application;1"]
- .getService().wrappedJSObject;
- var reportUrl = appContext.getReportPhishingURL();
- if (reportUrl)
- {
- reportUrl += "&url=" + encodeURIComponent(aPhishingURL);
- // now send the url to the default browser
-
- var uri = Services.io.newURI(reportUrl, null, null);
- var protocolSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
- .getService(Components.interfaces.nsIExternalProtocolService);
- protocolSvc.loadUrl(uri);
- }
+ let reportUrl = Services.urlFormatter.formatURLPref(
+ "browser.safebrowsing.reportPhishURL");
+ reportUrl += "&url=" + encodeURIComponent(aPhishingURL);
+
+ let uri = Services.io.newURI(reportUrl, null, null);
+ let protocolSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"]
+ .getService(Components.interfaces.nsIExternalProtocolService);
+ protocolSvc.loadUrl(uri);
},
/**
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/activity/modules/autosync.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/activity/modules/autosync.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/activity/modules/autosync.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/activity/modules/autosync.js 2015-01-25 22:23:55.000000000 +0000
@@ -200,9 +200,10 @@
let syncItem = this._syncInfoPerFolder[folder.URI];
let process = syncItem.activity;
+ let canceled = false;
if (process instanceof Components.interfaces.nsIActivityProcess)
{
- let canceled = (process.state == Components.interfaces.nsIActivityProcess.STATE_CANCELED);
+ canceled = (process.state == Components.interfaces.nsIActivityProcess.STATE_CANCELED);
process.state = Components.interfaces.nsIActivityProcess.STATE_COMPLETED;
try {
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/moz.build thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/moz.build
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/moz.build 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/moz.build 2015-01-25 22:23:55.000000000 +0000
@@ -23,9 +23,6 @@
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('windows', 'gtk2', 'cocoa', 'qt'):
DIRS += ['shell']
-if CONFIG['MOZ_SAFE_BROWSING']:
- DIRS += ['phishing']
-
TEST_DIRS += ['test']
DIRS += ['build']
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/application.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/application.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/application.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/application.js 1970-01-01 00:00:00.000000000 +0000
@@ -1,46 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// We instantiate this variable when we create the application.
-var gDataProvider = null;
-
-// An instance of our application is a PROT_Application object. It
-// basically just populates a few globals and instantiates wardens and
-// the listmanager.
-
-/**
- * An instance of our application. There should be exactly one of these.
- *
- * Note: This object should instantiated only at profile-after-change
- * or later because the listmanager and the cryptokeymanager need to
- * read and write data files. Additionally, NSS isn't loaded until
- * some time around then (Moz bug #321024).
- *
- * @constructor
- */
-function PROT_Application() {
- this.debugZone= "application";
-
- this.PROT_PhishingWarden = PROT_PhishingWarden;
-
- // Load data provider pref values
- gDataProvider = new PROT_DataProvider();
-
- // expose the object
- this.wrappedJSObject = this;
-}
-
-/**
- * @return String the report phishing URL (localized).
- */
-PROT_Application.prototype.getReportPhishingURL = function() {
- return gDataProvider.getReportPhishURL();
-}
-
-/**
- * @return String the report error URL (localized).
- */
-PROT_Application.prototype.getReportErrorURL = function() {
- return gDataProvider.getReportErrorURL();
-}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/globalstore.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/globalstore.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/globalstore.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/globalstore.js 1970-01-01 00:00:00.000000000 +0000
@@ -1,175 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-
-// A class that encapsulates data provider specific values. The
-// root of the provider pref tree is browser.safebrowsing.provider.
-// followed by a number, followed by specific properties. The properties
-// that a data provider can supply are:
-//
-// name: The name of the provider
-// lookupURL: The URL to send requests to in enhanced mode
-// keyURL: Before we send URLs in enhanced mode, we need to encrypt them
-// reportURL: When shown a warning bubble, we send back the user decision
-// (get me out of here/ignore warning) to this URL (strip cookies
-// first). This is optional.
-// reportGenericURL: HTML page for general user feedback
-// reportPhishURL: HTML page for notifying the provider of a new phishing page
-// reportErrorURL: HTML page for notifying the provider of a false positive
-
-Components.utils.import("resource://gre/modules/Services.jsm");
-
-const kDataProviderIdPref = 'browser.safebrowsing.dataProvider';
-const kProviderBasePref = 'browser.safebrowsing.provider.';
-
-const MOZ_PARAM_LOCALE = /\{moz:locale\}/g;
-const MOZ_PARAM_CLIENT = /\{moz:client\}/g;
-const MOZ_PARAM_BUILDID = /\{moz:buildid\}/g;
-const MOZ_PARAM_VERSION = /\{moz:version\}/g;
-
-/**
- * Information regarding the data provider.
- */
-function PROT_DataProvider() {
- this.prefs_ = new G_Preferences();
-
- this.loadDataProviderPrefs_();
-
- // Watch for changes in the data provider and update accordingly.
- this.prefs_.addObserver(kDataProviderIdPref,
- BindToObject(this.loadDataProviderPrefs_, this));
-
- // Watch for when anti-phishing is toggled on or off.
- this.prefs_.addObserver(kPhishWardenEnabledPref,
- BindToObject(this.loadDataProviderPrefs_, this));
-}
-
-/**
- * Populate all the provider variables. We also call this when whenever
- * the provider id changes.
- */
-PROT_DataProvider.prototype.loadDataProviderPrefs_ = function() {
- // Currently, there's no UI for changing local list provider so we
- // hard code the value for provider 0.
- this.updateURL_ = this.getUrlPref_(
- 'browser.safebrowsing.provider.0.updateURL');
-
- var id = this.prefs_.getPref(kDataProviderIdPref, null);
-
- // default to 0
- if (null == id)
- id = 0;
-
- var basePref = kProviderBasePref + id + '.';
-
- this.name_ = this.prefs_.getPref(basePref + "name", "");
-
- // Urls used to get data from a provider
- this.lookupURL_ = this.getUrlPref_(basePref + "lookupURL");
- this.keyURL_ = this.getUrlPref_(basePref + "keyURL");
- this.reportURL_ = this.getUrlPref_(basePref + "reportURL");
-
- // Urls to HTML report pages
- this.reportGenericURL_ = this.getUrlPref_(basePref + "reportGenericURL");
- this.reportErrorURL_ = this.getUrlPref_(basePref + "reportErrorURL");
- this.reportPhishURL_ = this.getUrlPref_(basePref + "reportPhishURL");
-
- // Propogate the changes to the list-manager.
- this.updateListManager_();
-}
-
-/**
- * The list manager needs urls to operate. It needs a url to know where the
- * table updates are, and it needs a url for decrypting enchash style tables.
- */
-PROT_DataProvider.prototype.updateListManager_ = function() {
- var listManager = Cc["@mozilla.org/url-classifier/listmanager;1"]
- .getService(Ci.nsIUrlListManager);
-
- // If we add support for changing local data providers, we need to add a
- // pref observer that sets the update url accordingly.
- listManager.setUpdateUrl(this.getUpdateURL());
-
- // setKeyUrl has the side effect of fetching a key from the server.
- // This shouldn't happen if anti-phishing is disabled, so we need to
- // check for that.
- var isEnabled = this.prefs_.getPref(kPhishWardenEnabledPref, false);
- if (isEnabled) {
- listManager.setKeyUrl(this.getKeyURL());
- }
-}
-
-/**
- * Lookup the value of a URL from prefs file and do parameter substitution.
- */
-PROT_DataProvider.prototype.getUrlPref_ = function(prefName) {
- var url = this.prefs_.getPref(prefName);
-
- // What value should we use here for Thunderbird??
- var mozClientStr = Services.appinfo.name;
-
- // Parameter substitution
- url = url.replace(MOZ_PARAM_LOCALE, this.getLocale_());
- url = url.replace(MOZ_PARAM_CLIENT, mozClientStr + Services.appinfo.version);
- url = url.replace(MOZ_PARAM_BUILDID, Services.appinfo.appBuildID);
- url = url.replace(MOZ_PARAM_VERSION, Services.appinfo.platformVersion);
- return url;
-}
-
-/**
- * @return String the user locale (similar code is in nsSearchService.js)
- */
-PROT_DataProvider.prototype.getLocale_ = function() {
- const localePref = "general.useragent.locale";
- var locale = this.getLocalizedPref_(localePref);
- if (locale)
- return locale;
-
- // Not localized
- var prefs = new G_Preferences();
- return prefs.getPref(localePref, "");
-}
-
-/**
- * @return String name of the localized pref, null if none exists.
- */
-PROT_DataProvider.prototype.getLocalizedPref_ = function(aPrefName) {
- // G_Preferences doesn't know about complex values, so we use the
- // xpcom object directly.
- try {
- return Services.prefs.getComplexValue(aPrefName, Ci.nsIPrefLocalizedString).data;
- } catch (ex) {
- }
- return "";
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// Getters for the remote provider pref values mentioned above.
-PROT_DataProvider.prototype.getName = function() {
- return this.name_;
-}
-
-PROT_DataProvider.prototype.getUpdateURL = function() {
- return this.updateURL_;
-}
-
-PROT_DataProvider.prototype.getLookupURL = function() {
- return this.lookupURL_;
-}
-PROT_DataProvider.prototype.getKeyURL = function() {
- return this.keyURL_;
-}
-PROT_DataProvider.prototype.getReportURL = function() {
- return this.reportURL_;
-}
-
-PROT_DataProvider.prototype.getReportGenericURL = function() {
- return this.reportGenericURL_;
-}
-PROT_DataProvider.prototype.getReportErrorURL = function() {
- return this.reportErrorURL_;
-}
-PROT_DataProvider.prototype.getReportPhishURL = function() {
- return this.reportPhishURL_;
-}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/list-warden.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/list-warden.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/list-warden.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/list-warden.js 1970-01-01 00:00:00.000000000 +0000
@@ -1,217 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-// A warden that knows how to register lists with a listmanager and keep them
-// updated if necessary. The ListWarden also provides a simple interface to
-// check if a URL is evil or not. Specialized wardens like the PhishingWarden
-// inherit from it.
-//
-// Classes that inherit from ListWarden are responsible for calling
-// enableTableUpdates or disableTableUpdates. This usually entails
-// registering prefObservers and calling enable or disable in the base
-// class as appropriate.
-//
-
-Components.utils.import("resource://gre/modules/Services.jsm");
-
-/**
- * Abtracts the checking of user/browser actions for signs of
- * phishing.
- *
- * @constructor
- */
-function PROT_ListWarden() {
- this.debugZone = "listwarden";
- var listManager = Cc["@mozilla.org/url-classifier/listmanager;1"]
- .getService(Ci.nsIUrlListManager);
- this.listManager_ = listManager;
-
- // Once we register tables, their respective names will be listed here.
- this.blackTables_ = [];
- this.whiteTables_ = [];
-}
-
-PROT_ListWarden.IN_BLACKLIST = 0
-PROT_ListWarden.IN_WHITELIST = 1
-PROT_ListWarden.NOT_FOUND = 2
-
-/**
- * Tell the ListManger to keep all of our tables updated
- */
-
-PROT_ListWarden.prototype.enableBlacklistTableUpdates = function() {
- for (var i = 0; i < this.blackTables_.length; ++i) {
- this.listManager_.enableUpdate(this.blackTables_[i]);
- }
-}
-
-/**
- * Tell the ListManager to stop updating our tables
- */
-
-PROT_ListWarden.prototype.disableBlacklistTableUpdates = function() {
- for (var i = 0; i < this.blackTables_.length; ++i) {
- this.listManager_.disableUpdate(this.blackTables_[i]);
- }
-}
-
-/**
- * Tell the ListManager to update whitelist tables. They may be enabled even
- * when other updates aren't, for performance reasons.
- */
-PROT_ListWarden.prototype.enableWhitelistTableUpdates = function() {
- for (var i = 0; i < this.whiteTables_.length; ++i) {
- this.listManager_.enableUpdate(this.whiteTables_[i]);
- }
-}
-
-/**
- * Tell the ListManager to stop updating whitelist tables.
- */
-PROT_ListWarden.prototype.disableWhitelistTableUpdates = function() {
- for (var i = 0; i < this.whiteTables_.length; ++i) {
- this.listManager_.disableUpdate(this.whiteTables_[i]);
- }
-}
-
-/**
- * Register a new black list table with the list manager
- * @param tableName - name of the table to register
- * @returns true if the table could be registered, false otherwise
- */
-
-PROT_ListWarden.prototype.registerBlackTable = function(tableName) {
- var result = this.listManager_.registerTable(tableName, false);
- if (result) {
- this.blackTables_.push(tableName);
- }
- return result;
-}
-
-/**
- * Register a new white list table with the list manager
- * @param tableName - name of the table to register
- * @returns true if the table could be registered, false otherwise
- */
-
-PROT_ListWarden.prototype.registerWhiteTable = function(tableName) {
- var result = this.listManager_.registerTable(tableName, false);
- if (result) {
- this.whiteTables_.push(tableName);
- }
- return result;
-}
-
-/**
- * Method that looks up a url on the whitelist.
- *
- * @param url The URL to check
- * @param callback Function with a single param:
- * PROT_ListWarden.IN_BLACKLIST, PROT_ListWarden.IN_WHITELIST,
- * or PROT_ListWarden.NOT_FOUND
- */
-PROT_ListWarden.prototype.isWhiteURL = function(url, callback) {
- (new MultiTableQuerier(url,
- this.whiteTables_,
- [] /* no blacklists */,
- callback)).run();
-}
-
-/**
- * Method that looks up a url in both the white and black lists.
- *
- * If there is conflict, the white list has precedence over the black list.
- *
- * This is tricky because all database queries are asynchronous. So we need
- * to chain together our checks against white and black tables. We use
- * MultiTableQuerier (see below) to manage this.
- *
- * @param msgURI uri corresponding to the message the url came from
- * @param aFailsStaticTests boolean result for whether the url failed our static tests
- * @param url URL to look up
- * @param callback Function with a single param:
- * PROT_ListWarden.IN_BLACKLIST, PROT_ListWarden.IN_WHITELIST,
- * or PROT_ListWarden.NOT_FOUND
- */
-PROT_ListWarden.prototype.isEvilURL = function(msgURI, aFailsStaticTests, url, callback) {
- var evilCallback = BindToObject(callback,
- null,
- msgURI,
- aFailsStaticTests,
- url);
-
- (new MultiTableQuerier(url,
- this.whiteTables_,
- this.blackTables_,
- evilCallback)).run();
-}
-
-/**
- * This class helps us query multiple tables even though each table check
- * is asynchronous. It provides callbacks for each listManager lookup
- * and decides whether we need to continue querying or not. After
- * instantiating the method, use run() to invoke.
- *
- * @param url String The url to check
- * @param whiteTables Array of strings with each white table name
- * @param blackTables Array of strings with each black table name
- * @param callback Function to call with result
- * PROT_ListWarden.IN_BLACKLIST, PROT_ListWarden.IN_WHITELIST,
- * or PROT_ListWarden.NOT_FOUND
- */
-function MultiTableQuerier(url, whiteTables, blackTables, callback) {
- this.debugZone = "multitablequerier";
-
- let uri = Services.io.newURI(url, null, null);
- this.principal_ = Services.scriptSecurityManager
- .getNoAppCodebasePrincipal(uri);
-
- this.whiteTables_ = {};
- for (var i = 0; i < whiteTables.length; i++) {
- this.whiteTables_[whiteTables[i]] = true;
- }
-
- this.blackTables_ = {};
- for (var i = 0; i < blackTables.length; i++) {
- this.blackTables_[blackTables[i]] = true;
- }
-
- this.callback_ = callback;
- this.listManager_ = Cc["@mozilla.org/url-classifier/listmanager;1"]
- .getService(Ci.nsIUrlListManager);
-}
-
-MultiTableQuerier.prototype.run = function() {
- /* ask the dbservice for all the tables to which this URL belongs */
- this.listManager_.safeLookup(this.principal_,
- BindToObject(this.lookupCallback_, this));
-}
-
-MultiTableQuerier.prototype.lookupCallback_ = function(result) {
- if (result == "") {
- this.callback_(PROT_ListWarden.NOT_FOUND);
- return;
- }
-
- var tableNames = result.split(",");
-
- /* Check the whitelists */
- for (var i = 0; i < tableNames.length; i++) {
- if (tableNames[i] && this.whiteTables_[tableNames[i]]) {
- this.callback_(PROT_ListWarden.IN_WHITELIST);
- return;
- }
- }
-
- /* Check the blacklists */
- for (var i = 0; i < tableNames.length; i++) {
- if (tableNames[i] && this.blackTables_[tableNames[i]]) {
- this.callback_(PROT_ListWarden.IN_BLACKLIST);
- return;
- }
- }
-
- /* Not in any lists we know about */
- this.callback_(PROT_ListWarden.NOT_FOUND);
-}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/moz.build thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/moz.build
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/moz.build 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/moz.build 1970-01-01 00:00:00.000000000 +0000
@@ -1,13 +0,0 @@
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-EXTRA_COMPONENTS += [
- 'phishing.manifest',
-]
-
-EXTRA_PP_COMPONENTS += [
- 'nsPhishingProtectionApplication.js',
-]
-
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/nsPhishingProtectionApplication.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/nsPhishingProtectionApplication.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/nsPhishingProtectionApplication.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/nsPhishingProtectionApplication.js 1970-01-01 00:00:00.000000000 +0000
@@ -1,61 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-
-// This is copied from toolkit/components/content/js/lang.js.
-// It seems cleaner to copy this rather than #include from so far away.
-Function.prototype.inherits = function(parentCtor) {
- var tempCtor = function(){};
- tempCtor.prototype = parentCtor.prototype;
- this.superClass_ = parentCtor.prototype;
- this.prototype = new tempCtor();
-}
-
-#include application.js
-#include globalstore.js
-#include list-warden.js
-#include phishing-warden.js
-
-var modScope = this;
-function Init() {
- var jslib = Cc["@mozilla.org/url-classifier/jslib;1"]
- .getService().wrappedJSObject;
- modScope.G_Debug = jslib.G_Debug;
- modScope.G_Assert = jslib.G_Assert;
- modScope.G_Alarm = jslib.G_Alarm;
- modScope.G_ConditionalAlarm = jslib.G_ConditionalAlarm;
- modScope.G_ObserverWrapper = jslib.G_ObserverWrapper;
- modScope.G_Preferences = jslib.G_Preferences;
- modScope.PROT_XMLFetcher = jslib.PROT_XMLFetcher;
- modScope.BindToObject = jslib.BindToObject;
- modScope.G_Protocol4Parser = jslib.G_Protocol4Parser;
- modScope.PROT_UrlCrypto = jslib.PROT_UrlCrypto;
- modScope.RequestBackoff = jslib.RequestBackoff;
-
- // We only need to call Init once
- modScope.Init = function() {};
-}
-
-function PhishingProtectionApplicationMod() {
-}
-
-PhishingProtectionApplicationMod.prototype =
-{
- classID: Components.ID("{C46D1931-4B6A-4e52-99B0-7877F70634DE}"),
- _xpcom_factory: {
- createInstance: function (aOuter, aIID) {
- if (aOuter != null)
- throw Components.results.NS_ERROR_NO_AGGREGATION;
-
- Init();
- return new PROT_Application();
- }
- }
-};
-
-const NSGetFactory = XPCOMUtils.generateNSGetFactory([PhishingProtectionApplicationMod]);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/phishing.manifest thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/phishing.manifest
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/phishing.manifest 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/phishing.manifest 1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-component {C46D1931-4B6A-4e52-99B0-7877F70634DE} nsPhishingProtectionApplication.js
-contract @mozilla.org/phishingprotection/application;1 {C46D1931-4B6A-4e52-99B0-7877F70634DE}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/phishing-warden.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/phishing-warden.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/components/phishing/phishing-warden.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/components/phishing/phishing-warden.js 1970-01-01 00:00:00.000000000 +0000
@@ -1,152 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-
-// The warden checks URLs to see if they are phishing URLs. It
-// does so by querying our locally stored blacklists (privacy
-// mode).
-//
-// Note: There is a single warden for the whole application.
-
-const kPhishWardenEnabledPref = "browser.safebrowsing.enabled";
-
-// We have hardcoded URLs that let people navigate to in order to
-// check out the warning.
-const kTestUrls = {
- "http://www.google.com/tools/firefox/safebrowsing/phish-o-rama.html": true,
- "http://www.mozilla.org/projects/bonecho/anti-phishing/its-a-trap.html": true,
- "http://www.mozilla.com/firefox/its-a-trap.html": true,
-}
-
-/**
- * Abtracts the checking of user/browser actions for signs of
- * phishing.
- *
- * @param progressListener nsIDocNavStartProgressListener
- * @constructor
- */
-function PROT_PhishingWarden(progressListener) {
- PROT_ListWarden.call(this);
-
- this.debugZone = "phishwarden";
- this.testing_ = false;
-
- // Use this to query preferences
- this.prefs_ = new G_Preferences();
-
- // Global preference to enable the phishing warden
- this.phishWardenEnabled_ = this.prefs_.getPref(kPhishWardenEnabledPref, null);
-
- // Get notifications when the phishing warden enabled pref changes
- var phishWardenPrefObserver =
- BindToObject(this.onPhishWardenEnabledPrefChanged, this);
- this.prefs_.addObserver(kPhishWardenEnabledPref, phishWardenPrefObserver);
-
- // Get notifications when the data provider pref changes
- var dataProviderPrefObserver =
- BindToObject(this.onDataProviderPrefChanged, this);
- this.prefs_.addObserver(kDataProviderIdPref, dataProviderPrefObserver);
-
- G_Debug(this, "phishWarden initialized");
-}
-
-PROT_PhishingWarden.inherits(PROT_ListWarden);
-
-/**
- * We implement nsIWebProgressListener
- */
-PROT_PhishingWarden.prototype.QueryInterface = function(iid) {
- if (iid.equals(Ci.nsISupports) ||
- iid.equals(Ci.nsISupportsWeakReference))
- return this;
- throw Components.results.NS_ERROR_NO_INTERFACE;
-}
-
-/**
- * Cleanup on shutdown.
- */
-PROT_PhishingWarden.prototype.shutdown = function() {
- this.prefs_.removeAllObservers();
-}
-
-/**
- * When a preference (either advanced features or the phishwarden
- * enabled) changes, we might have to start or stop asking for updates.
- *
- * This is a little tricky; we start or stop management only when we
- * have complete information we can use to determine whether we
- * should. It could be the case that one pref or the other isn't set
- * yet (e.g., they haven't opted in/out of advanced features). So do
- * nothing unless we have both pref values -- we get notifications for
- * both, so eventually we will start correctly.
- */
-PROT_PhishingWarden.prototype.maybeToggleUpdateChecking = function() {
- if (this.testing_)
- return;
-
- var phishWardenEnabled = this.prefs_.getPref(kPhishWardenEnabledPref, null);
-
- // Do nothing unless the phishing warden pref is set. It can be null (unset), true, or
- // false.
- if (phishWardenEnabled === null)
- return;
-
- // We update and save to disk all tables if we don't have remote checking
- // enabled.
- if (phishWardenEnabled === true) {
- // If anti-phishing is enabled, we always download the local files to
- // use in case remote lookups fail.
- this.enableBlacklistTableUpdates();
- this.enableWhitelistTableUpdates();
- } else {
- // Anti-phishing is off, disable table updates
- this.disableBlacklistTableUpdates();
- this.disableWhitelistTableUpdates();
- }
-}
-
-/**
- * Deal with a user changing the pref that says whether we should
- * enable the phishing warden (i.e., that SafeBrowsing is active)
- *
- * @param prefName Name of the pref holding the value indicating whether
- * we should enable the phishing warden
- */
-PROT_PhishingWarden.prototype.onPhishWardenEnabledPrefChanged = function(
- prefName) {
- this.phishWardenEnabled_ = this.prefs_.getPref(prefName, this.phishWardenEnabled_);
- this.maybeToggleUpdateChecking();
-}
-
-/**
- * Event fired when the user changes data providers.
- */
-PROT_PhishingWarden.prototype.onDataProviderPrefChanged = function(prefName) {
-}
-
-/**
- * Indicates if this URL is one of the possible blacklist test URLs.
- * These test URLs should always be considered as phishy.
- *
- * @param url URL to check
- * @return A boolean indicating whether this is one of our blacklist
- * test URLs
- */
-PROT_PhishingWarden.prototype.isBlacklistTestURL = function(url) {
- // Explicitly check for URL so we don't get JS warnings in strict mode.
- if (kTestUrls[url])
- return true;
- return false;
-}
-
-/**
- * Callback for found local blacklist match. First we report that we have
- * a blacklist hit, then we bring up the warning dialog.
- * @param status Number enum from callback (PROT_ListWarden.IN_BLACKLIST,
- * PROT_ListWarden.IN_WHITELIST, PROT_ListWarden.NOT_FOUND)
- */
-PROT_PhishingWarden.prototype.localListMatch_ = function(url, request, status) {
- if (PROT_ListWarden.IN_BLACKLIST != status)
- return;
-}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/installer/package-manifest.in thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/installer/package-manifest.in
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/installer/package-manifest.in 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/installer/package-manifest.in 2015-01-25 22:23:56.000000000 +0000
@@ -241,7 +241,7 @@
#endif
@RESPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
@RESPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
-@RESPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/preview.png
+@RESPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon64.png
@RESPATH@/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
; Gloda
@@ -397,8 +397,6 @@
@RESPATH@/components/autoconfig.xpt
; Phishing Protection
-@RESPATH@/components/phishing.manifest
-@RESPATH@/components/nsPhishingProtectionApplication.js
@RESPATH@/components/nsUrlClassifierListManager.js
@RESPATH@/components/nsUrlClassifierHashCompleter.js
@RESPATH@/components/nsUrlClassifierLib.js
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/locales/en-US/chrome/messenger/FilterEditor.dtd thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/locales/en-US/chrome/messenger/FilterEditor.dtd
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/locales/en-US/chrome/messenger/FilterEditor.dtd 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/locales/en-US/chrome/messenger/FilterEditor.dtd 2015-01-25 22:23:56.000000000 +0000
@@ -25,6 +25,8 @@
+
+
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/locales/en-US/chrome/messenger/imapMsgs.properties thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/locales/en-US/chrome/messenger/imapMsgs.properties
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/locales/en-US/chrome/messenger/imapMsgs.properties 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/locales/en-US/chrome/messenger/imapMsgs.properties 2015-01-25 22:23:56.000000000 +0000
@@ -75,17 +75,15 @@
imapEmptyMimePart=This body part will be downloaded on demand.
-# LOCALIZATION NOTE (imapReceivingMessageHeaders): Do not translate the word "%1$S", "%2$lu" or "%3$lu" below.
-# Place the word %1$S in your translation where the name of the server should appear.
-# Place the word %2$lu where the number of the header currently being downloaded should appear.
-# Place the word %3$lu where the number of headers should appear.
-imapReceivingMessageHeaders=%S Downloading message header %lu of %lu
-
-# LOCALIZATION NOTE (imapReceivingMessageFlags): Do not translate the word "%1$S", "%2$lu" or "%3$lu" below.
-# Place the word %1$S in your translation where the name of the server should appear.
-# Place the word %2$lu where the number of the flag currently being downloaded should appear.
-# Place the word %3$lu where the number of flags should appear.
-imapReceivingMessageFlags=%S Downloading message flag %lu of %lu
+# LOCALIZATION NOTE (imapReceivingMessageHeaders2): Do not translate the word "%S" or "%lu" below.
+# Place the word %S in your translation where the name of the server should appear.
+# Place the word %lu where the number of headers should appear.
+imapReceivingMessageHeaders2=%S Downloading message header %lu of %lu…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags2): Do not translate the word "%S" or "%lu" below.
+# Place the word %S in your translation where the name of the server should appear.
+# Place the word %lu where the number of flags should appear.
+imapReceivingMessageFlags2=%S Downloading message flag %lu of %lu…
imapDeletingMessages=Deleting messages…
@@ -107,10 +105,10 @@
# Place the word %S in your translation where the name of the folder should appear.
imapCopyingMessage=Copying message to %S…
-# LOCALIZATION NOTE (imapFolderReceivingMessageOf): Do not translate the word "%S" or "%lu" below.
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf2): Do not translate the word "%S" or "%lu" below.
# Place the word %S in your translation where the name of the folder should appear.
# Place the word %lu where the number of headers should appear.
-imapFolderReceivingMessageOf=%S - Downloading message %lu of %lu
+imapFolderReceivingMessageOf2=%S - Downloading message %lu of %lu…
# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
# Place the word %S in your translation where the name of the folder should appear.
@@ -198,11 +196,11 @@
# Out of memory
imapOutOfMemory=Application is out of memory.
-# LOCALIZATION NOTE (imapCopyingMessageOf): Do not translate the word "%S" below.
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
# Place the word %3$S in your translation where the name of the destination folder should appear.
# Place the word %1$S where the currently copying message should appear.
# Place the word %2$S where the total number of messages should appear.
-imapCopyingMessageOf=Copying Message %1$S of %2$S to %3$S
+imapCopyingMessageOf2=Copying message %1$S of %2$S to %3$S…
# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
# "%S" is the the name of the folder.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/install.rdf thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/install.rdf
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/install.rdf 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/install.rdf 2015-01-25 22:23:56.000000000 +0000
@@ -24,8 +24,8 @@
- Thunderbird (default)
- The default theme
+ Default
+ The default theme.
-
-#ifdef XP_MACOSX
- Kevin Gerich and Stephen Horlander
-#else
- Arvid Axelsson
-#endif
+ MozillaMozilla Contributorsclassic/1.0
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/linux/mail/icon.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/linux/mail/icon.png differ
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/linux/mail/preview.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/linux/mail/preview.png differ
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/linux/Makefile.in thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/linux/Makefile.in
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/linux/Makefile.in 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/linux/Makefile.in 2015-01-25 22:23:56.000000000 +0000
@@ -14,8 +14,8 @@
CLASSIC_EXTENSION_DIR = {972ce4c6-7e08-4474-a285-3208198ce6fd}
FILES := \
- mail/icon.png \
- mail/preview.png \
+ ../shared/mail/icon.png \
+ ../shared/mail/icon64.png \
mail/chrome.manifest \
$(NULL)
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/osx/mail/icon.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/osx/mail/icon.png differ
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/osx/mail/preview.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/osx/mail/preview.png differ
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/osx/Makefile.in thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/osx/Makefile.in
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/osx/Makefile.in 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/osx/Makefile.in 2015-01-25 22:23:56.000000000 +0000
@@ -14,8 +14,8 @@
CLASSIC_EXTENSION_DIR = {972ce4c6-7e08-4474-a285-3208198ce6fd}
FILES := \
- mail/icon.png \
- mail/preview.png \
+ ../shared/mail/icon.png \
+ ../shared/mail/icon64.png \
mail/chrome.manifest \
$(NULL)
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/shared/mail/icon64.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/shared/mail/icon64.png differ
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/shared/mail/icon.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/shared/mail/icon.png differ
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/chat-aero.css thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/chat-aero.css
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/chat-aero.css 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/chat-aero.css 2015-01-25 22:23:57.000000000 +0000
@@ -271,12 +271,12 @@
-moz-image-region: rect(1px 53px 17px 37px);
}
-toolbar:-moz-lwtheme-darktext #button-add-buddy,
-toolbar:-moz-lwtheme-darktext #button-add-buddy[disabled],
-toolbar:-moz-lwtheme-darktext #button-join-chat,
-toolbar:-moz-lwtheme-darktext #button-join-chat[disabled],
-toolbar:-moz-lwtheme-darktext #button-chat-accounts,
-toolbar:-moz-lwtheme-darktext #button-chat-accounts[disabled] {
+toolbar[brighttext] #button-add-buddy,
+toolbar[brighttext] #button-add-buddy[disabled],
+toolbar[brighttext] #button-join-chat,
+toolbar[brighttext] #button-join-chat[disabled],
+toolbar[brighttext] #button-chat-accounts,
+toolbar[brighttext] #button-chat-accounts[disabled] {
list-style-image: url("chrome://messenger/skin/icons/chat-toolbar-inverted.png");
}
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/icon.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/icon.png differ
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/messenger.css thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/messenger.css
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/messenger.css 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/messenger.css 2015-01-25 22:23:57.000000000 +0000
@@ -10,6 +10,10 @@
@import url("chrome://messenger/content/messenger.css");
@import url("chrome://messenger/skin/shared/messenger.css");
+toolbox:-moz-lwtheme {
+ border-top-width: 0;
+}
+
%ifdef WINDOWS_AERO
@media not all and (-moz-windows-default-theme) {
%endif
Binary files /tmp/QmiHvEweXa/thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/preview.png and /tmp/dHC8M0cSQO/thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/preview.png differ
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/primaryToolbar.css thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/primaryToolbar.css
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/mail/primaryToolbar.css 2015-01-16 19:25:26.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/mail/primaryToolbar.css 2015-01-25 22:23:55.000000000 +0000
@@ -71,9 +71,9 @@
}
#tabs-toolbar {
+ border-bottom-width: 0;
%ifndef WINDOWS_AERO
-moz-appearance: none;
- border-bottom-width: 0;
background-image: linear-gradient(to top, hsla(209, 67%, 12%, 0.35) 1px,
transparent 1px);
%else
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/Makefile.in thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/Makefile.in
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mail/themes/windows/Makefile.in 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mail/themes/windows/Makefile.in 2015-01-25 22:23:57.000000000 +0000
@@ -14,8 +14,8 @@
CLASSIC_EXTENSION_DIR = {972ce4c6-7e08-4474-a285-3208198ce6fd}
FILES := \
- mail/icon.png \
- mail/preview.png \
+ ../shared/mail/icon.png \
+ ../shared/mail/icon64.png \
mail/chrome.manifest \
$(NULL)
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/search/content/FilterEditor.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/search/content/FilterEditor.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/search/content/FilterEditor.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/search/content/FilterEditor.js 2015-01-25 22:23:55.000000000 +0000
@@ -250,6 +250,7 @@
menuitemBeforePlugins: document.getElementById("runBeforePlugins"),
menuitemAfterPlugins: document.getElementById("runAfterPlugins"),
+ checkBoxArchive: document.getElementById("runArchive"),
checkBoxOutgoing: document.getElementById("runOutgoing"),
/**
@@ -276,6 +277,9 @@
}
}
+ if (this.checkBoxArchive.checked)
+ type |= nsMsgFilterType.Archive;
+
if (this.checkBoxOutgoing.checked)
type |= nsMsgFilterType.PostOutgoing;
@@ -302,6 +306,8 @@
this.menulistIncoming.selectedItem = aType & nsMsgFilterType.PostPlugin ?
this.menuitemAfterPlugins : this.menuitemBeforePlugins;
+ this.checkBoxArchive.checked = aType & nsMsgFilterType.Archive;
+
this.checkBoxOutgoing.checked = aType & nsMsgFilterType.PostOutgoing;
this.updateClassificationMenu();
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/search/content/FilterEditor.xul thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/search/content/FilterEditor.xul
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/search/content/FilterEditor.xul 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/search/content/FilterEditor.xul 2015-01-25 22:23:55.000000000 +0000
@@ -80,6 +80,12 @@
+
+
+ GetLength(&cnt);
+ if (!cnt)
+ {
+ if (listener)
+ {
+ listener->OnStartCopy();
+ listener->OnStopCopy(NS_OK);
+ }
+ return NS_OK;
+ }
+
copyRequest = new nsCopyRequest();
if (!copyRequest)
return NS_ERROR_OUT_OF_MEMORY;
@@ -472,8 +484,6 @@
if (NS_FAILED(rv))
goto done;
- messages->GetLength(&cnt);
-
if (PR_LOG_TEST(gCopyServiceLog, PR_LOG_ALWAYS))
LogCopyRequest("CopyMessages request", copyRequest);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/src/nsMsgProgress.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/src/nsMsgProgress.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/src/nsMsgProgress.cpp 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/src/nsMsgProgress.cpp 2015-01-25 22:23:55.000000000 +0000
@@ -235,7 +235,7 @@
}
NS_IMETHODIMP nsMsgProgress::OnProgress(nsIRequest *request, nsISupports* ctxt,
- uint64_t aProgress, uint64_t aProgressMax)
+ int64_t aProgress, int64_t aProgressMax)
{
// XXX: What should the nsIWebProgress be?
// XXX: This truncates 64-bit to 32-bit
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/src/nsMsgStatusFeedback.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/src/nsMsgStatusFeedback.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/src/nsMsgStatusFeedback.cpp 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/src/nsMsgStatusFeedback.cpp 2015-01-25 22:23:55.000000000 +0000
@@ -246,7 +246,7 @@
}
NS_IMETHODIMP nsMsgStatusFeedback::OnProgress(nsIRequest *request, nsISupports* ctxt,
- uint64_t aProgress, uint64_t aProgressMax)
+ int64_t aProgress, int64_t aProgressMax)
{
// XXX: What should the nsIWebProgress be?
// XXX: this truncates 64-bit to 32-bit
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/test/unit/test_accountMigration.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/test/unit/test_accountMigration.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/test/unit/test_accountMigration.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/test/unit/test_accountMigration.js 2015-01-25 22:23:55.000000000 +0000
@@ -45,6 +45,17 @@
do_check_eq(Services.perms.testPermission(uriDisallowed, "image"),
Services.perms.UNKNOWN_ACTION);
+ // Set default charsets to an encoding no longer supported: VISCII.
+ let charset = Components.classes["@mozilla.org/pref-localizedstring;1"]
+ .createInstance(Components.interfaces.nsIPrefLocalizedString);
+ charset.data = "VISCII";
+ Services.prefs.setComplexValue("mailnews.send_default_charset",
+ Components.interfaces.nsIPrefLocalizedString, charset);
+ do_check_true(Services.prefs.prefHasUserValue("mailnews.send_default_charset"));
+ Services.prefs.setComplexValue("mailnews.view_default_charset",
+ Components.interfaces.nsIPrefLocalizedString, charset);
+ do_check_true(Services.prefs.prefHasUserValue("mailnews.view_default_charset"));
+
// Now migrate the prefs.
migrateMailnews();
@@ -87,6 +98,11 @@
do_check_eq(Services.perms.testPermission(uriDisallowed, "image"),
Services.perms.UNKNOWN_ACTION);
+ // Migration should have cleared the charset user pref values.
+ do_check_true(Services.prefs.getIntPref("mail.default_charsets.migrated") > 0);
+ do_check_false(Services.prefs.prefHasUserValue("mailnews.send_default_charset"));
+ do_check_false(Services.prefs.prefHasUserValue("mailnews.view_default_charset"));
+
// Now migrate the prefs
migrateMailnews();
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/mailnewsMigrator.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/mailnewsMigrator.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/mailnewsMigrator.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/mailnewsMigrator.js 2015-01-25 22:23:56.000000000 +0000
@@ -19,6 +19,7 @@
const kServerPrefVersion = 1;
const kSmtpPrefVersion = 1;
const kABRemoteContentPrefVersion = 1;
+const kDefaultCharsetsPrefVersion = 1;
function migrateMailnews()
{
@@ -29,6 +30,10 @@
try {
MigrateABRemoteContentSettings();
} catch (e) { logException(e); }
+
+ try {
+ MigrateDefaultCharsets();
+ } catch (e) { logException(e); }
}
/**
@@ -160,3 +165,38 @@
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 = Components.classes['@mozilla.org/charset-converter-manager;1']
+ .getService(Components.interfaces.nsICharsetConverterManager);
+
+ let sendCharsetStr = Services.prefs.getComplexValue(
+ "mailnews.send_default_charset",
+ Components.interfaces.nsIPrefLocalizedString).data;
+
+ try {
+ charsetConvertManager.getCharsetTitle(sendCharsetStr);
+ } catch (e) {
+ Services.prefs.clearUserPref("mailnews.send_default_charset");
+ }
+
+ let viewCharsetStr = Services.prefs.getComplexValue(
+ "mailnews.view_default_charset",
+ Components.interfaces.nsIPrefLocalizedString).data;
+
+ try {
+ charsetConvertManager.getCharsetTitle(viewCharsetStr);
+ } catch (e) {
+ Services.prefs.clearUserPref("mailnews.view_default_charset");
+ }
+
+ Services.prefs.setIntPref("mail.default_charsets.migrated",
+ kDefaultCharsetsPrefVersion);
+}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/moz.build thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/moz.build
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/moz.build 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/moz.build 2015-01-25 22:23:56.000000000 +0000
@@ -65,6 +65,10 @@
'traceHelper.js',
]
+LOCAL_INCLUDES += [
+ '/mozilla/netwerk/base'
+]
+
FINAL_LIBRARY = 'mail'
Library('msgbsutl_s')
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgProtocol.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgProtocol.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgProtocol.cpp 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgProtocol.cpp 2015-01-25 22:23:56.000000000 +0000
@@ -25,7 +25,6 @@
#include "prprf.h"
#include "plbase64.h"
#include "nsIStringBundle.h"
-#include "nsIProtocolProxyService2.h"
#include "nsIProxyInfo.h"
#include "nsThreadUtils.h"
#include "nsIPrefBranch.h"
@@ -163,67 +162,6 @@
return SetupTransportState();
}
-// open a connection on this url
-nsresult
-nsMsgProtocol::OpenNetworkSocket(nsIURI * aURL, const char *connectionType,
- nsIInterfaceRequestor* callbacks)
-{
- NS_ENSURE_ARG(aURL);
-
- nsAutoCString hostName;
- int32_t port = 0;
-
- aURL->GetPort(&port);
- aURL->GetAsciiHost(hostName);
-
- nsCOMPtr proxyInfo;
-
- nsCOMPtr pps =
- do_GetService("@mozilla.org/network/protocol-proxy-service;1");
-
- NS_ASSERTION(pps, "Couldn't get the protocol proxy service!");
-
- if (pps)
- {
- nsresult rv = NS_OK;
-
- // Yes, this is ugly. But necko needs to grap a protocol handler
- // to ask for flags, and smtp isn't registered as a handler, only
- // mailto.
- // Note that I cannot just clone, and call SetSpec, since Clone on
- // nsSmtpUrl calls nsStandardUrl's clone method, which fails
- // because smtp isn't a registered protocol.
- // So we cheat. Whilst creating a uri manually is valid here,
- // do _NOT_ copy this to use in your own code - bbaetz
- nsCOMPtr proxyUri = aURL;
- bool isSMTP = false;
- if (NS_SUCCEEDED(aURL->SchemeIs("smtp", &isSMTP)) && isSMTP)
- {
- nsAutoCString spec;
- rv = aURL->GetSpec(spec);
- if (NS_SUCCEEDED(rv))
- proxyUri = do_CreateInstance(NS_STANDARDURL_CONTRACTID, &rv);
-
- if (NS_SUCCEEDED(rv))
- rv = proxyUri->SetSpec(spec);
- if (NS_SUCCEEDED(rv))
- rv = proxyUri->SetScheme(NS_LITERAL_CSTRING("mailto"));
- }
- //
- // XXX(darin): Consider using AsyncResolve instead to avoid blocking
- // the calling thread in cases where PAC may call into
- // our DNS resolver.
- //
- if (NS_SUCCEEDED(rv))
- rv = pps->DeprecatedBlockingResolve(proxyUri, 0, getter_AddRefs(proxyInfo));
- NS_ASSERTION(NS_SUCCEEDED(rv), "Couldn't successfully resolve a proxy");
- if (NS_FAILED(rv)) proxyInfo = nullptr;
- }
-
- return OpenNetworkSocketWithInfo(hostName.get(), port, connectionType,
- proxyInfo, callbacks);
-}
-
nsresult nsMsgProtocol::GetFileFromURL(nsIURI * aURL, nsIFile **aResult)
{
NS_ENSURE_ARG_POINTER(aURL);
@@ -749,7 +687,7 @@
NS_IMETHODIMP
nsMsgProtocol::OnTransportStatus(nsITransport *transport, nsresult status,
- uint64_t progress, uint64_t progressMax)
+ int64_t progress, int64_t progressMax)
{
if ((mLoadFlags & LOAD_BACKGROUND) || !m_url)
return NS_OK;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgProtocol.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgProtocol.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgProtocol.h 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgProtocol.h 2015-01-25 22:23:56.000000000 +0000
@@ -81,11 +81,6 @@
// mscott -okay this is lame. I should break this up into a file protocol and a socket based
// protocool class instead of cheating and putting both methods here...
- // open a connection on this url
- virtual nsresult OpenNetworkSocket(nsIURI * aURL,
- const char *connectionType,
- nsIInterfaceRequestor* callbacks);
-
// open a connection with a specific host and port
// aHostName must be UTF-8 encoded.
virtual nsresult OpenNetworkSocketWithInfo(const char * aHostName,
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgUtils.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgUtils.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgUtils.cpp 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgUtils.cpp 2015-01-25 22:23:56.000000000 +0000
@@ -49,7 +49,7 @@
#include "nsMsgFileStream.h"
#include "nsIFileURL.h"
#include "nsNetUtil.h"
-#include "nsIProtocolProxyService2.h"
+#include "nsProtocolProxyService.h"
#include "nsIMsgDatabase.h"
#include "nsIMutableArray.h"
#include "nsIMsgMailNewsUrl.h"
@@ -2061,32 +2061,31 @@
}
NS_MSG_BASE nsresult
-MsgExamineForProxy(const char *scheme, const char *host,
- int32_t port, nsIProxyInfo **proxyInfo)
+MsgExamineForProxy(nsIChannel *channel, nsIProxyInfo **proxyInfo)
{
nsresult rv;
- nsCOMPtr pps =
- do_GetService(NS_PROTOCOLPROXYSERVICE_CONTRACTID, &rv);
- if (NS_SUCCEEDED(rv)) {
- nsAutoCString spec(scheme);
- spec.Append("://");
- spec.Append(host);
- spec.Append(':');
- spec.AppendInt(port);
- // XXXXX - Under no circumstances whatsoever should any code which
- // wants a uri do this. I do this here because I do not, in fact,
- // actually want a uri (the dummy uris created here may not be
- // syntactically valid for the specific protocol), and all we need
- // is something which has a valid scheme, hostname, and a string
- // to pass to PAC if needed - bbaetz
- nsCOMPtr uri = do_CreateInstance(NS_STANDARDURL_CONTRACTID, &rv);
- if (NS_SUCCEEDED(rv)) {
- rv = uri->SetSpec(spec);
- if (NS_SUCCEEDED(rv))
- rv = pps->DeprecatedBlockingResolve(uri, 0, proxyInfo);
- }
- }
- return rv;
+
+#ifdef DEBUG
+ nsCOMPtr uri;
+ rv = channel->GetURI(getter_AddRefs(uri));
+ NS_ASSERTION(NS_SUCCEEDED(rv) && uri,
+ "The URI needs to be set before calling the proxy service");
+#endif
+
+ nsCOMPtr proxyService =
+ do_GetService(NS_PROTOCOLPROXYSERVICE_CONTRACTID, &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ // XXX: This "interface" ID is exposed, but it's not hooked up to the QI.
+ // Until it is, use a static_cast for now.
+#if 0
+ nsRefPtr rawProxyService = do_QueryObject(proxyService, &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+#else
+ nsProtocolProxyService *rawProxyService = static_cast(proxyService.get());
+#endif
+
+ return rawProxyService->DeprecatedBlockingResolve(channel, 0, proxyInfo);
}
NS_MSG_BASE nsresult MsgPromptLoginFailed(nsIMsgWindow *aMsgWindow,
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgUtils.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgUtils.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/base/util/nsMsgUtils.h 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/base/util/nsMsgUtils.h 2015-01-25 22:23:56.000000000 +0000
@@ -21,6 +21,7 @@
#include "nsUnicharUtils.h"
#include "nsIFile.h"
+class nsIChannel;
class nsIFile;
class nsIPrefBranch;
class nsIMsgFolder;
@@ -227,8 +228,8 @@
const nsTArray &aKeys,
nsIMutableArray *aHeaders);
-NS_MSG_BASE nsresult MsgExamineForProxy(const char *scheme, const char *host,
- int32_t port, nsIProxyInfo **proxyInfo);
+NS_MSG_BASE nsresult MsgExamineForProxy(nsIChannel *channel,
+ nsIProxyInfo **proxyInfo);
NS_MSG_BASE int32_t MsgFindCharInSet(const nsCString &aString,
const char* aChars, uint32_t aOffset = 0);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/compose/src/nsSmtpProtocol.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/compose/src/nsSmtpProtocol.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/compose/src/nsSmtpProtocol.cpp 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/compose/src/nsSmtpProtocol.cpp 2015-01-25 22:23:56.000000000 +0000
@@ -283,11 +283,13 @@
}
InitPrefAuthMethods(authMethod);
-#if defined(PR_LOGGING)
nsAutoCString hostName;
+ int32_t port = 0;
+
+ aURL->GetPort(&port);
aURL->GetAsciiHost(hostName);
+
PR_LOG(SMTPLogModule, PR_LOG_ALWAYS, ("SMTP Connecting to: %s", hostName.get()));
-#endif
// When we are making a secure connection, we need to make sure that we
// pass an interface requestor down to the socket transport so that PSM can
@@ -297,19 +299,27 @@
if (smtpUrl)
smtpUrl->GetNotificationCallbacks(getter_AddRefs(callbacks));
+ nsCOMPtr proxyInfo;
+ rv = MsgExamineForProxy(this, getter_AddRefs(proxyInfo));
+ if (NS_FAILED(rv)) proxyInfo = nullptr;
+
if (m_prefSocketType == nsMsgSocketType::SSL)
- rv = OpenNetworkSocket(aURL, "ssl", callbacks);
+ rv = OpenNetworkSocketWithInfo(hostName.get(), port, "ssl", proxyInfo,
+ callbacks);
else if (m_prefSocketType != nsMsgSocketType::plain)
{
- rv = OpenNetworkSocket(aURL, "starttls", callbacks);
+ rv = OpenNetworkSocketWithInfo(hostName.get(), port, "starttls",
+ proxyInfo, callbacks);
if (NS_FAILED(rv) && m_prefSocketType == nsMsgSocketType::trySTARTTLS)
{
m_prefSocketType = nsMsgSocketType::plain;
- rv = OpenNetworkSocket(aURL, nullptr, callbacks);
+ rv = OpenNetworkSocketWithInfo(hostName.get(), port, nullptr,
+ proxyInfo, callbacks);
}
}
else
- rv = OpenNetworkSocket(aURL, nullptr, callbacks);
+ rv = OpenNetworkSocketWithInfo(hostName.get(), port, nullptr, proxyInfo,
+ callbacks);
}
void nsSmtpProtocol::AppendHelloArgument(nsACString& aResult)
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/compose/src/nsSMTPProtocolHandler.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/compose/src/nsSMTPProtocolHandler.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/compose/src/nsSMTPProtocolHandler.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/compose/src/nsSMTPProtocolHandler.js 2015-01-25 22:23:56.000000000 +0000
@@ -17,6 +17,7 @@
protocolFlags: nsIProtocolHandler.URI_NORELATIVE |
nsIProtocolHandler.URI_DANGEROUS_TO_LOAD |
nsIProtocolHandler.URI_NON_PERSISTABLE |
+ nsIProtocolHandler.ALLOWS_PROXY |
nsIProtocolHandler.URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT,
newURI: function (aSpec, aOriginCharset, aBaseURI) {
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/compose/test/unit/test_smtpProtocols.js thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/compose/test/unit/test_smtpProtocols.js
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/compose/test/unit/test_smtpProtocols.js 2015-01-16 19:25:27.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/compose/test/unit/test_smtpProtocols.js 2015-01-25 22:23:56.000000000 +0000
@@ -7,6 +7,7 @@
Ci.nsIProtocolHandler.URI_NORELATIVE |
Ci.nsIProtocolHandler.URI_DANGEROUS_TO_LOAD |
Ci.nsIProtocolHandler.URI_NON_PERSISTABLE |
+ Ci.nsIProtocolHandler.ALLOWS_PROXY |
Ci.nsIProtocolHandler.URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT;
const protocols =
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/imap/src/nsImapMailFolder.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/imap/src/nsImapMailFolder.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/imap/src/nsImapMailFolder.cpp 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/imap/src/nsImapMailFolder.cpp 2015-01-25 22:23:56.000000000 +0000
@@ -5290,7 +5290,9 @@
}
}
- if (m_copyState->m_msgWindow && NS_SUCCEEDED(aExitCode)) //we should do this only if move/copy succeeds
+ if (m_copyState->m_msgWindow &&
+ m_copyState->m_undoMsgTxn && // may be null from filters
+ NS_SUCCEEDED(aExitCode)) //we should do this only if move/copy succeeds
{
nsCOMPtr txnMgr;
m_copyState->m_msgWindow->GetTransactionManager(getter_AddRefs(txnMgr));
@@ -5300,7 +5302,7 @@
NS_ASSERTION(NS_SUCCEEDED(rv2), "doing transaction failed");
}
}
- (void) OnCopyCompleted(m_copyState->m_srcSupport, aExitCode);
+ (void) OnCopyCompleted(m_copyState->m_srcSupport, aExitCode);
}
// we're the dest folder of a move/copy - if we're not open in the ui,
@@ -8166,7 +8168,7 @@
rv = IMAPGetStringBundle(getter_AddRefs(bundle));
NS_ENSURE_SUCCESS(rv, rv);
rv = bundle->FormatStringFromName(
- MOZ_UTF16("imapCopyingMessageOf"),
+ MOZ_UTF16("imapCopyingMessageOf2"),
formatStrings, 3, getter_Copies(progressText));
nsCOMPtr statusFeedback;
if (m_copyState->m_msgWindow)
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/imap/src/nsImapProtocol.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/imap/src/nsImapProtocol.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/imap/src/nsImapProtocol.cpp 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/imap/src/nsImapProtocol.cpp 2015-01-25 22:23:56.000000000 +0000
@@ -834,8 +834,9 @@
else if (m_socketType == nsMsgSocketType::trySTARTTLS)
connectionType = "starttls";
+ m_url = aURL; // Need to set the URL before getting proxy info.
nsCOMPtr proxyInfo;
- rv = MsgExamineForProxy("imap", m_realHostName.get(), port, getter_AddRefs(proxyInfo));
+ rv = MsgExamineForProxy(this, getter_AddRefs(proxyInfo));
if (NS_FAILED(rv))
proxyInfo = nullptr;
@@ -2537,7 +2538,7 @@
|| m_imapAction == nsIImapUrl::nsImapMsgPreview)
{
// multiple messages, fetch them all
- SetProgressString("imapFolderReceivingMessageOf");
+ SetProgressString("imapFolderReceivingMessageOf2");
m_progressIndex = 0;
m_progressCount = CountMessagesInIdString(messageIdString.get());
@@ -2957,7 +2958,7 @@
nsresult rv = m_runningUrl->GetListOfMessageIds(messageIdString);
if (NS_SUCCEEDED(rv))
{
- SetProgressString("imapFolderReceivingMessageOf");
+ SetProgressString("imapFolderReceivingMessageOf2");
m_progressIndex = 0;
m_progressCount = CountMessagesInIdString(messageIdString.get());
@@ -4201,13 +4202,13 @@
// lets worry about this progress stuff later.
switch (fields) {
case kHeadersRFC822andUid:
- SetProgressString("imapReceivingMessageHeaders");
+ SetProgressString("imapReceivingMessageHeaders2");
break;
case kFlags:
- SetProgressString("imapReceivingMessageFlags");
+ SetProgressString("imapReceivingMessageFlags2");
break;
default:
- SetProgressString("imapFolderReceivingMessageOf");
+ SetProgressString("imapFolderReceivingMessageOf2");
break;
}
@@ -9580,7 +9581,7 @@
NS_IMETHODIMP
nsImapMockChannel::OnTransportStatus(nsITransport *transport, nsresult status,
- uint64_t progress, uint64_t progressMax)
+ int64_t progress, int64_t progressMax)
{
if (NS_FAILED(m_cancelStatus) || (mLoadFlags & LOAD_BACKGROUND) || !m_url)
return NS_OK;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/local/src/nsPop3Protocol.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/local/src/nsPop3Protocol.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/local/src/nsPop3Protocol.cpp 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/local/src/nsPop3Protocol.cpp 2015-01-25 22:23:56.000000000 +0000
@@ -531,7 +531,7 @@
server->GetRealHostName(hostName);
nsCOMPtr proxyInfo;
- rv = MsgExamineForProxy("pop", hostName.get(), port, getter_AddRefs(proxyInfo));
+ rv = MsgExamineForProxy(this, getter_AddRefs(proxyInfo));
if (NS_FAILED(rv)) proxyInfo = nullptr;
const char *connectionType = nullptr;
@@ -910,7 +910,7 @@
return NS_OK;
}
-NS_IMETHODIMP nsPop3Protocol::OnTransportStatus(nsITransport *aTransport, nsresult aStatus, uint64_t aProgress, uint64_t aProgressMax)
+NS_IMETHODIMP nsPop3Protocol::OnTransportStatus(nsITransport *aTransport, nsresult aStatus, int64_t aProgress, int64_t aProgressMax)
{
return nsMsgProtocol::OnTransportStatus(aTransport, aStatus, aProgress, aProgressMax);
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/local/src/nsPop3Protocol.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/local/src/nsPop3Protocol.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/local/src/nsPop3Protocol.h 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/local/src/nsPop3Protocol.h 2015-01-25 22:23:56.000000000 +0000
@@ -269,7 +269,7 @@
nsresult StartGetAsyncPassword(Pop3StatesEnum aNextState);
- NS_IMETHOD OnTransportStatus(nsITransport *transport, nsresult status, uint64_t progress, uint64_t progressMax) MOZ_OVERRIDE;
+ NS_IMETHOD OnTransportStatus(nsITransport *transport, nsresult status, int64_t progress, int64_t progressMax) MOZ_OVERRIDE;
NS_IMETHOD OnStopRequest(nsIRequest *request, nsISupports * aContext, nsresult aStatus) MOZ_OVERRIDE;
NS_IMETHOD Cancel(nsresult status) MOZ_OVERRIDE;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/news/src/nsNNTPProtocol.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/news/src/nsNNTPProtocol.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mailnews/news/src/nsNNTPProtocol.cpp 2015-01-16 19:25:28.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mailnews/news/src/nsNNTPProtocol.cpp 2015-01-25 22:23:57.000000000 +0000
@@ -432,7 +432,7 @@
this, hostName.get(), port));
nsCOMPtr proxyInfo;
- rv = MsgExamineForProxy("nntp", hostName.get(), port, getter_AddRefs(proxyInfo));
+ rv = MsgExamineForProxy(this, getter_AddRefs(proxyInfo));
if (NS_FAILED(rv)) proxyInfo = nullptr;
rv = OpenNetworkSocketWithInfo(hostName.get(), port,
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/atk/AccessibleWrap.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/atk/AccessibleWrap.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/atk/AccessibleWrap.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/atk/AccessibleWrap.h 2015-01-25 22:24:21.000000000 +0000
@@ -52,11 +52,11 @@
virtual ~AccessibleWrap();
void ShutdownAtkObject();
- virtual void Shutdown();
+ virtual void Shutdown() MOZ_OVERRIDE;
// return the atk object for this AccessibleWrap
virtual void GetNativeInterface(void** aOutAccessible) MOZ_OVERRIDE;
- virtual nsresult HandleAccEvent(AccEvent* aEvent);
+ virtual nsresult HandleAccEvent(AccEvent* aEvent) MOZ_OVERRIDE;
AtkObject * GetAtkObject(void);
static AtkObject* GetAtkObject(Accessible* aAccessible);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/atk/ApplicationAccessibleWrap.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/atk/ApplicationAccessibleWrap.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/atk/ApplicationAccessibleWrap.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/atk/ApplicationAccessibleWrap.h 2015-01-25 22:24:21.000000000 +0000
@@ -19,9 +19,9 @@
virtual ~ApplicationAccessibleWrap();
// Accessible
- virtual mozilla::a11y::ENameValueFlag Name(nsString& aName);
+ virtual mozilla::a11y::ENameValueFlag Name(nsString& aName) MOZ_OVERRIDE;
virtual bool InsertChildAt(uint32_t aIdx, Accessible* aChild) MOZ_OVERRIDE;
- virtual bool RemoveChild(Accessible* aChild);
+ virtual bool RemoveChild(Accessible* aChild) MOZ_OVERRIDE;
/**
* Return the atk object for app root accessible.
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/atk/AtkSocketAccessible.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/atk/AtkSocketAccessible.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/atk/AtkSocketAccessible.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/atk/AtkSocketAccessible.h 2015-01-25 22:24:21.000000000 +0000
@@ -45,7 +45,7 @@
AtkSocketAccessible(nsIContent* aContent, DocAccessible* aDoc,
const nsCString& aPlugId);
- virtual void Shutdown();
+ virtual void Shutdown() MOZ_OVERRIDE;
virtual void GetNativeInterface(void** aOutAccessible) MOZ_OVERRIDE;
};
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccCollector.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccCollector.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccCollector.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccCollector.h 2015-01-25 22:24:21.000000000 +0000
@@ -77,14 +77,14 @@
virtual ~EmbeddedObjCollector() { }
public:
- virtual int32_t GetIndexAt(Accessible* aAccessible);
+ virtual int32_t GetIndexAt(Accessible* aAccessible) MOZ_OVERRIDE;
protected:
// Make sure it's used by Accessible class only.
explicit EmbeddedObjCollector(Accessible* aRoot) :
AccCollector(aRoot, filters::GetEmbeddedObject) { }
- virtual void AppendObject(Accessible* aAccessible);
+ virtual void AppendObject(Accessible* aAccessible) MOZ_OVERRIDE;
friend class Accessible;
};
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccEvent.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccEvent.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccEvent.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccEvent.h 2015-01-25 22:24:21.000000000 +0000
@@ -154,7 +154,7 @@
// AccEvent
static const EventGroup kEventGroup = eStateChangeEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eStateChangeEvent);
}
@@ -183,7 +183,7 @@
// AccEvent
static const EventGroup kEventGroup = eTextChangeEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eTextChangeEvent);
}
@@ -223,7 +223,7 @@
// Event
static const EventGroup kEventGroup = eMutationEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eMutationEvent);
}
@@ -253,7 +253,7 @@
// Event
static const EventGroup kEventGroup = eHideEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccMutationEvent::GetEventGroups() | (1U << eHideEvent);
}
@@ -281,7 +281,7 @@
// Event
static const EventGroup kEventGroup = eShowEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccMutationEvent::GetEventGroups() | (1U << eShowEvent);
}
@@ -301,7 +301,7 @@
// Event
static const EventGroup kEventGroup = eReorderEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eReorderEvent);
}
@@ -354,7 +354,7 @@
// AccEvent
static const EventGroup kEventGroup = eCaretMoveEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eCaretMoveEvent);
}
@@ -380,7 +380,7 @@
// AccEvent
static const EventGroup kEventGroup = eTextSelChangeEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eTextSelChangeEvent);
}
@@ -419,7 +419,7 @@
// AccEvent
static const EventGroup kEventGroup = eSelectionChangeEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eSelectionChangeEvent);
}
@@ -449,7 +449,7 @@
// AccEvent
static const EventGroup kEventGroup = eTableChangeEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eTableChangeEvent);
}
@@ -479,7 +479,7 @@
// AccEvent
static const EventGroup kEventGroup = eVirtualCursorChangeEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eVirtualCursorChangeEvent);
}
@@ -509,7 +509,7 @@
// AccEvent
static const EventGroup kEventGroup = eObjectAttrChangedEvent;
- virtual unsigned int GetEventGroups() const
+ virtual unsigned int GetEventGroups() const MOZ_OVERRIDE
{
return AccEvent::GetEventGroups() | (1U << eObjectAttrChangedEvent);
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccIterator.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccIterator.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccIterator.cpp 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccIterator.cpp 2015-01-25 22:24:21.000000000 +0000
@@ -332,6 +332,64 @@
////////////////////////////////////////////////////////////////////////////////
+// ARIAOwnedByIterator
+////////////////////////////////////////////////////////////////////////////////
+
+ARIAOwnedByIterator::ARIAOwnedByIterator(const Accessible* aDependent) :
+ RelatedAccIterator(aDependent->Document(), aDependent->GetContent(),
+ nsGkAtoms::aria_owns), mDependent(aDependent)
+{
+}
+
+Accessible*
+ARIAOwnedByIterator::Next()
+{
+ Accessible* owner = RelatedAccIterator::Next();
+ Accessible* cur = owner;
+ while (cur) {
+ if (cur == mDependent)
+ return Next(); // owner cannot be a child of dependent.
+
+ if (cur->IsDoc())
+ break; // don't cross document boundaries
+
+ cur = cur->Parent();
+ }
+
+ return owner;
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// ARIAOwnsIterator
+////////////////////////////////////////////////////////////////////////////////
+
+ARIAOwnsIterator::ARIAOwnsIterator(const Accessible* aOwner) :
+ mIter(aOwner->Document(), aOwner->GetContent(), nsGkAtoms::aria_owns),
+ mOwner(aOwner)
+{
+}
+
+Accessible*
+ARIAOwnsIterator::Next()
+{
+ Accessible* child = mIter.Next();
+ const Accessible* cur = mOwner;
+ while (cur) {
+ if (cur == child)
+ return Next(); // cannot own its own parent
+
+ if (cur->IsDoc())
+ break; // don't cross document boundaries
+
+ cur = cur->Parent();
+ }
+
+ return child;
+}
+
+
+////////////////////////////////////////////////////////////////////////////////
// SingleAccIterator
////////////////////////////////////////////////////////////////////////////////
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccIterator.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccIterator.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/AccIterator.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/AccIterator.h 2015-01-25 22:24:21.000000000 +0000
@@ -43,7 +43,7 @@
* Return next accessible complying with filter function. Return the first
* accessible for the first time.
*/
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
AccIterator();
@@ -89,7 +89,7 @@
/**
* Return next related accessible for the given dependent accessible.
*/
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
RelatedAccIterator();
@@ -123,7 +123,7 @@
/**
* Return next label accessible associated with the given element.
*/
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
HTMLLabelIterator();
@@ -150,7 +150,7 @@
/**
* Return next output accessible associated with the given element.
*/
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
HTMLOutputIterator();
@@ -173,7 +173,7 @@
/**
* Return next label accessible associated with the given element.
*/
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
XULLabelIterator();
@@ -196,7 +196,7 @@
/**
* Return next description accessible associated with the given element.
*/
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
XULDescriptionIterator();
@@ -234,7 +234,7 @@
nsIContent* GetElem(const nsDependentSubstring& aID);
// AccIterable
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
IDRefsIterator();
@@ -247,6 +247,48 @@
nsAString::index_type mCurrIdx;
};
+
+/**
+ * Iterates over related accessible referred by aria-owns.
+ */
+class ARIAOwnedByIterator MOZ_FINAL : public RelatedAccIterator
+{
+public:
+ explicit ARIAOwnedByIterator(const Accessible* aDependent);
+ virtual ~ARIAOwnedByIterator() { }
+
+ virtual Accessible* Next() MOZ_OVERRIDE;
+
+private:
+ ARIAOwnedByIterator() = delete;
+ ARIAOwnedByIterator(const ARIAOwnedByIterator&) = delete;
+ ARIAOwnedByIterator& operator = (const ARIAOwnedByIterator&) = delete;
+
+ const Accessible* mDependent;
+};
+
+
+/**
+ * Iterates over related accessible referred by aria-owns.
+ */
+class ARIAOwnsIterator MOZ_FINAL : public AccIterable
+{
+public:
+ explicit ARIAOwnsIterator(const Accessible* aOwner);
+ virtual ~ARIAOwnsIterator() { }
+
+ virtual Accessible* Next() MOZ_OVERRIDE;
+
+private:
+ ARIAOwnsIterator() = delete;
+ ARIAOwnsIterator(const ARIAOwnsIterator&) = delete;
+ ARIAOwnsIterator& operator = (const ARIAOwnsIterator&) = delete;
+
+ IDRefsIterator mIter;
+ const Accessible* mOwner;
+};
+
+
/**
* Iterator that points to a single accessible returning it on the first call
* to Next().
@@ -257,7 +299,7 @@
explicit SingleAccIterator(Accessible* aTarget): mAcc(aTarget) { }
virtual ~SingleAccIterator() { }
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
SingleAccIterator();
@@ -278,7 +320,7 @@
mContainer(aItemContainer), mAnchor(nullptr) { }
virtual ~ItemIterator() { }
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
ItemIterator() = delete;
@@ -300,7 +342,7 @@
int32_t aRowIdx);
virtual ~XULTreeItemIterator() { }
- virtual Accessible* Next();
+ virtual Accessible* Next() MOZ_OVERRIDE;
private:
XULTreeItemIterator() = delete;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/FocusManager.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/FocusManager.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/FocusManager.cpp 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/FocusManager.cpp 2015-01-25 22:24:21.000000000 +0000
@@ -324,9 +324,7 @@
if (!tryOwnsParent)
break;
- RelatedAccIterator iter(child->Document(), child->GetContent(),
- nsGkAtoms::aria_owns);
- parent = iter.Next();
+ parent = ARIAOwnedByIterator(child).Next();
tryOwnsParent = false;
}
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/NotificationController.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/NotificationController.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/NotificationController.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/NotificationController.h 2015-01-25 22:24:21.000000000 +0000
@@ -64,7 +64,7 @@
mInstance(aInstance), mCallback(aCallback), mArg(aArg) { }
virtual ~TNotification() { mInstance = nullptr; }
- virtual void Process()
+ virtual void Process() MOZ_OVERRIDE
{
(mInstance->*mCallback)(mArg);
@@ -91,8 +91,8 @@
public:
NotificationController(DocAccessible* aDocument, nsIPresShell* aPresShell);
- NS_IMETHOD_(MozExternalRefCountType) AddRef(void);
- NS_IMETHOD_(MozExternalRefCountType) Release(void);
+ NS_IMETHOD_(MozExternalRefCountType) AddRef(void) MOZ_OVERRIDE;
+ NS_IMETHOD_(MozExternalRefCountType) Release(void) MOZ_OVERRIDE;
NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(NotificationController)
@@ -203,7 +203,7 @@
NotificationController& operator = (const NotificationController&);
// nsARefreshObserver
- virtual void WillRefresh(mozilla::TimeStamp aTime);
+ virtual void WillRefresh(mozilla::TimeStamp aTime) MOZ_OVERRIDE;
private:
/**
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/RelationType.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/RelationType.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/RelationType.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/RelationType.h 2015-01-25 22:24:21.000000000 +0000
@@ -12,7 +12,7 @@
namespace mozilla {
namespace a11y {
-MOZ_BEGIN_ENUM_CLASS(RelationType)
+enum class RelationType {
/**
* This object is labelled by a target object.
@@ -131,7 +131,7 @@
LAST = CONTAINING_APPLICATION
-MOZ_END_ENUM_CLASS(RelationType)
+};
} // namespace a11y
} // namespace mozilla
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/TextAttrs.h thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/TextAttrs.h
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/base/TextAttrs.h 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/base/TextAttrs.h 2015-01-25 22:24:21.000000000 +0000
@@ -130,7 +130,7 @@
// TextAttr
virtual void Expose(nsIPersistentProperties* aAttributes,
- bool aIncludeDefAttrValue)
+ bool aIncludeDefAttrValue) MOZ_OVERRIDE
{
if (mGetRootValue) {
if (mIsRootDefined)
@@ -148,7 +148,7 @@
ExposeValue(aAttributes, mRootNativeValue);
}
- virtual bool Equal(Accessible* aAccessible)
+ virtual bool Equal(Accessible* aAccessible) MOZ_OVERRIDE
{
T nativeValue;
bool isDefined = GetValueFor(aAccessible, &nativeValue);
@@ -203,9 +203,9 @@
protected:
// TextAttr
- virtual bool GetValueFor(Accessible* aAccessible, nsString* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, nsString* aValue) MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const nsString& aValue);
+ const nsString& aValue) MOZ_OVERRIDE;
private:
nsCOMPtr mRootContent;
@@ -234,9 +234,9 @@
};
// TextAttr
- virtual bool GetValueFor(Accessible* aAccessible, uint32_t* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, uint32_t* aValue) MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const uint32_t& aValue);
+ const uint32_t& aValue) MOZ_OVERRIDE;
private:
bool GetValue(nsIContent* aElm, uint32_t* aValue);
@@ -256,9 +256,10 @@
protected:
// TextAttr
- virtual bool GetValueFor(Accessible* aAccessible, nscolor* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, nscolor* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const nscolor& aValue);
+ const nscolor& aValue) MOZ_OVERRIDE;
private:
bool GetColor(nsIFrame* aFrame, nscolor* aColor);
@@ -278,9 +279,10 @@
protected:
// TTextAttr
- virtual bool GetValueFor(Accessible* aAccessible, nscolor* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, nscolor* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const nscolor& aValue);
+ const nscolor& aValue) MOZ_OVERRIDE;
};
@@ -296,9 +298,10 @@
protected:
// TTextAttr
- virtual bool GetValueFor(Accessible* aAccessible, nsString* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, nsString* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const nsString& aValue);
+ const nsString& aValue) MOZ_OVERRIDE;
private:
@@ -318,9 +321,10 @@
protected:
// TTextAttr
- virtual bool GetValueFor(Accessible* aAccessible, nscoord* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, nscoord* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const nscoord& aValue);
+ const nscoord& aValue) MOZ_OVERRIDE;
private:
nsDeviceContext* mDC;
@@ -339,9 +343,10 @@
protected:
// TTextAttr
- virtual bool GetValueFor(Accessible* aContent, nscoord* aValue);
+ virtual bool GetValueFor(Accessible* aContent, nscoord* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const nscoord& aValue);
+ const nscoord& aValue) MOZ_OVERRIDE;
};
@@ -357,9 +362,10 @@
protected:
// TTextAttr
- virtual bool GetValueFor(Accessible* aAccessible, int32_t* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, int32_t* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const int32_t& aValue);
+ const int32_t& aValue) MOZ_OVERRIDE;
private:
int32_t GetFontWeight(nsIFrame* aFrame);
@@ -377,9 +383,10 @@
protected:
// TextAttr
- virtual bool GetValueFor(Accessible* aAccessible, bool* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, bool* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const bool& aValue);
+ const bool& aValue) MOZ_OVERRIDE;
};
@@ -428,9 +435,10 @@
protected:
// TextAttr
- virtual bool GetValueFor(Accessible* aAccessible, TextDecorValue* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, TextDecorValue* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const TextDecorValue& aValue);
+ const TextDecorValue& aValue) MOZ_OVERRIDE;
};
/**
@@ -453,9 +461,10 @@
protected:
// TextAttr
- virtual bool GetValueFor(Accessible* aAccessible, TextPosValue* aValue);
+ virtual bool GetValueFor(Accessible* aAccessible, TextPosValue* aValue)
+ MOZ_OVERRIDE;
virtual void ExposeValue(nsIPersistentProperties* aAttributes,
- const TextPosValue& aValue);
+ const TextPosValue& aValue) MOZ_OVERRIDE;
private:
TextPosValue GetTextPosValue(nsIFrame* aFrame) const;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/generic/Accessible.cpp thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/generic/Accessible.cpp
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/generic/Accessible.cpp 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/generic/Accessible.cpp 2015-01-25 22:24:21.000000000 +0000
@@ -1281,7 +1281,7 @@
Accessible* option = CurrentItem();
if (!option) {
Accessible* listbox = nullptr;
- IDRefsIterator iter(mDoc, mContent, nsGkAtoms::aria_owns);
+ ARIAOwnsIterator iter(this);
while ((listbox = iter.Next()) && !listbox->IsListControl());
if (!listbox) {
@@ -1559,8 +1559,7 @@
}
case RelationType::NODE_CHILD_OF: {
- Relation rel(new RelatedAccIterator(Document(), mContent,
- nsGkAtoms::aria_owns));
+ Relation rel(new ARIAOwnedByIterator(this));
// This is an ARIA tree or treegrid that doesn't use owns, so we need to
// get the parent the hard way.
@@ -1590,7 +1589,7 @@
}
case RelationType::NODE_PARENT_OF: {
- Relation rel(new IDRefsIterator(mDoc, mContent, nsGkAtoms::aria_owns));
+ Relation rel(new ARIAOwnsIterator(this));
// ARIA tree or treegrid can do the hierarchy by @aria-level, ARIA trees
// also can be organized by groups.
@@ -1729,7 +1728,7 @@
Runnable(Accessible* aAcc, nsIContent* aContent, uint32_t aIdx) :
mAcc(aAcc), mContent(aContent), mIdx(aIdx) { }
- NS_IMETHOD Run()
+ NS_IMETHOD Run() MOZ_OVERRIDE
{
if (mAcc)
mAcc->DispatchClickEvent(mContent, mIdx);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/jsat/ContentControl.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/jsat/ContentControl.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/jsat/ContentControl.jsm 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/jsat/ContentControl.jsm 2015-01-25 22:24:21.000000000 +0000
@@ -287,8 +287,7 @@
elem.dispatchEvent(evt);
} else {
let evt = this.document.createEvent('KeyboardEvent');
- let keycode = aStepUp ? content.KeyEvent.DOM_VK_DOWN :
- content.KeyEvent.DOM_VK_UP;
+ let keycode = aStepUp ? evt.DOM_VK_DOWN : evt.DOM_VK_UP;
evt.initKeyEvent(
"keypress", false, true, null, false, false, false, false, keycode, 0);
elem.dispatchEvent(evt);
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/jsat/TraversalRules.jsm thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/jsat/TraversalRules.jsm
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/jsat/TraversalRules.jsm 2015-01-16 19:25:54.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/jsat/TraversalRules.jsm 2015-01-25 22:24:21.000000000 +0000
@@ -102,7 +102,8 @@
Roles.LISTITEM,
Roles.GRID_CELL,
Roles.COLUMNHEADER,
- Roles.ROWHEADER];
+ Roles.ROWHEADER,
+ Roles.STATUSBAR];
var gSimpleMatchFunc = function gSimpleMatchFunc(aAccessible) {
// An object is simple, if it either has a single child lineage,
@@ -151,6 +152,7 @@
case Roles.HEADING:
case Roles.COLUMNHEADER:
case Roles.ROWHEADER:
+ case Roles.STATUSBAR:
if ((aAccessible.childCount > 0 || aAccessible.name) &&
(isSingleLineage(aAccessible) || isFlatSubtree(aAccessible))) {
return Filters.MATCH | Filters.IGNORE_SUBTREE;
diff -Nru thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/tests/mochitest/jsat/doc_traversal.html thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/tests/mochitest/jsat/doc_traversal.html
--- thunderbird-trunk-38.0~a1~hg20150116r17361.224177/mozilla/accessible/tests/mochitest/jsat/doc_traversal.html 2015-01-16 19:25:55.000000000 +0000
+++ thunderbird-trunk-38.0~a1~hg20150125r17395.225611/mozilla/accessible/tests/mochitest/jsat/doc_traversal.html 2015-01-25 22:24:21.000000000 +0000
@@ -141,5 +141,7 @@
+