diff -Nru thunderbird-24.3.0+build2/calendar/base/content/dialogs/calendar-event-dialog-freebusy.xml thunderbird-24.4.0+build1/calendar/base/content/dialogs/calendar-event-dialog-freebusy.xml
--- thunderbird-24.3.0+build2/calendar/base/content/dialogs/calendar-event-dialog-freebusy.xml 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/calendar/base/content/dialogs/calendar-event-dialog-freebusy.xml 2014-03-17 23:27:02.000000000 +0000
@@ -603,7 +603,7 @@
diff -Nru thunderbird-24.3.0+build2/calendar/base/content/dialogs/calendar-properties-dialog.js thunderbird-24.4.0+build1/calendar/base/content/dialogs/calendar-properties-dialog.js
--- thunderbird-24.3.0+build2/calendar/base/content/dialogs/calendar-properties-dialog.js 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/calendar/base/content/dialogs/calendar-properties-dialog.js 2014-03-17 23:27:02.000000000 +0000
@@ -162,7 +162,7 @@
}
if (refreshInterval == 0) {
- setBooleanAttribute("calendar-refreshInterval-manual", "checked", true);
+ menulist.selectedItem = document.getElementById("calendar-refreshInterval-manual");
foundValue = true;
}
diff -Nru thunderbird-24.3.0+build2/calendar/base/modules/calItipUtils.jsm thunderbird-24.4.0+build1/calendar/base/modules/calItipUtils.jsm
--- thunderbird-24.3.0+build2/calendar/base/modules/calItipUtils.jsm 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/calendar/base/modules/calItipUtils.jsm 2014-03-17 23:27:02.000000000 +0000
@@ -1203,8 +1203,9 @@
}
}
if (att) {
- let firstFoundItem = this.mFoundItems.length && this.mFoundItems[0];
- let foundAttendee = firstFoundItem.getAttendeeById(att.id);
+ let firstFoundItem = this.mFoundItems[0];
+ // again, fall back to using configured organizer if not found
+ let foundAttendee = firstFoundItem.getAttendeeById(att.id) || att;
// If the the user hasn't responded to the invitation yet and we
// are viewing the current representation of the item, show the
diff -Nru thunderbird-24.3.0+build2/calendar/base/src/calTimezoneService.js thunderbird-24.4.0+build1/calendar/base/src/calTimezoneService.js
--- thunderbird-24.3.0+build2/calendar/base/src/calTimezoneService.js 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/calendar/base/src/calTimezoneService.js 2014-03-17 23:27:02.000000000 +0000
@@ -95,9 +95,17 @@
this.mUTC = new calLibicalTimezone("UTC", null, "", "");
this.mUTC.mUTC = true;
}
- this.mTimezoneCache.UTC = this.mUTC;
- this.mTimezoneCache.utc = this.mUTC;
- this.mTimezoneCache.Z = this.mUTC;
+
+ // These UTC aliases are taken from wikipedia, included in case
+ // other clients make use of them without specifying a definition.
+ const utcAliases = ["UTC", "utc", "Z", "Etc/GMT", "Etc/GMT+0",
+ "Etc/UCT", "Etc/Unversal", "Etc/UTC",
+ "Etc/Zulu", "GMT", "GMT+0", "GMT0",
+ "Greenwich", "UCT", "Universal", "Zulu"];
+
+ for (let zone of utcAliases) {
+ this.mTimezoneCache[zone] = this.mUTC;
+ }
}
return this.mUTC;
diff -Nru thunderbird-24.3.0+build2/calendar/lightning/components/lightningTextCalendarConverter.js thunderbird-24.4.0+build1/calendar/lightning/components/lightningTextCalendarConverter.js
--- thunderbird-24.3.0+build2/calendar/lightning/components/lightningTextCalendarConverter.js 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/calendar/lightning/components/lightningTextCalendarConverter.js 2014-03-17 23:27:02.000000000 +0000
@@ -77,10 +77,8 @@
let item = aItipItem.getItemList({})[0];
let summary = item.getProperty("SUMMARY") || "";
let organizer = item.organizer;
- let organizerString = organizer.toString();
- if (organizer.commonName) {
- organizerString = organizer.commonName;
- }
+ let organizerString = (organizer) ?
+ (organizer.commonName || organizer.toString()) : "";
switch (aItipItem.responseMethod) {
case "REQUEST":
diff -Nru thunderbird-24.3.0+build2/calendar/sunbird/config/version.txt thunderbird-24.4.0+build1/calendar/sunbird/config/version.txt
--- thunderbird-24.3.0+build2/calendar/sunbird/config/version.txt 2014-02-10 17:55:29.000000000 +0000
+++ thunderbird-24.4.0+build1/calendar/sunbird/config/version.txt 2014-03-17 23:27:02.000000000 +0000
@@ -1 +1 @@
-2.6.4
+2.6.5
diff -Nru thunderbird-24.3.0+build2/debian/changelog thunderbird-24.4.0+build1/debian/changelog
--- thunderbird-24.3.0+build2/debian/changelog 2014-02-10 19:10:41.000000000 +0000
+++ thunderbird-24.4.0+build1/debian/changelog 2014-03-17 23:58:30.000000000 +0000
@@ -1,3 +1,10 @@
+thunderbird (1:24.4.0+build1-0ubuntu0.13.10.2) saucy-security; urgency=medium
+
+ * New upstream stable release (THUNDERBIRD_24_4_0_BUILD1)
+ - see LP: #1293851 for USN information
+
+ -- Chris Coulson Mon, 17 Mar 2014 23:54:43 +0000
+
thunderbird (1:24.3.0+build2-0ubuntu0.13.10.1) saucy-security; urgency=low
* New upstream stable release (THUNDERBIRD_24_3_0_BUILD2)
diff -Nru thunderbird-24.3.0+build2/l10n/changesets thunderbird-24.4.0+build1/l10n/changesets
--- thunderbird-24.3.0+build2/l10n/changesets 2014-02-10 18:12:33.000000000 +0000
+++ thunderbird-24.4.0+build1/l10n/changesets 2014-03-17 23:41:28.000000000 +0000
@@ -1,55 +1,55 @@
-ar 1101:64d446261407
-ast 908:48ff80b94656
-be 1283:48b8ffa86967
-bg 685:66c633f4682a
-bn-BD 658:af8185727d1f
-br 775:b1f004a55f7d
-ca 1855:df3c993c4390
-cs 3033:d63c3e953122
-da 1434:3030bd321645
-de 3928:26175f9608c8
-el 993:582340973f7c
-en-GB 1292:bc2a09c9732d
-es-AR 1987:11e91f2eca9a
-es-ES 2491:04e654cb155b
-et 1250:6e5ce9680a35
-eu 1030:4ce26b1a498b
-fi 1637:14f26776a88d
-fr 5589:c22900d50ff8
-fy-NL 1829:04ba96efdb06
-ga-IE 1246:526b5a0ca328
-gd 1083:e2e9b7a62012
-gl 1462:6e1f3957dc5f
-he 1041:8d0e4329d512
-hr 1390:8237bf4b7d6d
-hu 1564:5cc762604759
-hy-AM 671:dc6b46f1d3d3
-id 1081:8e61a1f79000
-is 875:44e19783b011
-it 3704:4430e031bfe5
-ja 1676:c52c8e5f45ff
-ja-JP-mac 1413:a93c68cebf77
-ko 1393:4125f602e801
-lt 2313:8cd0447dfef3
-nb-NO 2064:7e40312d633b
-nl 4335:ec652bf1f7b8
-nn-NO 1151:add91622f509
-pa-IN 1343:ee72fe41cf2a
-pl 5216:9ed5e4cc1126
-pt-BR 1390:e02596bbd88d
-pt-PT 2616:c62f8b82dd82
-rm 900:88d0c378c20d
-ro 961:cc5b396230d8
-ru 3187:76dcbf26f5da
-si 960:030154d3937d
-sk 1527:fcbf406c723e
-sl 1358:30036b0b1f51
-sq 1304:4e97fae1c312
-sr 616:111126e14de4
-sv-SE 3646:e28769e845bc
-ta-LK 647:53f6e4181a3f
-tr 1400:a5e1fce9df01
-uk 2067:99a4ab0d3998
-vi 682:07e4f7148c02
-zh-CN 1716:ebf05f683fb6
-zh-TW 2094:e2d31af246e1
+ar 1128:ef240bf7998a
+ast 923:b556289bb554
+be 1317:7615152c5e6d
+bg 700:d4fb43fd904f
+bn-BD 678:33789cb267ba
+br 797:4905af68bbe5
+ca 1893:e059e0c15eb8
+cs 3086:d3a472a7b2dd
+da 1481:94301ba4b95c
+de 3987:6f846e5b0600
+el 1008:f371ff16cc91
+en-GB 1332:8dfe51928367
+es-AR 2027:9bd3cfb1ef82
+es-ES 3216:cfc6e7031c6c
+et 1285:0a6a9c20b12b
+eu 1047:b55b2f2c9327
+fi 1679:2b97a48fa244
+fr 5737:e8b367dc1c15
+fy-NL 1862:3d2099cf9c80
+ga-IE 1273:2a2c7f37a9a8
+gd 1105:d72aab807ec7
+gl 1490:6119b4bf10f7
+he 1056:595db69c9499
+hr 1412:8686700ae448
+hu 1603:3c760a908af5
+hy-AM 694:b52c7c5a020c
+id 1097:e7199b4eb213
+is 892:dafaad115cdd
+it 3832:f693a01d0729
+ja 1724:0db3fd564120
+ja-JP-mac 1455:c3f0d4b09aa8
+ko 1425:2673a6eef079
+lt 2348:1ae3e7ab4e46
+nb-NO 2108:ef69633df11e
+nl 4403:4ae296bdc7ac
+nn-NO 1170:58e463f5ccf1
+pa-IN 1371:e821bf917725
+pl 5375:4069c99e9130
+pt-BR 1424:232ea958d896
+pt-PT 2663:570fc35464c4
+rm 915:82a735f44b66
+ro 988:7bee1d1a279d
+ru 3255:5d11fea469ec
+si 975:a5459583ac8c
+sk 1562:7a2f22a170dc
+sl 1397:6597fba192d3
+sq 1359:d5f3bf161cc4
+sr 631:eb8004af302a
+sv-SE 3748:44e28a0efc59
+ta-LK 649:291d736a5a8a
+tr 1434:20a3228dd1d2
+uk 2127:26fccf8f851e
+vi 697:15a3144ce78e
+zh-CN 1755:0671dbedeab5
+zh-TW 2135:2d67c5f98649
diff -Nru thunderbird-24.3.0+build2/mail/components/compose/content/editorOverlay.xul thunderbird-24.4.0+build1/mail/components/compose/content/editorOverlay.xul
--- thunderbird-24.3.0+build2/mail/components/compose/content/editorOverlay.xul 2014-02-10 17:55:29.000000000 +0000
+++ thunderbird-24.4.0+build1/mail/components/compose/content/editorOverlay.xul 2014-03-17 23:27:03.000000000 +0000
@@ -928,13 +928,13 @@
diff -Nru thunderbird-24.3.0+build2/mail/components/compose/content/MsgComposeCommands.js thunderbird-24.4.0+build1/mail/components/compose/content/MsgComposeCommands.js
--- thunderbird-24.3.0+build2/mail/components/compose/content/MsgComposeCommands.js 2014-02-10 17:55:29.000000000 +0000
+++ thunderbird-24.4.0+build1/mail/components/compose/content/MsgComposeCommands.js 2014-03-17 23:27:03.000000000 +0000
@@ -885,16 +885,20 @@
{
function getDisabledState(aElement) {
if ("disabled" in aElement)
- return aElement.disabled;
+ return (aElement.disabled ? "true" : "false");
+ else if (!aElement.hasAttribute("disabled"))
+ return "";
else
return aElement.getAttribute("disabled");
}
function setDisabledState(aElement, aValue) {
if ("disabled" in aElement)
- aElement.disabled = aValue;
+ aElement.disabled = (aValue == "true");
+ else if (aValue == "")
+ aElement.removeAttribute("disabled");
else
- aElement.setAttribute("disabled", aValue ? "true" : "false");
+ aElement.setAttribute("disabled", aValue);
}
@@ -921,7 +925,7 @@
// list so only act on it if it still has the "stateBeforeSend"
// attribute.
if (commandItem.hasAttribute("stateBeforeSend")) {
- setDisabledState(commandItem, commandItem.getAttribute("stateBeforeSend") == "true");
+ setDisabledState(commandItem, commandItem.getAttribute("stateBeforeSend"));
commandItem.removeAttribute("stateBeforeSend");
}
}
diff -Nru thunderbird-24.3.0+build2/mail/config/version.txt thunderbird-24.4.0+build1/mail/config/version.txt
--- thunderbird-24.3.0+build2/mail/config/version.txt 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/mail/config/version.txt 2014-03-17 23:27:02.000000000 +0000
@@ -1 +1 @@
-24.3.0
+24.4.0
diff -Nru thunderbird-24.3.0+build2/mail/test/mozmill/composition/test-reply-addresses.js thunderbird-24.4.0+build1/mail/test/mozmill/composition/test-reply-addresses.js
--- thunderbird-24.3.0+build2/mail/test/mozmill/composition/test-reply-addresses.js 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/mail/test/mozmill/composition/test-reply-addresses.js 2014-03-17 23:27:02.000000000 +0000
@@ -141,6 +141,29 @@
}
/**
+ * Helper to set an auto-bcc list for an identity.
+ */
+function useAutoBcc(aIdentity, aBccList) {
+ aIdentity.doBcc = true;
+ aIdentity.doBccList = aBccList;
+}
+
+/**
+ * Helper to stop using auto-bcc for an identity.
+ */
+function stopUsingAutoBcc(aIdentity) {
+ aIdentity.doBcc = false;
+ aIdentity.doBccList = "";
+}
+
+/**
+ * Helper to ensure auto-bcc is turned off.
+ */
+function ensureNoAutoBcc(aIdentity) {
+ aIdentity.doBcc = false;
+}
+
+/**
* Tests that addresses get set properly when doing a normal reply.
*/
function testToCcReply() {
@@ -699,6 +722,7 @@
);
useAutoCc(identity, myEmail + ", smithers@example.com");
+ useAutoBcc(identity, "Lisa ");
checkReply(
open_compose_with_reply_to_all,
// To: original To
@@ -714,6 +738,83 @@
}
);
stopUsingAutoCc(identity);
+ stopUsingAutoBcc(identity);
+}
+
+/**
+ * Tests that addresses get set properly for a reply all to self - but for a
+ * message that is not really the original sent message. Like an auto-bcc:d copy
+ * or from Gmail. This should be treated as a followup.
+ */
+function testReplyToSelfNotOriginalSourceMsgReplyAll() {
+ let msg0 = create_message({
+ from: myEmail2,
+ to: "Bart , Maggie ",
+ cc: "Lisa ",
+ subject: "testReplyToSelfNotOriginalSourceMsgReplyAll - reply to self",
+ clobberHeaders: {
+ "Reply-To": "Flanders "
+ }
+ });
+ add_message_to_folder(folder, msg0);
+
+ be_in_folder(folder);
+ let msg = select_click_row(i++);
+ assert_selected_and_displayed(mc, msg);
+
+ ensureNoAutoCc(identity);
+ useAutoBcc(identity, myEmail + ", smithers@example.com");
+ checkReply(
+ open_compose_with_reply_to_all,
+ // To: original To
+ // Cc: original Cc
+ // Bcc: auto-bccs
+ // Reply-To: original Reply-To
+ {
+ "addr_to": ["Bart ",
+ "Maggie "],
+ "addr_cc": ["Lisa "],
+ "addr_bcc": [myEmail, "smithers@example.com"],
+ "addr_reply": ["Flanders "]
+ }
+ );
+ stopUsingAutoBcc(identity);
+
+ useAutoCc(identity, myEmail + ", smithers@example.com");
+ useAutoBcc(identity, "moe@example.com,bart@example.com,lisa@example.com");
+ checkReply(
+ open_compose_with_reply_to_all,
+ // To: original To
+ // Cc: original Cc (auto-Ccs would have been included here already)
+ // Bcc: auto-bcc minus addressess already in To/Cc
+ // Reply-To: original Reply-To
+ {
+ "addr_to": ["Bart ",
+ "Maggie "],
+ "addr_cc": ["Lisa "],
+ "addr_bcc": ["moe@example.com"],
+ "addr_reply": ["Flanders "]
+ }
+ );
+ stopUsingAutoCc(identity);
+ stopUsingAutoBcc(identity);
+
+ useAutoBcc(identity, myEmail2 + ", smithers@example.com");
+ checkReply(
+ open_compose_with_reply_to_all,
+ // To: original To
+ // Cc: original Cc (auto-Ccs would have been included here already)
+ // Bcc: auto-bccs
+ // Reply-To: original Reply-To
+ {
+ "addr_to": ["Bart ",
+ "Maggie "],
+ "addr_cc": ["Lisa "],
+ "addr_bcc": [myEmail2, "smithers@example.com"],
+ "addr_reply": ["Flanders "]
+ }
+ );
+ stopUsingAutoBcc(identity);
}
/**
@@ -748,6 +849,77 @@
}
);
}
+
+/**
+ * Tests that addresses get set properly for a reply all to self w/ bccs -
+ * this should be treated as a followup.
+ */
+function testReplyToSelfWithBccs() {
+ let msg0 = create_message({
+ from: myEmail,
+ to: myEmail,
+ cc: myEmail2 + ", Lisa ",
+ subject: "testReplyToSelfWithBccs - reply to self",
+ clobberHeaders: {
+ "Bcc": "Moe , Barney ",
+ "Reply-To": myEmail2
+ }
+ });
+ add_message_to_folder(folder, msg0);
+
+ be_in_folder(folder);
+ let msg = select_click_row(i++);
+ assert_selected_and_displayed(mc, msg);
+
+ ensureNoAutoCc(identity);
+ checkReply(
+ open_compose_with_reply_to_all,
+ // To: original To
+ // Cc: original Cc
+ // Bcc: original Bcc
+ // Reply-To: original Reply-To
+ {
+ "addr_to": [myEmail],
+ "addr_cc": [myEmail2, "Lisa "],
+ "addr_bcc": ["Moe ", "Barney "],
+ "addr_reply": [myEmail2]
+ }
+ );
+}
+
+/**
+ * Tests that addresses get set properly for a reply all to other identity w/ bccs -
+ * this be treated as a followup.
+ */
+function testReplyToOtherIdentityWithBccs() {
+ let msg0 = create_message({
+ from: myEmail,
+ to: myEmail2,
+ cc: "Lisa ",
+ subject: "testReplyToOtherIdentityWithBccs - reply to other identity",
+ clobberHeaders: {
+ "Bcc": "Moe , Barney "
+ }
+ });
+ add_message_to_folder(folder, msg0);
+
+ be_in_folder(folder);
+ let msg = select_click_row(i++);
+ assert_selected_and_displayed(mc, msg);
+
+ ensureNoAutoCc(identity);
+ checkReply(
+ open_compose_with_reply_to_all,
+ // To: original To
+ // Cc: original Cc
+ // Bcc: original Bcc
+ {
+ "addr_to": [myEmail2],
+ "addr_cc": ["Lisa "],
+ "addr_bcc": ["Moe ", "Barney "]
+ }
+ );
+}
/**
* Tests that addresses get set properly for a nntp reply-all.
Binary files /tmp/XSd14i_cHR/thunderbird-24.3.0+build2/mail/themes/osx/mail/icons/flag-col.png and /tmp/Ii3CJpVKXH/thunderbird-24.4.0+build1/mail/themes/osx/mail/icons/flag-col.png differ
Binary files /tmp/XSd14i_cHR/thunderbird-24.3.0+build2/mail/themes/osx/mail/icons/threadpane-col@2x.png and /tmp/Ii3CJpVKXH/thunderbird-24.4.0+build1/mail/themes/osx/mail/icons/threadpane-col@2x.png differ
Binary files /tmp/XSd14i_cHR/thunderbird-24.3.0+build2/mail/themes/osx/mail/icons/threadpane-col.png and /tmp/Ii3CJpVKXH/thunderbird-24.4.0+build1/mail/themes/osx/mail/icons/threadpane-col.png differ
diff -Nru thunderbird-24.3.0+build2/mail/themes/windows/mail/primaryToolbar-aero.css thunderbird-24.4.0+build1/mail/themes/windows/mail/primaryToolbar-aero.css
--- thunderbird-24.3.0+build2/mail/themes/windows/mail/primaryToolbar-aero.css 2014-02-10 17:55:29.000000000 +0000
+++ thunderbird-24.4.0+build1/mail/themes/windows/mail/primaryToolbar-aero.css 2014-03-17 23:27:02.000000000 +0000
@@ -15,6 +15,12 @@
/* :::: Toolbar :::: */
+@media not all and (-moz-windows-compositor) {
+ #mail-toolbar-menubar2:not([autohide="true"]) {
+ -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-drag");
+ }
+}
+
.mail-toolbox:not(:-moz-lwtheme),
#navigation-toolbox:not(:-moz-lwtheme),
.contentTabToolbox:not(:-moz-lwtheme) {
diff -Nru thunderbird-24.3.0+build2/mail/themes/windows/mail/primaryToolbar.css thunderbird-24.4.0+build1/mail/themes/windows/mail/primaryToolbar.css
--- thunderbird-24.3.0+build2/mail/themes/windows/mail/primaryToolbar.css 2014-02-10 17:55:29.000000000 +0000
+++ thunderbird-24.4.0+build1/mail/themes/windows/mail/primaryToolbar.css 2014-03-17 23:27:02.000000000 +0000
@@ -13,6 +13,10 @@
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+#mail-toolbar-menubar2:not([autohide="true"]) {
+ -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar-drag");
+}
+
#navigation-toolbox {
-moz-appearance: none;
border-top-width: 0;
diff -Nru thunderbird-24.3.0+build2/mailnews/base/prefs/content/am-junk.js thunderbird-24.4.0+build1/mailnews/base/prefs/content/am-junk.js
--- thunderbird-24.3.0+build2/mailnews/base/prefs/content/am-junk.js 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/mailnews/base/prefs/content/am-junk.js 2014-03-17 23:27:02.000000000 +0000
@@ -68,8 +68,9 @@
var wList = document.getElementById("whiteListAbURI");
// Ensure the whitelist is empty
- while (wList.lastChild)
+ while (wList.hasChildNodes()) {
wList.removeChild(wList.lastChild);
+ }
// Populate the listbox with address books
let abItems = [];
@@ -244,8 +245,13 @@
function buildServerFilterMenuList()
{
const KEY_ISP_DIRECTORY_LIST = "ISPDL";
- let ispHeaderList = document.getElementById('useServerFilterList');
- // Now walk through the isp directories looking for sfd files
+ let ispHeaderList = document.getElementById("useServerFilterList");
+ // Ensure the menulist is empty.
+ while (ispHeaderList.hasChildNodes()) {
+ ispHeaderList.removeChild(ispHeaderList.lastChild);
+ }
+
+ // Now walk through the isp directories looking for sfd files.
let ispDirectories = Services.dirsvc.get(KEY_ISP_DIRECTORY_LIST,
Components.interfaces.nsISimpleEnumerator);
diff -Nru thunderbird-24.3.0+build2/mailnews/base/search/src/nsMsgSearchTerm.cpp thunderbird-24.4.0+build1/mailnews/base/search/src/nsMsgSearchTerm.cpp
--- thunderbird-24.3.0+build2/mailnews/base/search/src/nsMsgSearchTerm.cpp 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/mailnews/base/search/src/nsMsgSearchTerm.cpp 2014-03-17 23:27:02.000000000 +0000
@@ -197,7 +197,7 @@
}
}
if (!found)
- *string = '\0'; // don't leave the string uninitialized
+ *string = ""; // don't leave the string uninitialized
// we no longer return invalid attribute. If we cannot find the string in the table,
// then it is an arbitrary header. Return success regardless if found or not
diff -Nru thunderbird-24.3.0+build2/mailnews/base/src/nsMsgDBView.cpp thunderbird-24.4.0+build1/mailnews/base/src/nsMsgDBView.cpp
--- thunderbird-24.3.0+build2/mailnews/base/src/nsMsgDBView.cpp 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/mailnews/base/src/nsMsgDBView.cpp 2014-03-17 23:27:02.000000000 +0000
@@ -6970,6 +6970,9 @@
MarkThreadRead(thread, threadIndex, idsMarkedRead, true);
CollapseByIndex(threadIndex, nullptr);
}
+
+ if (!m_db)
+ return NS_ERROR_FAILURE;
return m_db->MarkThreadIgnored(thread, m_keys[threadIndex], ignored, this);
}
@@ -6979,9 +6982,10 @@
return NS_MSG_INVALID_DBVIEW_INDEX;
NoteChange(msgIndex, 1, nsMsgViewNotificationCode::changed);
- nsresult rv;
- rv = m_db->MarkHeaderKilled(header, ignored, this);
+ if (!m_db)
+ return NS_ERROR_FAILURE;
+ nsresult rv = m_db->MarkHeaderKilled(header, ignored, this);
NS_ENSURE_SUCCESS(rv, rv);
if (ignored)
diff -Nru thunderbird-24.3.0+build2/mailnews/compose/src/nsMsgCompose.cpp thunderbird-24.4.0+build1/mailnews/compose/src/nsMsgCompose.cpp
--- thunderbird-24.3.0+build2/mailnews/compose/src/nsMsgCompose.cpp 2014-02-10 17:55:28.000000000 +0000
+++ thunderbird-24.4.0+build1/mailnews/compose/src/nsMsgCompose.cpp 2014-03-17 23:27:02.000000000 +0000
@@ -2600,10 +2600,11 @@
if (curIdentityEmail.Equals(fromEmailAddress))
{
isReplyToSelf = true;
- // For a true reply-to-self, NONE of your identities are normally in
- // To or CC. If you auto-Cc yourself it could be in Cc - but we
- // can't detect this case 100%, so lets just treat it like a normal
- // reply.
+ // For a true reply-to-self, none of your identities are normally in
+ // To or Cc. We need to avoid doing a reply-to-self for people that
+ // have multiple identities set and sometimes *uses* the other
+ // identity and sometimes *mails* the other identity.
+ // E.g. husband+wife or own-email+company-role-mail.
for (uint32_t j = 0; j < count; j++)
{
nsCOMPtr lookupIdentity2;
@@ -2614,10 +2615,22 @@
nsCString curIdentityEmail2;
lookupIdentity2->GetEmail(curIdentityEmail2);
- if (toEmailAddresses.Find(curIdentityEmail2) != kNotFound ||
- ccEmailAddresses.Find(curIdentityEmail2) != kNotFound)
+ if (toEmailAddresses.Find(curIdentityEmail2) != kNotFound)
{
// An identity among the recipients -> not reply-to-self.
+ // However, "From:me To:me" should be treated as
+ // reply-to-self if we have a Bcc. If we don't have a Bcc we
+ // might have the case of a generated mail of the style
+ // "From:me To:me Reply-To:customer". Then we need to to do a
+ // normal reply to the customer.
+ isReplyToSelf = !bcc.IsEmpty(); // true if bcc is set
+ break;
+ }
+ else if (ccEmailAddresses.Find(curIdentityEmail2) != kNotFound)
+ {
+ // If you auto-Cc yourself your email would be in Cc - but we
+ // can't detect why it is in Cc so lets just treat it like a
+ // normal reply.
isReplyToSelf = false;
break;
}
@@ -2656,8 +2669,15 @@
{
compFields->SetTo(to);
compFields->SetCc(cc);
- compFields->SetBcc(bcc);
+ // In case it's a reply to self, but it's not the actual source of the
+ // sent message, then we won't know the Bcc header. So set it only if
+ // it's not empty. If you have auto-bcc and removed the auto-bcc for
+ // the original mail, you will have to do it manually for this reply
+ // too.
+ if (!bcc.IsEmpty())
+ compFields->SetBcc(bcc);
compFields->SetReplyTo(replyTo);
+ needToRemoveDup = true;
}
else if (mailFollowupTo.IsEmpty()) {
// default behaviour for messages without Mail-Followup-To
@@ -2825,6 +2845,23 @@
addressesToRemoveFromCc, resultStr);
if (NS_SUCCEEDED(rv))
_compFields->SetCc(resultStr.get());
+
+ if (_compFields->GetBcc())
+ {
+ // Remove addresses already in Cc from Bcc.
+ rv = parser->RemoveDuplicateAddresses(nsDependentCString(_compFields->GetBcc()),
+ nsDependentCString(_compFields->GetCc()),
+ resultStr);
+ if (NS_SUCCEEDED(rv) && !resultStr.IsEmpty())
+ {
+ // Remove addresses already in To from Bcc.
+ rv = parser->RemoveDuplicateAddresses(resultStr,
+ nsDependentCString(_compFields->GetTo()),
+ resultStr);
+ }
+ if (NS_SUCCEEDED(rv))
+ _compFields->SetBcc(resultStr.get());
+ }
}
}
}
diff -Nru thunderbird-24.3.0+build2/mozilla/browser/app/blocklist.xml thunderbird-24.4.0+build1/mozilla/browser/app/blocklist.xml
--- thunderbird-24.3.0+build2/mozilla/browser/app/blocklist.xml 2014-02-10 18:03:47.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/browser/app/blocklist.xml 2014-03-17 23:34:01.000000000 +0000
@@ -1,5 +1,5 @@
-
+
@@ -89,6 +89,12 @@
+
+
+
+
+
+
@@ -176,8 +182,8 @@
-
-
+
+
@@ -378,6 +384,12 @@
+
+
+
+
+
+
@@ -390,6 +402,12 @@
+
+
+
+
+
+
@@ -420,8 +438,8 @@
-
-
+
+
@@ -438,11 +456,8 @@
-
-
-
-
-
+
+
@@ -529,6 +544,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -595,8 +622,8 @@
-
-
+
+
@@ -619,6 +646,12 @@
+
+
+
+
+
+
@@ -693,6 +726,12 @@
+
+
+
+
+
+
@@ -733,8 +772,14 @@
+
+
+
+
+
+
-
+
@@ -761,6 +806,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -869,18 +928,24 @@
-
+
-
+
+
+
+
+
+
+
@@ -935,7 +1000,7 @@
-
+
@@ -985,16 +1050,8 @@
-
-
-
-
-
-
-
-
-
-
+
+
@@ -1011,12 +1068,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1101,8 +1170,8 @@
-
-
+
+
@@ -1143,6 +1212,15 @@
+
+
+
+
+
+
+
+
+
@@ -1206,6 +1284,12 @@
+
+
+
+
+
+
@@ -1290,7 +1374,13 @@
-
+
+
+
+
+
+
+
@@ -1322,8 +1412,8 @@
-
-
+
+
@@ -1346,6 +1436,12 @@
+
+
+
+
+
+
@@ -1358,6 +1454,12 @@
+
+
+
+
+
+
@@ -1403,7 +1505,13 @@
-
+
+
+
+
+
+
+
@@ -1433,6 +1541,12 @@
+
+
+
+
+
+
@@ -1943,6 +2057,12 @@
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/browser/app/macbuild/Contents/_CodeSignature/CodeResources thunderbird-24.4.0+build1/mozilla/browser/app/macbuild/Contents/_CodeSignature/CodeResources
--- thunderbird-24.3.0+build2/mozilla/browser/app/macbuild/Contents/_CodeSignature/CodeResources 2014-02-10 18:03:47.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/browser/app/macbuild/Contents/_CodeSignature/CodeResources 2014-03-17 23:34:01.000000000 +0000
@@ -54,6 +54,18 @@
weight
10
+ ^Updated.app/.*
+ omit
+
+ weight
+ 10
+
+ ^updating/.*
+ omit
+
+ weight
+ 10
+
diff -Nru thunderbird-24.3.0+build2/mozilla/config/milestone.txt thunderbird-24.4.0+build1/mozilla/config/milestone.txt
--- thunderbird-24.3.0+build2/mozilla/config/milestone.txt 2014-02-10 18:03:47.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/config/milestone.txt 2014-03-17 23:34:18.000000000 +0000
@@ -10,4 +10,4 @@
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
-24.3.0
+24.4.0
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/crashtests/308120-1.xul thunderbird-24.4.0+build1/mozilla/content/base/crashtests/308120-1.xul
--- thunderbird-24.3.0+build2/mozilla/content/base/crashtests/308120-1.xul 2014-02-10 18:03:04.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/crashtests/308120-1.xul 2014-03-17 23:34:04.000000000 +0000
@@ -1,3 +1,3 @@
-
+
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/crashtests/330925-1.xhtml thunderbird-24.4.0+build1/mozilla/content/base/crashtests/330925-1.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/base/crashtests/330925-1.xhtml 2014-02-10 18:03:04.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/crashtests/330925-1.xhtml 2014-03-17 23:34:04.000000000 +0000
@@ -10,7 +10,7 @@
var emb = document.getElementById("emb");
try {
- foopy.appendChild(document.getAnonymousNodes(emb)[0]);
+ foopy.appendChild(SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(emb))[0]);
emb.parentNode.removeChild(emb);
foopy.parentNode.removeChild(foopy);
} catch (e) {
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/crashtests/401993-1.html thunderbird-24.4.0+build1/mozilla/content/base/crashtests/401993-1.html
--- thunderbird-24.3.0+build2/mozilla/content/base/crashtests/401993-1.html 2014-02-10 18:03:04.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/crashtests/401993-1.html 2014-03-17 23:34:04.000000000 +0000
@@ -11,7 +11,7 @@
function boom()
{
- var nodes = document.getAnonymousNodes(x);
+ var nodes = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(x));
if (!nodes) {
setTimeout(boom, 10);
return;
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/public/nsINode.h thunderbird-24.4.0+build1/mozilla/content/base/public/nsINode.h
--- thunderbird-24.3.0+build2/mozilla/content/base/public/nsINode.h 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/public/nsINode.h 2014-03-17 23:34:04.000000000 +0000
@@ -1120,12 +1120,6 @@
return NS_OK;
}
- /**
- * Control if GetUserData and SetUserData methods will be exposed to
- * unprivileged content.
- */
- static bool IsChromeOrXBL(JSContext* aCx, JSObject* /* unused */);
-
void LookupPrefix(const nsAString& aNamespace, nsAString& aResult);
bool IsDefaultNamespace(const nsAString& aNamespaceURI)
{
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/src/nsINode.cpp thunderbird-24.4.0+build1/mozilla/content/base/src/nsINode.cpp
--- thunderbird-24.3.0+build2/mozilla/content/base/src/nsINode.cpp 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/src/nsINode.cpp 2014-03-17 23:34:04.000000000 +0000
@@ -735,15 +735,6 @@
return result;
}
-//static
-bool
-nsINode::IsChromeOrXBL(JSContext* aCx, JSObject* /* unused */)
-{
- JSCompartment* compartment = js::GetContextCompartment(aCx);
- return xpc::AccessCheck::isChrome(compartment) ||
- xpc::IsXBLScope(compartment);
-}
-
uint16_t
nsINode::CompareDocumentPosition(nsINode& aOtherNode) const
{
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/test/test_base.xhtml thunderbird-24.4.0+build1/mozilla/content/base/test/test_base.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/base/test/test_base.xhtml 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/test/test_base.xhtml 2014-03-17 23:34:04.000000000 +0000
@@ -40,7 +40,7 @@
"http://mochi.test:8888/tests/content/base/test/file_base_xbl.xml",
"http://mochi.test:8888/tests/content/base/test/file_base_xbl.xml#shesellsseashellsbytheseashore",
];
- node = document.getAnonymousNodes(document.getElementById("bound"))[0];
+ node = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(document.getElementById("bound")))[0];
while(node) {
is(node.baseURI, svgExpected.shift(), "node base");
node = node.firstChild;
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/test/test_bug330925.xhtml thunderbird-24.4.0+build1/mozilla/content/base/test/test_bug330925.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/base/test/test_bug330925.xhtml 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/test/test_bug330925.xhtml 2014-03-17 23:34:04.000000000 +0000
@@ -46,20 +46,21 @@
function init()
{
var t = document.getElementById("t");
+ var d = SpecialPowers.wrap(document);
- is(document.getBindingParent(document.getAnonymousNodes(t)[0]),
+ is(SpecialPowers.unwrap(d.getBindingParent(d.getAnonymousNodes(t)[0])),
t,
"Wrong binding parent for anonymous node");
- is(document.getBindingParent(document.getAnonymousNodes(t)[1].childNodes[0]),
+ is(SpecialPowers.unwrap(d.getBindingParent(d.getAnonymousNodes(t)[1].childNodes[0])),
t,
"Wrong binding parent for child of anonymous node");
- is(document.getBindingParent(t),
+ is(d.getBindingParent(t),
null,
"Non-anonymous node should not have a binding parent");
- is(document.getBindingParent(document.documentElement),
+ is(d.getBindingParent(document.documentElement),
null,
"Document element should not have a binding parent");
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/test/test_bug372086.html thunderbird-24.4.0+build1/mozilla/content/base/test/test_bug372086.html
--- thunderbird-24.3.0+build2/mozilla/content/base/test/test_bug372086.html 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/test/test_bug372086.html 2014-03-17 23:34:04.000000000 +0000
@@ -42,7 +42,7 @@
is(range.endOffset, 3, "Unexpected end offset");
is(range.toString(), "bc", "Unexpected range serialization");
- var anon = document.getAnonymousNodes($("d"))[0];
+ var anon = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes($("d")))[0];
// Should collapse the range, because can't determine order
range.setEnd(anon, 2);
is(range.startContainer, anon, "Unexpected collapsed start container");
@@ -59,7 +59,7 @@
is(range.endOffset, 2, "Unexpected end offset after");
is(range.toString(), "de", "Unexpected range serialization after");
- anon = document.getAnonymousNodes($("d"))[2];
+ anon = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes($("d")))[2];
// Collapses because one endpoint is anonymous from point of view of
// the other.
range.setStart(anon, 1);
diff -Nru thunderbird-24.3.0+build2/mozilla/content/base/test/test_bug444030.xhtml thunderbird-24.4.0+build1/mozilla/content/base/test/test_bug444030.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/base/test/test_bug444030.xhtml 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/base/test/test_bug444030.xhtml 2014-03-17 23:34:04.000000000 +0000
@@ -26,7 +26,7 @@
/** Test for Bug 444030 **/
function doTest() {
- var anonTextNode = document.getAnonymousNodes(document.getElementById("boundElement"))[0];
+ var anonTextNode = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(document.getElementById("boundElement")))[0];
var hadException = false;
try {
var wholeText = anonTextNode.wholeText;
diff -Nru thunderbird-24.3.0+build2/mozilla/content/html/content/crashtests/465466-1.xhtml thunderbird-24.4.0+build1/mozilla/content/html/content/crashtests/465466-1.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/html/content/crashtests/465466-1.xhtml 2014-02-10 18:03:11.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/html/content/crashtests/465466-1.xhtml 2014-03-17 23:34:05.000000000 +0000
@@ -11,7 +11,7 @@
function boom()
{
var f = document.getElementById("f");
- var anon = document.getAnonymousNodes(f)[0];
+ var anon = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(f))[0];
document.body.removeChild(f);
anon.appendChild(document.createElement("label"));
}
diff -Nru thunderbird-24.3.0+build2/mozilla/content/html/document/src/nsHTMLDocument.cpp thunderbird-24.4.0+build1/mozilla/content/html/document/src/nsHTMLDocument.cpp
--- thunderbird-24.3.0+build2/mozilla/content/html/document/src/nsHTMLDocument.cpp 2014-02-10 18:03:18.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/html/document/src/nsHTMLDocument.cpp 2014-03-17 23:34:05.000000000 +0000
@@ -1416,7 +1416,7 @@
NS_ASSERTION(nsContentUtils::CanCallerAccess(static_cast(this)),
"XOW should have caught this!");
- nsCOMPtr window = GetWindow();
+ nsCOMPtr window = GetInnerWindow();
if (!window) {
rv.Throw(NS_ERROR_DOM_INVALID_ACCESS_ERR);
return nullptr;
diff -Nru thunderbird-24.3.0+build2/mozilla/content/media/wave/WaveReader.cpp thunderbird-24.4.0+build1/mozilla/content/media/wave/WaveReader.cpp
--- thunderbird-24.3.0+build2/mozilla/content/media/wave/WaveReader.cpp 2014-02-10 18:03:47.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/media/wave/WaveReader.cpp 2014-03-17 23:34:09.000000000 +0000
@@ -424,7 +424,7 @@
// Make sure metadata is fairly sane. The rate check is fairly arbitrary,
// but the channels check is intentionally limited to mono or stereo
// because that's what the audio backend currently supports.
- unsigned int actualFrameSize = sampleFormat == 8 ? 1 : 2 * channels;
+ unsigned int actualFrameSize = (sampleFormat == 8 ? 1 : 2) * channels;
if (rate < 100 || rate > 96000 ||
channels < 1 || channels > MAX_CHANNELS ||
(frameSize != 1 && frameSize != 2 && frameSize != 4) ||
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xbl/crashtests/472260-1.xhtml thunderbird-24.4.0+build1/mozilla/content/xbl/crashtests/472260-1.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/xbl/crashtests/472260-1.xhtml 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xbl/crashtests/472260-1.xhtml 2014-03-17 23:34:09.000000000 +0000
@@ -12,7 +12,7 @@
function boom()
{
var bo = document.getElementById("bo");
- var anon = document.getAnonymousNodes(bo)[0];
+ var anon = SpecialPowers.wrap(document).getAnonymousNodes(bo)[0];
bo.style.MozBinding = "url(#bar)";
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xbl/test/file_bug379959_cross.html thunderbird-24.4.0+build1/mozilla/content/xbl/test/file_bug379959_cross.html
--- thunderbird-24.3.0+build2/mozilla/content/xbl/test/file_bug379959_cross.html 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xbl/test/file_bug379959_cross.html 2014-03-17 23:34:09.000000000 +0000
@@ -16,9 +16,9 @@
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xbl/test/file_bug379959_data.html thunderbird-24.4.0+build1/mozilla/content/xbl/test/file_bug379959_data.html
--- thunderbird-24.3.0+build2/mozilla/content/xbl/test/file_bug379959_data.html 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xbl/test/file_bug379959_data.html 2014-03-17 23:34:09.000000000 +0000
@@ -11,7 +11,7 @@
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xbl/test/file_bug591198_inner.html thunderbird-24.4.0+build1/mozilla/content/xbl/test/file_bug591198_inner.html
--- thunderbird-24.3.0+build2/mozilla/content/xbl/test/file_bug591198_inner.html 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xbl/test/file_bug591198_inner.html 2014-03-17 23:34:09.000000000 +0000
@@ -22,7 +22,7 @@
try {
res.anonChildCount =
- document.getAnonymousNodes(document.getElementById('b')).length;
+ SpecialPowers.wrap(document).getAnonymousNodes(document.getElementById('b')).length;
}
catch (ex) {}
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xbl/test/test_bug378866.xhtml thunderbird-24.4.0+build1/mozilla/content/xbl/test/test_bug378866.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/xbl/test/test_bug378866.xhtml 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xbl/test/test_bug378866.xhtml 2014-03-17 23:34:09.000000000 +0000
@@ -33,7 +33,7 @@
/** Test for Bug 378866 **/
function runTest() {
- var anon = document.getAnonymousNodes(document.getElementById('grandparent'));
+ var anon = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(document.getElementById('grandparent')));
var child = document.getElementById('child');
var insertionPoint = anon[0].childNodes[0];
insertionPoint.parentNode.removeChild(insertionPoint);
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xbl/test/test_bug468210.xhtml thunderbird-24.4.0+build1/mozilla/content/xbl/test/test_bug468210.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/xbl/test/test_bug468210.xhtml 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xbl/test/test_bug468210.xhtml 2014-03-17 23:34:09.000000000 +0000
@@ -32,7 +32,7 @@
var div = $("d");
var n = document.anchors.length;
is(n, 1, "Unexpected number of anchors");
- var anon = document.getAnonymousNodes(div)[0];
+ var anon = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(div))[0];
is(anon instanceof HTMLSpanElement, true, "Unexpected node");
is(anon.parentNode, div, "Unexpected parent");
document.body.appendChild(div);
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xslt/tests/mochitest/test_bug319374.xhtml thunderbird-24.4.0+build1/mozilla/content/xslt/tests/mochitest/test_bug319374.xhtml
--- thunderbird-24.3.0+build2/mozilla/content/xslt/tests/mochitest/test_bug319374.xhtml 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xslt/tests/mochitest/test_bug319374.xhtml 2014-03-17 23:34:09.000000000 +0000
@@ -31,6 +31,9 @@
// cause non-anonymous XPath result to throw exceptions..
var counter = 0;
var error = null;
+ function getAnonymousNodes(e) {
+ return SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(e));
+ }
try {
var xp = new XPathEvaluator();
var result = xp.evaluate("*",
@@ -42,7 +45,7 @@
var res = null;
while (res = result.iterateNext()) {
++counter;
- var anon = document.getAnonymousNodes(res);
+ var anon = getAnonymousNodes(res);
anon[0].removeChild(anon[0].firstChild); // Removing a child node
anon[0].removeAttribute("attr1"); // Removing an attribute
anon[1].firstChild.data = "anon text changed" // Modifying text data
@@ -56,10 +59,10 @@
// Test 2: If the context node is in anonymous content, changing some
// other anonymous tree shouldn't cause XPath result to throw.
var anonAttr1 =
- document.getAnonymousNodes(document.getElementById('content').
+ getAnonymousNodes(document.getElementById('content').
firstChild)[0].getAttributeNode('attr');
var anonAttr2 =
- document.getAnonymousNodes(document.getElementById('content').
+ getAnonymousNodes(document.getElementById('content').
lastChild)[0].getAttributeNode('attr');
var resultAttr = null;
try {
diff -Nru thunderbird-24.3.0+build2/mozilla/content/xul/content/crashtests/326864-1.xul thunderbird-24.4.0+build1/mozilla/content/xul/content/crashtests/326864-1.xul
--- thunderbird-24.3.0+build2/mozilla/content/xul/content/crashtests/326864-1.xul 2014-02-10 18:03:19.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/content/xul/content/crashtests/326864-1.xul 2014-03-17 23:34:09.000000000 +0000
@@ -6,13 +6,17 @@
diff -Nru thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/nsXPConnect.cpp thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/nsXPConnect.cpp
--- thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/nsXPConnect.cpp 2014-02-10 18:03:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/nsXPConnect.cpp 2014-03-17 23:34:01.000000000 +0000
@@ -1707,3 +1707,23 @@
} // namespace xpc
+namespace mozilla {
+namespace dom {
+
+bool
+IsChromeOrXBL(JSContext* cx, JSObject* /* unused */)
+{
+ MOZ_ASSERT(NS_IsMainThread());
+ JSCompartment* c = js::GetContextCompartment(cx);
+
+ // For remote XUL, we run XBL in the XUL scope. Given that we care about
+ // compat and not security for remote XUL, we just always claim to be XBL.
+ //
+ // Note that, for performance, we don't check AllowXULXBLForPrincipal here,
+ // and instead rely on the fact that AllowXBLScope() only returns false in
+ // remote XUL situations.
+ return AccessCheck::isChrome(c) || IsXBLScope(c) || !AllowXBLScope(c);
+}
+
+} // namespace dom
+} // namespace mozilla
diff -Nru thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/xpcprivate.h thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/xpcprivate.h
--- thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/xpcprivate.h 2014-02-10 18:03:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/xpcprivate.h 2014-03-17 23:34:01.000000000 +0000
@@ -1435,7 +1435,7 @@
nsAutoPtr mWaiverWrapperMap;
bool IsXBLScope() { return mIsXBLScope; }
- bool AllowXBLScope() { return mAllowXBLScope; }
+ bool AllowXBLScope();
bool UseXBLScope() { return mUseXBLScope; }
protected:
@@ -1472,20 +1472,17 @@
bool mIsXBLScope;
- // There are certain cases where we explicitly disallow XBL scopes: they
- // can be prefed off, or we might be running in a remote XUL domain where
- // we want to run all XBL in content to maintain compat. We separately
+ // For remote XUL domains, we run all XBL in the content scope for compat
+ // reasons (though we sometimes pref this off for automation). We separately
// track the result of this decision (mAllowXBLScope), from the decision
// of whether to actually _use_ an XBL scope (mUseXBLScope), which depends
// on the type of global and whether the compartment is system principal
// or not.
//
- // This distinction is useful primarily because it tells us whether we
- // can infer the XBL-ness of a caller by checking that the caller is
- // running in an XBL scope, or whether we need to check the XBL bit on the
- // script. The XBL bit is nasty, so we want to consult it only if we
- // absolutely have to, which should generally happen only in unsupported
- // pref configurations.
+ // This distinction is useful primarily because, if true, we know that we
+ // have no way of distinguishing XBL script from content script for the
+ // given scope. In these (unsupported) situations, we just always claim to
+ // be XBL.
bool mAllowXBLScope;
bool mUseXBLScope;
};
diff -Nru thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/xpcpublic.h thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/xpcpublic.h
--- thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/xpcpublic.h 2014-02-10 18:03:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/xpcpublic.h 2014-03-17 23:34:01.000000000 +0000
@@ -498,6 +498,12 @@
void
Register(nsScriptNameSpaceManager* aNameSpaceManager);
+/**
+ * A test for whether WebIDL methods that should only be visible to
+ * chrome or XBL scopes should be exposed.
+ */
+bool IsChromeOrXBL(JSContext* cx, JSObject* /* unused */);
+
} // namespace dom
} // namespace mozilla
diff -Nru thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/XPCWrappedNativeScope.cpp thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/XPCWrappedNativeScope.cpp
--- thunderbird-24.3.0+build2/mozilla/js/xpconnect/src/XPCWrappedNativeScope.cpp 2014-02-10 18:03:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/js/xpconnect/src/XPCWrappedNativeScope.cpp 2014-03-17 23:34:01.000000000 +0000
@@ -266,6 +266,15 @@
return mXBLScope;
}
+bool
+XPCWrappedNativeScope::AllowXBLScope()
+{
+ // We only disallow XBL scopes in remote XUL situations.
+ MOZ_ASSERT_IF(!mAllowXBLScope,
+ nsContentUtils::AllowXULXBLForPrincipal(GetPrincipal()));
+ return mAllowXBLScope;
+}
+
namespace xpc {
JSObject *GetXBLScope(JSContext *cx, JSObject *contentScopeArg)
{
diff -Nru thunderbird-24.3.0+build2/mozilla/js/xpconnect/tests/mochitest/Makefile.in thunderbird-24.4.0+build1/mozilla/js/xpconnect/tests/mochitest/Makefile.in
--- thunderbird-24.3.0+build2/mozilla/js/xpconnect/tests/mochitest/Makefile.in 2014-02-10 18:03:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/js/xpconnect/tests/mochitest/Makefile.in 2014-03-17 23:34:01.000000000 +0000
@@ -96,6 +96,7 @@
test_bug865260.html \
test_bug870423.html \
test_bug871887.html \
+ test_bug912322.html \
file_crosscompartment_weakmap.html \
test_crosscompartment_weakmap.html \
test_asmjs.html \
diff -Nru thunderbird-24.3.0+build2/mozilla/js/xpconnect/tests/mochitest/test_bug912322.html thunderbird-24.4.0+build1/mozilla/js/xpconnect/tests/mochitest/test_bug912322.html
--- thunderbird-24.3.0+build2/mozilla/js/xpconnect/tests/mochitest/test_bug912322.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/js/xpconnect/tests/mochitest/test_bug912322.html 2014-03-17 23:34:01.000000000 +0000
@@ -0,0 +1,35 @@
+
+
+
+
+
+ Test for Bug 912322
+
+
+
+
+
+Mozilla Bug 912322
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/base/crashtests/379105-1.xhtml thunderbird-24.4.0+build1/mozilla/layout/base/crashtests/379105-1.xhtml
--- thunderbird-24.3.0+build2/mozilla/layout/base/crashtests/379105-1.xhtml 2014-02-10 18:03:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/base/crashtests/379105-1.xhtml 2014-03-17 23:34:01.000000000 +0000
@@ -25,7 +25,7 @@
function boom2()
{
- var nodes = document.getAnonymousNodes(xbltarget);
+ var nodes = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes(xbltarget));
if (!nodes) {
setTimeout(boom2, 10);
return;
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/inspector/tests/test_bug522601.xhtml thunderbird-24.4.0+build1/mozilla/layout/inspector/tests/test_bug522601.xhtml
--- thunderbird-24.3.0+build2/mozilla/layout/inspector/tests/test_bug522601.xhtml 2014-02-10 18:03:03.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/inspector/tests/test_bug522601.xhtml 2014-03-17 23:34:02.000000000 +0000
@@ -106,7 +106,7 @@
testFunc(walkerNonAnon, "previousNode", null,
"step back past root");
- var anonDiv = document.getAnonymousNodes($("display"))[0];
+ var anonDiv = SpecialPowers.unwrap(SpecialPowers.wrap(document).getAnonymousNodes($("display")))[0];
var walkerAnon =
SpecialPowers.Cc["@mozilla.org/inspector/deep-tree-walker;1"]
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/mathml/nsMathMLmencloseFrame.cpp thunderbird-24.4.0+build1/mozilla/layout/mathml/nsMathMLmencloseFrame.cpp
--- thunderbird-24.3.0+build2/mozilla/layout/mathml/nsMathMLmencloseFrame.cpp 2014-02-10 18:03:47.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/mathml/nsMathMLmencloseFrame.cpp 2014-03-17 23:34:02.000000000 +0000
@@ -804,7 +804,7 @@
rect.TopRight() + gfxPoint(std::min(e / 2.0, -w + .4*h), h + .4*w),
rect.TopRight()
};
- gfxCtx->Polygon(p, sizeof(p));
+ gfxCtx->Polygon(p, MOZ_ARRAY_LENGTH(p));
gfxCtx->Fill();
}
break;
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/bugs/495385-2f.xhtml thunderbird-24.4.0+build1/mozilla/layout/reftests/bugs/495385-2f.xhtml
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/bugs/495385-2f.xhtml 2014-02-10 18:03:04.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/bugs/495385-2f.xhtml 2014-03-17 23:34:04.000000000 +0000
@@ -13,6 +13,19 @@
Kitty
+
+
+ // We used to do this in an onload handler, but getAnonymousNodes is no
+ // longer accessible to content, and we can't use SpecialPowers in
+ // reftests. So we enable XBL scopes and take advantage of the fact that XBL
+ // scopes can access these functions. We apply this binding
+ // programatically to make absolutely sure this constructor runs after all the
+ // other bindings have been set up.
+ document.body.offsetHeight;
+ document.getAnonymousNodes(document.getElementById("d3"))[0].style.display = 'inline';
+ document.getAnonymousNodes(document.getElementById("d4"))[2].style.display = 'inline';
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/bugs/reftest.list thunderbird-24.4.0+build1/mozilla/layout/reftests/bugs/reftest.list
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/bugs/reftest.list 2014-02-10 18:03:04.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/bugs/reftest.list 2014-03-17 23:34:04.000000000 +0000
@@ -1170,9 +1170,9 @@
# == 448987.html 448987-ref.html # Disabled for now - it needs privileges
!= 449149-1a.html about:blank
!= 449149-1b.html about:blank
-# Retry the above with in-content XBL behavior
-test-pref(dom.use_xbl_scopes_for_remote_xul,false) fails-if(Android) != 449149-1a.html about:blank
-test-pref(dom.use_xbl_scopes_for_remote_xul,false) fails-if(Android) != 449149-1b.html about:blank
+# Retry the above with XBL scopes
+test-pref(dom.use_xbl_scopes_for_remote_xul,true) != 449149-1a.html about:blank
+test-pref(dom.use_xbl_scopes_for_remote_xul,true) != 449149-1b.html about:blank
== 449149-2.html 449149-2-ref.html
== 449171-1.html 449171-ref.html
== 449362-1.html 449362-1-ref.html
@@ -1370,7 +1370,7 @@
== 495385-2c.html 495385-2-ref.html
== 495385-2d.html 495385-2-ref.html
== 495385-2e.html 495385-2-ref.html
-== 495385-2f.xhtml 495385-2-ref.html
+pref(dom.use_xbl_scopes_for_remote_xul,true) == 495385-2f.xhtml 495385-2-ref.html
== 495385-2g.html 495385-2-ref.html
== 495385-2h.html 495385-2-ref.html
== 495385-2i.html 495385-2-ref.html
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1a.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1a.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1a.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1a.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1b.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1b.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1b.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1b.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1c.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1c.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1c.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1c.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1d.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1d.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1d.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1d.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1e.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1e.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1e.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1e.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1f.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1f.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1f.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1f.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1g.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1g.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1g.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1g.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1h.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1h.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1h.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1h.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1.html 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1.html 1970-01-01 00:00:00.000000000 +0000
@@ -1,9 +0,0 @@
-
-
- Updiagonalarrow
-
-
-
-
-
-
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1i.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1i.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1i.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1i.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1j.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1j.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1j.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1j.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1k.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1k.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1k.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1k.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1l.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1l.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1l.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1l.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1m.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1m.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1m.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1m.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1n.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1n.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1n.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1n.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1o.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1o.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1o.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1o.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1p.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1p.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1p.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1p.html 2014-03-17 23:34:05.000000000 +0000
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Test menclose
+
+
+
+
+
+
+
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1-ref.html thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1-ref.html
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/menclose-1-ref.html 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/menclose-1-ref.html 2014-03-17 23:34:05.000000000 +0000
@@ -1,9 +1,21 @@
+
+
- Updiagonalarrow
-
+
+ Test menclose
+
+
+
-
+
+
+
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/reftest.list thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/reftest.list
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/mathml/reftest.list 2014-02-10 18:03:05.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/mathml/reftest.list 2014-03-17 23:34:05.000000000 +0000
@@ -124,4 +124,19 @@
== number-size-1.xhtml number-size-1-ref.xhtml
== mathml-mmultiscript-base.html mathml-mmultiscript-base-ref.html
== mathml-mmultiscript-mprescript.html mathml-mmultiscript-mprescript-ref.html
-!= menclose-1.html menclose-1-ref.html
+!= menclose-1a.html menclose-1-ref.html
+!= menclose-1b.html menclose-1-ref.html
+!= menclose-1c.html menclose-1-ref.html
+!= menclose-1d.html menclose-1-ref.html
+!= menclose-1e.html menclose-1-ref.html
+!= menclose-1f.html menclose-1-ref.html
+!= menclose-1g.html menclose-1-ref.html
+!= menclose-1h.html menclose-1-ref.html
+!= menclose-1i.html menclose-1-ref.html
+!= menclose-1j.html menclose-1-ref.html
+!= menclose-1k.html menclose-1-ref.html
+!= menclose-1l.html menclose-1-ref.html
+!= menclose-1m.html menclose-1-ref.html
+!= menclose-1n.html menclose-1-ref.html
+!= menclose-1o.html menclose-1-ref.html
+!= menclose-1p.html menclose-1-ref.html
diff -Nru thunderbird-24.3.0+build2/mozilla/layout/reftests/svg/smil/anim-path-d-01-ref.svg thunderbird-24.4.0+build1/mozilla/layout/reftests/svg/smil/anim-path-d-01-ref.svg
--- thunderbird-24.3.0+build2/mozilla/layout/reftests/svg/smil/anim-path-d-01-ref.svg 2014-02-10 18:03:07.000000000 +0000
+++ thunderbird-24.4.0+build1/mozilla/layout/reftests/svg/smil/anim-path-d-01-ref.svg 2014-03-17 23:34:07.000000000 +0000
@@ -1,6 +1,7 @@