Browse Source

Bug 1470716

Ian Neal 4 years ago
parent
commit
c1651d5ca3

+ 0 - 2226
comm-esr60/comm-esr60/patches/1399756-22-61a1.patch

@@ -1,2226 +0,0 @@
-
-# HG changeset patch
-# User Jorg K <jorgk@jorgk.com>
-# Date 1521301069 -3600
-# Node ID 4d1bcb81b2f6d604a3458ac02edced8918d5c3cc
-# Parent  4137737204cd080bd032934ee12460922d19b554
-Bug 1399756 - remove trailing spaces in mailnews/ (.xul, .xml, .css, .mm, .cpp). rs=white-space-only
-[skip-blame]
-
-diff --git a/mailnews/addrbook/content/abAddressBookNameDialog.xul b/mailnews/addrbook/content/abAddressBookNameDialog.xul
---- a/mailnews/addrbook/content/abAddressBookNameDialog.xul
-+++ b/mailnews/addrbook/content/abAddressBookNameDialog.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://messenger/skin/dialogs.css" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger/locale/addressbook/abAddressBookNameDialog.dtd">
- 
-diff --git a/mailnews/addrbook/content/abEditCardDialog.xul b/mailnews/addrbook/content/abEditCardDialog.xul
---- a/mailnews/addrbook/content/abEditCardDialog.xul
-+++ b/mailnews/addrbook/content/abEditCardDialog.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
- 
- <?xul-overlay href="chrome://messenger/content/addressbook/abCardOverlay.xul"?>
- 
-diff --git a/mailnews/addrbook/content/abNewCardDialog.xul b/mailnews/addrbook/content/abNewCardDialog.xul
---- a/mailnews/addrbook/content/abNewCardDialog.xul
-+++ b/mailnews/addrbook/content/abNewCardDialog.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
- 
- <?xul-overlay href="chrome://messenger/content/addressbook/abCardOverlay.xul"?>
- 
-diff --git a/mailnews/addrbook/content/print.css b/mailnews/addrbook/content/print.css
---- a/mailnews/addrbook/content/print.css
-+++ b/mailnews/addrbook/content/print.css
-@@ -2,63 +2,63 @@
-  * 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/. */
- 
- directory {
-   display: block;
- }
- 
- section {
--  display:block; 
-+  display:block;
-   margin: 15px 20px;
- }
- 
- sectiontitle {
--  display:block; 
--  font-weight:bold; 
--  font-family:verdana; 
-+  display:block;
-+  font-weight:bold;
-+  font-family:verdana;
-   font-size:small;
- }
- 
- labelrow {
-   display:block;
- }
- 
- label {
--  display:inline; 
--  font-family:verdana; 
-+  display:inline;
-+  font-family:verdana;
-   font-size:small;
- }
- 
- GeneratedName {
--  display:block; 
--  font-weight:bold; 
--  font-family:verdana; 
-+  display:block;
-+  font-weight:bold;
-+  font-family:verdana;
-   margin-top: 20px;
-   margin-bottom: 3px;
-   margin-inline-end: 10px;
-   margin-inline-start: 10px;
- }
- 
--FirstName, LastName, 
-+FirstName, LastName,
- HomeAddress, HomeAddress2, HomeCountry,
- WorkAddress, WorkAddress2, WorkCountry,
- JobTitle, Department, Company, Notes {
--  display: block; 
--  font-family: verdana; 
-+  display: block;
-+  font-family: verdana;
-   font-size: small;
- }
- 
- DisplayName, NickName,
- WorkPhone, HomePhone, FaxNumber, PagerNumber, CellularNumber,
- HomeCity, HomeState, HomeZipCode,
--WorkCity, WorkState, WorkZipCode, 
-+WorkCity, WorkState, WorkZipCode,
- Custom1, Custom2, Custom3, Custom4 {
--  display: inline; 
--  font-family: verdana; 
-+  display: inline;
-+  font-family: verdana;
-   font-size: small;
- }
- 
- PrimaryEmail, SecondEmail,
- WebPage1, WebPage2 {
-   display: block;
-   font-family: verdana;
-   font-size: small;
-@@ -79,16 +79,16 @@ table {
-   display: table;
- }
- 
- tr {
-   display: table-row;
- }
- 
- td {
--  display: table-cell; 
-+  display: table-cell;
-   vertical-align: top;
- }
- 
- PreferMailFormat {
-   display: none;
- }
- 
-diff --git a/mailnews/addrbook/prefs/content/pref-directory-add.xul b/mailnews/addrbook/prefs/content/pref-directory-add.xul
---- a/mailnews/addrbook/prefs/content/pref-directory-add.xul
-+++ b/mailnews/addrbook/prefs/content/pref-directory-add.xul
-@@ -24,47 +24,47 @@
-   <vbox id="editDirectory">
- 
-     <tabbox style="margin:5px">
-       <tabs id="directoryTabBox">
-         <tab label="&General.tab;"/>
-         <tab label="&Offline.tab;"/>
-         <tab label="&Advanced.tab;"/>
-       </tabs>
--   
-+
-       <tabpanels id="directoryTabPanels" flex="1">
-           <vbox>
-              <grid flex="1">
-                  <columns>
-                      <column/>
-                      <column flex="1"/>
-                      <column/>
-                  </columns>
- 
-                  <rows>
-                      <row align="center">
--                         <label value="&directoryName.label;" accesskey="&directoryName.accesskey;" 
-+                         <label value="&directoryName.label;" accesskey="&directoryName.accesskey;"
-                                 control="description"/>
-                          <textbox id="description" flex="1"/>
-                          <spacer flex="1"/>
-                      </row>
-                      <row align="center">
-                          <label value="&directoryHostname.label;" accesskey="&directoryHostname.accesskey;"
-                                 control="hostname"/>
-                          <textbox id="hostname" flex="1" disableiflocked="true" class="uri-element"/>
-                          <spacer flex="1"/>
-                      </row>
-                      <row align="center">
--                         <label value="&directoryBaseDN.label;" 
-+                         <label value="&directoryBaseDN.label;"
-                                 accesskey="&directoryBaseDN.accesskey;"
-                                 control="basedn"/>
-                          <vbox>
-                            <textbox id="basedn" disableiflocked="true" class="uri-element"/>
-                          </vbox>
--                         <button label="&findButton.label;" 
-+                         <button label="&findButton.label;"
-                                  accesskey="&findButton.accesskey;" disabled="true"/>
-                      </row>
-                      <row align="center">
-                          <label value="&portNumber.label;"
-                                 accesskey="&portNumber.accesskey;"
-                                 control="port"/>
-                          <hbox>
-                              <textbox id="port" type="number" size="5" min="1"
-@@ -89,17 +89,17 @@
-               <description>&offlineText.label;</description>
-               <separator/>
-               <hbox>
-                   <button id="download" oncommand="DownloadNow();"/>
-                   <spacer flex="1"/>
-               </hbox>
-               <description id="downloadWarningMsg" hidden="true" class="error"/>
-               <description id="replicationProgressText" hidden="true"/>
--              
-+
-               <progressmeter id="replicationProgressMeter" mode="normal" value="0" hidden="true"/>
-           </vbox>
-           <grid>
-              <columns>
-                <column/>
-                <column flex="1"/>
-              </columns>
- 
-@@ -128,25 +128,25 @@
-                         accesskey="&searchFilter.accesskey;"
-                         control="search"/>
-                  <textbox id="search" multiline="true" flex="1" disableiflocked="true"/>
-               </row>
-               <row align="center">
-                 <label value="&saslMechanism.label;" control="saslMechanism" accesskey="&saslMechanism.accesskey;"/>
-                 <menulist id="saslMechanism">
-                   <menupopup>
--                    <menuitem id="Simple" value="" 
-+                    <menuitem id="Simple" value=""
-                               label="&saslOff.label;"
-                               accesskey="&saslOff.accesskey;"/>
--                    <menuitem id="GSSAPI" value="GSSAPI" 
-+                    <menuitem id="GSSAPI" value="GSSAPI"
-                               label="&saslGSSAPI.label;"
-                               accesskey="&saslGSSAPI.accesskey;"/>
-                   </menupopup>
-                 </menulist>
-               </row>
-             </rows>
-           </grid>
-       </tabpanels>
-     </tabbox>
-   </vbox>
--  
-+
- </dialog>
--        
-+
-diff --git a/mailnews/addrbook/prefs/content/pref-editdirectories.xul b/mailnews/addrbook/prefs/content/pref-editdirectories.xul
---- a/mailnews/addrbook/prefs/content/pref-editdirectories.xul
-+++ b/mailnews/addrbook/prefs/content/pref-editdirectories.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://messenger/skin/" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger/locale/addressbook/pref-directory.dtd">
- 
-diff --git a/mailnews/addrbook/src/nsAbOSXCard.mm b/mailnews/addrbook/src/nsAbOSXCard.mm
---- a/mailnews/addrbook/src/nsAbOSXCard.mm
-+++ b/mailnews/addrbook/src/nsAbOSXCard.mm
-@@ -67,39 +67,39 @@ SetStringProperty(nsAbOSXCard *aCard, NS
- static void
- MapStringProperty(nsAbOSXCard *aCard, ABRecord *aOSXCard, NSString *aProperty,
-                   const char *aMemberName, bool aNotify,
-                   nsIAbManager *aAbManager)
- {
-   NS_ASSERTION(aProperty, "This is bad! You asked for an unresolved symbol.");
-   NS_ASSERTION(GetPropertType(aOSXCard, aProperty) == kABStringProperty,
-                "Wrong type!");
--  
-+
-   SetStringProperty(aCard, [aOSXCard valueForProperty:aProperty], aMemberName,
-                     aNotify, aAbManager);
- }
- 
- static ABMutableMultiValue*
- GetMultiValue(ABRecord *aCard, NSString *aProperty)
- {
-   NS_ASSERTION(aProperty, "This is bad! You asked for an unresolved symbol.");
-   NS_ASSERTION(GetPropertType(aCard, aProperty) & kABMultiValueMask,
-                "Wrong type!");
--  
-+
-   return [aCard valueForProperty:aProperty];
- }
- 
- static void
- MapDate(nsAbOSXCard *aCard, NSDate *aDate, const char *aYearPropName,
-         const char *aMonthPropName, const char *aDayPropName, bool aNotify,
-         nsIAbManager *aAbManager)
- {
-   // XXX Should we pass a format and timezone?
-   NSCalendarDate *date = [aDate dateWithCalendarFormat:nil timeZone:nil];
--  
-+
-   nsAutoString value;
-   value.AppendInt(static_cast<int32_t>([date yearOfCommonEra]));
-   SetStringProperty(aCard, value, aYearPropName, aNotify, aAbManager);
-   value.Truncate();
-   value.AppendInt(static_cast<int32_t>([date monthOfYear]));
-   SetStringProperty(aCard, value, aMonthPropName, aNotify, aAbManager);
-   value.Truncate();
-   value.AppendInt(static_cast<int32_t>([date dayOfMonth]));
-@@ -115,28 +115,28 @@ MapMultiValue(nsAbOSXCard *aCard, ABReco
-   if (value) {
-     unsigned int j;
-     unsigned int count = [value count];
-     for (j = 0; j < count; ++j) {
-       if ([[value labelAtIndex:j] isEqualToString:aMap.mOSXLabel]) {
-         NSString *stringValue = (aMap.mOSXKey)
-           ? [[value valueAtIndex:j] objectForKey:aMap.mOSXKey]
-           : [value valueAtIndex:j];
--        
-+
-         SetStringProperty(aCard, stringValue, aMap.mPropertyName, aNotify,
-                           aAbManager);
--        
-+
-         return true;
-       }
-     }
-   }
-   // String wasn't found, set value of card to empty if it was set previously
-   SetStringProperty(aCard, EmptyString(), aMap.mPropertyName, aNotify,
-                     aAbManager);
--  
-+
-   return false;
- }
- 
- // Maps Address Book's instant messenger name to the corresponding nsIAbCard field name.
- static const char*
- InstantMessengerFieldName(NSString* aInstantMessengerName)
- {
-   if ([aInstantMessengerName isEqualToString:@"AIMInstant"]) {
-@@ -217,62 +217,62 @@ nsAbOSXCard::Update(bool aNotify)
-     m_MailListURI.Append(uid);
-     MapStringProperty(this, card, kABGroupNameProperty, "DisplayName", aNotify,
-                       abManager);
-     MapStringProperty(this, card, kABGroupNameProperty, "LastName", aNotify,
-                       abManager);
- 
-     return NS_OK;
-   }
--  
-+
-   bool foundHome = false, foundWork = false;
--  
-+
-   uint32_t i;
-   for (i = 0; i < nsAbOSXUtils::kPropertyMapSize; ++i) {
-     const nsAbOSXPropertyMap &propertyMap = nsAbOSXUtils::kPropertyMap[i];
-     if (!propertyMap.mOSXProperty)
-       continue;
--    
-+
-     if (propertyMap.mOSXLabel) {
-       if (MapMultiValue(this, card, propertyMap, aNotify,
-                         abManager) && propertyMap.mOSXProperty == kABAddressProperty) {
--        if (propertyMap.mOSXLabel == kABAddressHomeLabel) 
-+        if (propertyMap.mOSXLabel == kABAddressHomeLabel)
-           foundHome = true;
-         else
-           foundWork = true;
-       }
-     }
-     else {
-       MapStringProperty(this, card, propertyMap.mOSXProperty,
-                         propertyMap.mPropertyName, aNotify, abManager);
-     }
-   }
--  
-+
-   int flags = 0;
-   if (kABPersonFlags)
-     flags = [[card valueForProperty:kABPersonFlags] intValue];
--  
-+
- #define SET_STRING(_value, _name, _notify, _session) \
-   SetStringProperty(this, _value, #_name, _notify, _session)
--    
-+
-     // If kABShowAsCompany is set we use the company name as display name.
-     if (kABPersonFlags && (flags & kABShowAsCompany)) {
-       nsString company;
-       nsresult rv = GetPropertyAsAString(kCompanyProperty, company);
-       if (NS_FAILED(rv))
-         company.Truncate();
-       SET_STRING(company, DisplayName, aNotify, abManager);
-     }
-   else {
-     // Use the order used in the OS X address book to set DisplayName.
-     int order = kABPersonFlags && (flags & kABNameOrderingMask);
-     if (kABPersonFlags && (order == kABDefaultNameOrdering)) {
-       order = [addressBook defaultNameOrdering];
-     }
--    
-+
-     nsAutoString displayName, tempName;
-     if (kABPersonFlags && (order == kABFirstNameFirst)) {
-       GetFirstName(tempName);
-       displayName.Append(tempName);
- 
-       GetLastName(tempName);
- 
-       // Only append a space if the last name and the first name are not empty
-@@ -290,46 +290,46 @@ nsAbOSXCard::Update(bool aNotify)
-       // Only append a space if the last name and the first name are not empty
-       if (!tempName.IsEmpty() && !displayName.IsEmpty())
-         displayName.Append(' ');
- 
-       displayName.Append(tempName);
-     }
-     SET_STRING(displayName, DisplayName, aNotify, abManager);
-   }
--  
-+
-   ABMultiValue *value = GetMultiValue(card, kABEmailProperty);
-   if (value) {
-     unsigned int count = [value count];
-     if (count > 0) {
-       unsigned int j = [value indexForIdentifier:[value primaryIdentifier]];
--      
-+
-       if (j < count)
-         SET_STRING([value valueAtIndex:j], PrimaryEmail, aNotify,
-                    abManager);
--      
-+
-       // If j is 0 (first in the list) we want the second in the list
-       // (index 1), if j is anything else we want the first in the list
-       // (index 0).
-       j = (j == 0);
-       if (j < count)
-         SET_STRING([value valueAtIndex:j], SecondEmail, aNotify,
-                    abManager);
-     }
-   }
--  
-+
-   // We map the first home address we can find and the first work address
-   // we can find. If we find none, we map the primary address to the home
-   // address.
-   if (!foundHome && !foundWork) {
-     value = GetMultiValue(card, kABAddressProperty);
-     if (value) {
-       unsigned int count = [value count];
-       unsigned int j = [value indexForIdentifier:[value primaryIdentifier]];
--      
-+
-       if (j < count) {
-         NSDictionary *address = [value valueAtIndex:j];
-         if (address) {
-           SET_STRING([address objectForKey:kABAddressStreetKey],
-                      HomeAddress, aNotify, abManager);
-           SET_STRING([address objectForKey:kABAddressCityKey],
-                      HomeCity, aNotify, abManager);
-           SET_STRING([address objectForKey:kABAddressStateKey],
-@@ -356,46 +356,46 @@ nsAbOSXCard::Update(bool aNotify)
-       } else if ([imValue isKindOfClass:[NSDictionary class]]) {
-         NSString* instantMessageService = [imValue objectForKey:@"InstantMessageService"];
-         const char* fieldName = InstantMessengerFieldName(instantMessageService);
-         NSString* userName = [imValue objectForKey:@"InstantMessageUsername"];
-         SetStringProperty(this, userName, fieldName, aNotify, abManager);
-       }
-     }
-   }
--  
-+
- #define MAP_DATE(_date, _name, _notify, _session) \
-   MapDate(this, _date, #_name"Year", #_name"Month", #_name"Day", _notify, \
-   _session)
--    
-+
-     NSDate *date = [card valueForProperty:kABBirthdayProperty];
-   if (date)
-     MAP_DATE(date, Birth, aNotify, abManager);
--  
-+
-   if (kABOtherDatesProperty) {
-     value = GetMultiValue(card, kABOtherDatesProperty);
-     if (value) {
-       unsigned int j, count = [value count];
-       for (j = 0; j < count; ++j) {
-         if ([[value labelAtIndex:j] isEqualToString:kABAnniversaryLabel]) {
-           date = [value valueAtIndex:j];
-           if (date) {
-             MAP_DATE(date, Anniversary, aNotify, abManager);
--            
-+
-             break;
-           }
-         }
-       }
-     }
-   }
- #undef MAP_DATE
- #undef SET_STRING
--  
-+
-   date = [card valueForProperty:kABModificationDateProperty];
--  if (date) 
-+  if (date)
-     SetPropertyAsUint32("LastModifiedDate",
-                         uint32_t([date timeIntervalSince1970]));
-     // XXX No way to notify about this?
- 
-   return NS_OK;
- 
-   NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
- }
-diff --git a/mailnews/addrbook/src/nsAbOSXDirectory.mm b/mailnews/addrbook/src/nsAbOSXDirectory.mm
---- a/mailnews/addrbook/src/nsAbOSXDirectory.mm
-+++ b/mailnews/addrbook/src/nsAbOSXDirectory.mm
-@@ -109,17 +109,17 @@ Sync(NSString *aUid)
-   ABAddressBook *addressBook = [ABAddressBook sharedAddressBook];
-   ABRecord *card = [addressBook recordForUniqueId:aUid];
-   if ([card isKindOfClass:[ABGroup class]])
-   {
-     nsCOMPtr<nsIAbDirectory> directory;
-     GetOrCreateGroup(aUid, getter_AddRefs(directory));
-     nsCOMPtr<nsIAbOSXDirectory> osxDirectory =
-       do_QueryInterface(directory);
--    
-+
-     if (osxDirectory) {
-       osxDirectory->Update();
-     }
-   }
-   else {
-     nsCOMPtr<nsIAbCard> abCard;
-     nsresult rv;
- 
-@@ -149,17 +149,17 @@ Sync(NSString *aUid)
- @interface ABChangedMonitor : NSObject
- -(void)ABChanged:(NSNotification *)aNotification;
- @end
- 
- @implementation ABChangedMonitor
- -(void)ABChanged:(NSNotification *)aNotification
- {
-   NSDictionary *changes = [aNotification userInfo];
--  
-+
-   nsresult rv;
-   NSArray *inserted = [changes objectForKey:kABInsertedRecords];
- 
-   if (inserted) {
-     nsCOMPtr<nsIAbManager> abManager = do_GetService(NS_ABMANAGER_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS_VOID(rv);
- 
-     nsCOMPtr<nsIAbDirectory> directory;
-@@ -190,26 +190,26 @@ Sync(NSString *aUid)
-         // Construct a card
-         nsresult rv = CreateCard(card, getter_AddRefs(abCard));
-         NS_ENSURE_SUCCESS_VOID(rv);
-         rv = osxDirectory->AssertCard(abManager, abCard);
-         NS_ENSURE_SUCCESS_VOID(rv);
-       }
-     }
-   }
--  
-+
-   NSArray *updated = [changes objectForKey:kABUpdatedRecords];
-   if (updated) {
-     unsigned int i, count = [updated count];
-     for (i = 0; i < count; ++i) {
-       NSString *uid = [updated objectAtIndex:i];
-       Sync(uid);
-     }
-   }
--  
-+
-   NSArray *deleted = [changes objectForKey:kABDeletedRecords];
-   if (deleted) {
- 
-     nsCOMPtr<nsIAbManager> abManager = do_GetService(NS_ABMANAGER_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS_VOID(rv);
- 
-     nsCOMPtr<nsIAbDirectory> directory;
-     rv = abManager->GetDirectory(NS_LITERAL_CSTRING(NS_ABOSXDIRECTORY_URI_PREFIX"/"),
-@@ -226,34 +226,34 @@ Sync(NSString *aUid)
- 
-       nsAutoCString uid;
-       AppendToCString(deletedUid, uid);
- 
-       rv = osxDirectory->DeleteUid(uid);
-       NS_ENSURE_SUCCESS_VOID(rv);
-     }
-   }
--  
-+
-   if (!inserted && !updated && !deleted) {
-     // XXX This is supposed to mean "everything was updated", but we get
-     //     this whenever something has changed, so not sure what to do.
-   }
- }
- @end
- 
- static nsresult
- MapConditionString(nsIAbBooleanConditionString *aCondition, bool aNegate,
-                    bool &aCanHandle, ABSearchElement **aResult)
- {
-   aCanHandle = false;
--  
-+
-   nsAbBooleanConditionType conditionType = 0;
-   nsresult rv = aCondition->GetCondition(&conditionType);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   ABSearchComparison comparison;
-   switch (conditionType) {
-     case nsIAbBooleanConditionTypes::Contains:
-     {
-       if (!aNegate) {
-         comparison = kABContainsSubString;
-         aCanHandle = true;
-       }
-@@ -300,44 +300,44 @@ MapConditionString(nsIAbBooleanCondition
-     }
-     case nsIAbBooleanConditionTypes::GreaterThan:
-     {
-       comparison = aNegate ? kABLessThanOrEqual : kABGreaterThan;
-       aCanHandle = true;
-       break;
-     }
-   }
--  
-+
-   if (!aCanHandle)
-     return NS_OK;
--  
-+
-   nsCString name;
-   rv = aCondition->GetName(getter_Copies(name));
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   nsString value;
-   rv = aCondition->GetValue(getter_Copies(value));
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   uint32_t length = value.Length();
--  
-+
-   uint32_t i;
-   for (i = 0; i < nsAbOSXUtils::kPropertyMapSize; ++i) {
-     if (name.Equals(nsAbOSXUtils::kPropertyMap[i].mPropertyName)) {
-       *aResult =
-       [ABPerson searchElementForProperty:nsAbOSXUtils::kPropertyMap[i].mOSXProperty
-                                    label:nsAbOSXUtils::kPropertyMap[i].mOSXLabel
-                                      key:nsAbOSXUtils::kPropertyMap[i].mOSXKey
-                                    value:[NSString stringWithCharacters:reinterpret_cast<const unichar*>(value.get()) length:length]
-                               comparison:comparison];
--      
-+
-       return NS_OK;
-     }
-   }
--  
-+
-   if (name.EqualsLiteral("DisplayName") && comparison == kABContainsSubString) {
-     ABSearchElement *first =
-     [ABPerson searchElementForProperty:kABFirstNameProperty
-                                  label:nil
-                                    key:nil
-                                  value:[NSString stringWithCharacters:reinterpret_cast<const unichar*>(value.get()) length:length]
-                             comparison:comparison];
-     ABSearchElement *second =
-@@ -347,107 +347,107 @@ MapConditionString(nsIAbBooleanCondition
-                                    value:[NSString stringWithCharacters:reinterpret_cast<const unichar*>(value.get()) length:length]
-                               comparison:comparison];
-     ABSearchElement *third =
-       [ABGroup searchElementForProperty:kABGroupNameProperty
-                                   label:nil
-                                     key:nil
-                                   value:[NSString stringWithCharacters:reinterpret_cast<const unichar*>(value.get()) length:length]
-                              comparison:comparison];
--    
-+
-     *aResult = [ABSearchElement searchElementForConjunction:kABSearchOr children:[NSArray arrayWithObjects:first, second, third, nil]];
--    
-+
-     return NS_OK;
-   }
--  
-+
-   aCanHandle = false;
--  
-+
-   return NS_OK;
- }
- 
- static nsresult
- BuildSearchElements(nsIAbBooleanExpression *aExpression,
-                     bool &aCanHandle,
-                     ABSearchElement **aResult)
- {
-   aCanHandle = true;
--  
-+
-   nsCOMPtr<nsIArray> expressions;
-   nsresult rv = aExpression->GetExpressions(getter_AddRefs(expressions));
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   nsAbBooleanOperationType operation;
-   rv = aExpression->GetOperation(&operation);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   uint32_t count;
-   rv = expressions->GetLength(&count);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   NS_ASSERTION(count > 1 && operation != nsIAbBooleanOperationTypes::NOT,
-                "This doesn't make sense!");
--  
-+
-   NSMutableArray *array = nullptr;
-   if (count > 1)
-     array = [[NSMutableArray alloc] init];
--  
-+
-   uint32_t i;
-   nsCOMPtr<nsIAbBooleanConditionString> condition;
-   nsCOMPtr<nsIAbBooleanExpression> subExpression;
-   for (i = 0; i < count; ++i) {
-     ABSearchElement *element = nullptr;
--    
-+
-     condition = do_QueryElementAt(expressions, i);
-     if (condition) {
-       rv = MapConditionString(condition, operation == nsIAbBooleanOperationTypes::NOT, aCanHandle, &element);
-       if (NS_FAILED(rv))
-         break;
-     }
-     else {
-       subExpression = do_QueryElementAt(expressions, i);
-       if (subExpression) {
-         rv = BuildSearchElements(subExpression, aCanHandle, &element);
-         if (NS_FAILED(rv))
-           break;
-       }
-     }
--    
-+
-     if (!aCanHandle) {
-       // remember to free the array when returning early
-       [array release];
-       return NS_OK;
-     }
--    
-+
-     if (element) {
-       if (array)
-         [array addObject:element];
--      else 
-+      else
-         *aResult = element;
-     }
-   }
--  
-+
-   if (array) {
-     if (NS_SUCCEEDED(rv)) {
-       ABSearchConjunction conjunction = operation == nsIAbBooleanOperationTypes::AND ? kABSearchAnd : kABSearchOr;
-       *aResult = [ABSearchElement searchElementForConjunction:conjunction children:array];
-     }
-     [array release];
-   }
--  
-+
-   return rv;
- }
- 
- static bool
- Search(nsIAbBooleanExpression *aExpression, NSArray **aResult)
- {
-   bool canHandle = false;
-   ABSearchElement *searchElement;
-   nsresult rv = BuildSearchElements(aExpression, canHandle, &searchElement);
-   NS_ENSURE_SUCCESS(rv, false);
--  
-+
-   if (canHandle)
-     *aResult = [[ABAddressBook sharedAddressBook] recordsMatchingSearchElement:searchElement];
- 
-   return canHandle;
- }
- 
- static uint32_t sObserverCount = 0;
- static ABChangedMonitor *sObserver = nullptr;
-@@ -600,30 +600,30 @@ CheckRedundantCards(nsIAbManager *aManag
-   nsresult rv;
-   nsCOMPtr<nsIAbOSXCard> osxCard = do_QueryInterface(aCard, &rv);
-   NS_ENSURE_SUCCESS(rv, false);
- 
-   nsAutoCString uri;
-   rv = osxCard->GetURI(uri);
-   NS_ENSURE_SUCCESS(rv, false);
-   NSString *uid = [NSString stringWithUTF8String:(uri.get() + 21)];
--  
-+
-   unsigned int i, count = [aCardList count];
-   for (i = 0; i < count; ++i) {
-     if ([[[aCardList objectAtIndex:i] uniqueId] isEqualToString:uid]) {
-       [aCardList removeObjectAtIndex:i];
-       break;
-     }
-   }
- 
-   if (i == count) {
-     aManager->NotifyDirectoryItemDeleted(aDirectory, aCard);
-     return true;
-   }
--  
-+
-   return false;
- }
- 
- nsresult
- nsAbOSXDirectory::GetRootOSXDirectory(nsIAbOSXDirectory **aResult)
- {
-   if (!mCacheTopLevelOSXAb)
-   {
-@@ -650,21 +650,21 @@ nsAbOSXDirectory::GetRootOSXDirectory(ns
- nsresult
- nsAbOSXDirectory::Update()
- {
-   NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
- 
-   nsresult rv;
-   nsCOMPtr<nsIAbManager> abManager = do_GetService(NS_ABMANAGER_CONTRACTID, &rv);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   if (mIsQueryURI) {
-     return NS_OK;
-   }
--  
-+
-   ABAddressBook *addressBook = [ABAddressBook sharedAddressBook];
-   // Due to the horrible way the address book code works wrt mailing lists
-   // we have to use a different list depending on what we are. This pointer
-   // holds a reference to that list.
-   nsIMutableArray* cardList;
-   NSArray *groups, *cards;
-   if (m_IsMailList) {
-     ABGroup *group = (ABGroup*)[addressBook recordForUniqueId:[NSString stringWithUTF8String:nsAutoCString(Substring(mURINoQuery, 21)).get()]];
-@@ -686,60 +686,60 @@ nsAbOSXDirectory::Update()
-     if (!mCardList)
-     {
-       mCardList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-       NS_ENSURE_SUCCESS(rv, rv);
-     }
-     // For directories, store the cards in mCardList
-     cardList = mCardList;
-   }
--  
-+
-   NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:cards];
-   uint32_t addressCount;
-   rv = cardList->GetLength(&addressCount);
-   NS_ENSURE_SUCCESS(rv, rv);
- 
-   while (addressCount--)
-   {
-     nsCOMPtr<nsIAbCard> card(do_QueryElementAt(cardList, addressCount, &rv));
-     if (NS_FAILED(rv))
-       break;
- 
-     if (CheckRedundantCards(abManager, this, card, mutableArray))
-       cardList->RemoveElementAt(addressCount);
-   }
--  
-+
-   NSEnumerator *enumerator = [mutableArray objectEnumerator];
-   ABRecord *card;
-   nsCOMPtr<nsIAbCard> abCard;
-   nsCOMPtr<nsIAbOSXDirectory> rootOSXDirectory;
-   rv = GetRootOSXDirectory(getter_AddRefs(rootOSXDirectory));
-   NS_ENSURE_SUCCESS(rv, rv);
- 
-   while ((card = [enumerator nextObject]))
-   {
-     rv = GetCard(card, getter_AddRefs(abCard), rootOSXDirectory);
-     if (NS_FAILED(rv))
-       rv = CreateCard(card, getter_AddRefs(abCard));
-     NS_ENSURE_SUCCESS(rv, rv);
-     AssertCard(abManager, abCard);
-   }
--  
-+
-   card = (ABRecord*)[addressBook recordForUniqueId:[NSString stringWithUTF8String:nsAutoCString(Substring(mURINoQuery, 21)).get()]];
-   NSString * stringValue = [card valueForProperty:kABGroupNameProperty];
-   if (![stringValue isEqualToString:WrapString(m_ListDirName)])
-   {
-     nsAutoString oldValue(m_ListDirName);
-     AssignToString(stringValue, m_ListDirName);
-     nsCOMPtr<nsISupports> supports = do_QueryInterface(static_cast<nsIAbDirectory *>(this), &rv);
-     NS_ENSURE_SUCCESS(rv, rv);
-     abManager->NotifyItemPropertyChanged(supports, "DirName",
-                                          oldValue.get(), m_ListDirName.get());
-   }
--  
-+
-   if (groups)
-   {
-     mutableArray = [NSMutableArray arrayWithArray:groups];
-     nsCOMPtr<nsIAbDirectory> directory;
-     // It is ok to use m_AddressList here as only top-level directories have
-     // groups, and they will be in m_AddressList
-     if (m_AddressList)
-     {
-@@ -751,79 +751,79 @@ nsAbOSXDirectory::Update()
-         directory = do_QueryElementAt(m_AddressList, addressCount, &rv);
-         if (NS_FAILED(rv))
-           continue;
- 
-         nsAutoCString uri;
-         directory->GetURI(uri);
-         uri.Cut(0, 21);
-         NSString *uid = [NSString stringWithUTF8String:uri.get()];
--        
-+
-         unsigned int j, arrayCount = [mutableArray count];
-         for (j = 0; j < arrayCount; ++j) {
-           if ([[[mutableArray objectAtIndex:j] uniqueId] isEqualToString:uid]) {
-             [mutableArray removeObjectAtIndex:j];
-             break;
-           }
-         }
--        
-+
-         if (j == arrayCount) {
-           UnassertDirectory(abManager, directory);
-         }
-       }
-     }
--    
-+
-     enumerator = [mutableArray objectEnumerator];
-     while ((card = [enumerator nextObject])) {
-       rv = GetOrCreateGroup([card uniqueId], getter_AddRefs(directory));
-       NS_ENSURE_SUCCESS(rv, rv);
--      
-+
-       AssertDirectory(abManager, directory);
-     }
-   }
--  
-+
-   return NS_OK;
- 
-   NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
- }
- 
- nsresult
- nsAbOSXDirectory::AssertChildNodes()
- {
-   NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
- 
-   // Queries and mailing lists can't have childnodes.
-   if (mIsQueryURI || m_IsMailList) {
-     return NS_OK;
-   }
--  
-+
-   nsresult rv;
-   nsCOMPtr<nsIAbManager> abManager =
-     do_GetService(NS_ABMANAGER_CONTRACTID, &rv);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   NSArray *groups = [[ABAddressBook sharedAddressBook] groups];
--  
-+
-   unsigned int i, count = [groups count];
--  
-+
-   if (count > 0 && !m_AddressList) {
-     m_AddressList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS(rv, rv);
-   }
--  
-+
-   nsCOMPtr<nsIAbDirectory> directory;
-   for (i = 0; i < count; ++i) {
-     rv = GetOrCreateGroup([[groups objectAtIndex:i] uniqueId],
-                           getter_AddRefs(directory));
-     NS_ENSURE_SUCCESS(rv, rv);
--    
-+
-     rv = AssertDirectory(abManager, directory);
-     NS_ENSURE_SUCCESS(rv, rv);
-   }
--  
-+
-   return NS_OK;
- 
-   NS_OBJC_END_TRY_ABORT_BLOCK_NSRESULT;
- }
- 
- nsresult
- nsAbOSXDirectory::AssertDirectory(nsIAbManager *aManager,
-                                   nsIAbDirectory *aDirectory)
-@@ -834,17 +834,17 @@ nsAbOSXDirectory::AssertDirectory(nsIAbM
-     // We already have this directory, so no point in adding it again.
-     return NS_OK;
- 
-   nsresult rv;
-   if (!m_AddressList) {
-     m_AddressList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS(rv, rv);
-   }
--  
-+
-   rv = m_AddressList->AppendElement(aDirectory);
-   NS_ENSURE_SUCCESS(rv, rv);
- 
-   return aManager->NotifyDirectoryItemAdded(this, aDirectory);
- }
- 
- nsresult
- nsAbOSXDirectory::AssertCard(nsIAbManager *aManager,
-@@ -874,17 +874,17 @@ nsAbOSXDirectory::AssertCard(nsIAbManage
- 
- nsresult
- nsAbOSXDirectory::UnassertCard(nsIAbManager *aManager,
-                                nsIAbCard *aCard,
-                                nsIMutableArray *aCardList)
- {
-   nsresult rv;
-   uint32_t pos;
--  
-+
-   if (NS_SUCCEEDED(aCardList->IndexOf(0, aCard, &pos)))
-     rv = aCardList->RemoveElementAt(pos);
- 
-   return aManager->NotifyDirectoryItemDeleted(this, aCard);
- }
- 
- nsresult
- nsAbOSXDirectory::UnassertDirectory(nsIAbManager *aManager,
-@@ -901,57 +901,57 @@ nsAbOSXDirectory::UnassertDirectory(nsIA
- 
-   return aManager->NotifyDirectoryItemDeleted(this, aDirectory);
- }
- 
- NS_IMETHODIMP
- nsAbOSXDirectory::GetChildNodes(nsISimpleEnumerator **aNodes)
- {
-   NS_ENSURE_ARG_POINTER(aNodes);
--  
-+
-   // Queries don't have childnodes.
-   if (mIsQueryURI || m_IsMailList || !m_AddressList)
-     return NS_NewEmptyEnumerator(aNodes);
--  
-+
-   return NS_NewArrayEnumerator(aNodes, m_AddressList);
- }
- 
- NS_IMETHODIMP
- nsAbOSXDirectory::GetChildCards(nsISimpleEnumerator **aCards)
- {
-   NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
- 
-   NS_ENSURE_ARG_POINTER(aCards);
--  
-+
-   nsresult rv;
-   NSArray *cards;
-   if (mIsQueryURI)
-   {
-     nsCOMPtr<nsIAbBooleanExpression> expression;
-     rv = nsAbQueryStringToExpression::Convert(mQueryString,
-                                               getter_AddRefs(expression));
-     NS_ENSURE_SUCCESS(rv, rv);
--    
-+
-     bool canHandle = !m_IsMailList && Search(expression, &cards);
-     if (!canHandle)
-       return FallbackSearch(expression, aCards);
- 
-     if (!mCardList)
-       mCardList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-     else
-       mCardList->Clear();
-     NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-     // The uuid for initializing cards
-     nsAutoCString ourUuid;
-     GetUuid(ourUuid);
- 
-     // Fill the results array and update the card list
-     unsigned int nbCards = [cards count];
--  
-+
-     unsigned int i;
-     nsCOMPtr<nsIAbCard> card;
-     nsCOMPtr<nsIAbOSXDirectory> rootOSXDirectory;
-     rv = GetRootOSXDirectory(getter_AddRefs(rootOSXDirectory));
-     NS_ENSURE_SUCCESS(rv, rv);
- 
-     for (i = 0; i < nbCards; ++i)
-     {
-@@ -1174,17 +1174,17 @@ nsAbOSXDirectory::HasCard(nsIAbCard *aCa
- }
- 
- NS_IMETHODIMP
- nsAbOSXDirectory::HasDirectory(nsIAbDirectory *aDirectory,
-                                bool *aHasDirectory)
- {
-   NS_ENSURE_ARG_POINTER(aDirectory);
-   NS_ENSURE_ARG_POINTER(aHasDirectory);
--  
-+
-   *aHasDirectory = false;
- 
-   uint32_t pos;
-   if (m_AddressList && NS_SUCCEEDED(m_AddressList->IndexOf(0, aDirectory, &pos)))
-     *aHasDirectory = true;
- 
-   return NS_OK;
- }
-@@ -1198,90 +1198,90 @@ nsAbOSXDirectory::OnSearchFinished(int32
- NS_IMETHODIMP
- nsAbOSXDirectory::OnSearchFoundCard(nsIAbCard *aCard)
- {
-   nsresult rv;
-   if (!m_AddressList) {
-     m_AddressList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS(rv, rv);
-   }
--  
-+
-   if (!mCardList) {
-     mCardList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS(rv, rv);
-   }
- 
-   rv = m_AddressList->AppendElement(aCard);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   rv = mCardList->AppendElement(aCard);
-   NS_ENSURE_SUCCESS(rv, rv);
- 
-   nsAutoCString ourUuid;
-   GetUuid(ourUuid);
-   aCard->SetDirectoryId(ourUuid);
--  
-+
-   return NS_OK;
- }
- 
- nsresult
- nsAbOSXDirectory::FallbackSearch(nsIAbBooleanExpression *aExpression,
-                                  nsISimpleEnumerator **aCards)
- {
-   nsresult rv;
--  
-+
-   if (mCardList)
-     rv = mCardList->Clear();
-   else
-     mCardList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   if (m_AddressList) {
-     m_AddressList->Clear();
-   }
-   else {
-     m_AddressList = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv);
-     NS_ENSURE_SUCCESS(rv, rv);
-   }
--  
-+
-   nsCOMPtr<nsIAbDirectoryQueryArguments> arguments =
-     do_CreateInstance(NS_ABDIRECTORYQUERYARGUMENTS_CONTRACTID, &rv);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   rv = arguments->SetExpression(aExpression);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   // Don't search the subdirectories. If the current directory is a mailing
-   // list, it won't have any subdirectories. If the current directory is an
-   // addressbook, searching both it and the subdirectories (the mailing
-   // lists), will yield duplicate results because every entry in a mailing
-   // list will be an entry in the parent addressbook.
-   rv = arguments->SetQuerySubDirectories(false);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   // Get the directory without the query
-   nsCOMPtr<nsIAbManager> abManager = do_GetService(NS_ABMANAGER_CONTRACTID, &rv);
-   NS_ENSURE_SUCCESS(rv, rv);
- 
-   nsCOMPtr<nsIAbDirectory> directory;
-   rv = abManager->GetDirectory(mURINoQuery, getter_AddRefs(directory));
-   NS_ENSURE_SUCCESS(rv, rv);
- 
-   // Initiate the proxy query with the no query directory
--  nsCOMPtr<nsIAbDirectoryQueryProxy> queryProxy = 
-+  nsCOMPtr<nsIAbDirectoryQueryProxy> queryProxy =
-     do_CreateInstance(NS_ABDIRECTORYQUERYPROXY_CONTRACTID, &rv);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   rv = queryProxy->Initiate();
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   int32_t context = 0;
-   rv = queryProxy->DoQuery(directory, arguments, this, -1, 0, &context);
-   NS_ENSURE_SUCCESS(rv, rv);
--  
-+
-   return NS_NewArrayEnumerator(aCards, m_AddressList);
- }
- 
- nsresult nsAbOSXDirectory::DeleteUid(const nsACString &aUid)
- {
-   if (!m_AddressList)
-     return NS_ERROR_NULL_POINTER;
- 
-diff --git a/mailnews/base/content/folderWidgets.xml b/mailnews/base/content/folderWidgets.xml
---- a/mailnews/base/content/folderWidgets.xml
-+++ b/mailnews/base/content/folderWidgets.xml
-@@ -209,17 +209,17 @@
-           if (!(aItem instanceof Ci.nsIMsgFolder))
-             return;
-           if (this._filterFunction && !this._filterFunction(aItem)) {
-             return;
-           }
-           //xxx we can optimize this later
-           this._clearMenu(this._menu);
-         },
--  
-+
-         OnItemRemoved: function act_remove(aRDFParentItem, aItem) {
-           if (!(aItem instanceof Ci.nsIMsgFolder))
-             return;
-           if (this._filterFunction && !this._filterFunction(aItem)) {
-             return;
-           }
-           //xxx we can optimize this later
-           this._clearMenu(this._menu);
-diff --git a/mailnews/base/content/junkMailInfo.xul b/mailnews/base/content/junkMailInfo.xul
---- a/mailnews/base/content/junkMailInfo.xul
-+++ b/mailnews/base/content/junkMailInfo.xul
-@@ -7,17 +7,17 @@
- <!DOCTYPE dialog [
- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
- %brandDTD;
- <!ENTITY % junkMailInfoDTD SYSTEM "chrome://messenger/locale/junkMailInfo.dtd" >
- %junkMailInfoDTD;
- ]>
- 
- <?xml-stylesheet href="chrome://messenger/skin/messenger.css" type="text/css"?>
--<?xml-stylesheet href="chrome://messenger/skin/primaryToolbar.css" type="text/css"?> 
-+<?xml-stylesheet href="chrome://messenger/skin/primaryToolbar.css" type="text/css"?>
- 
- <dialog id="junkMailInfo"
-         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-         title="&window.title;"
-         windowtype="mailnews:junkmailinfo"
-         buttons="accept">
- 
-   <vbox flex="1" width="&window.width;">
-diff --git a/mailnews/base/content/msgAccountCentral.xul b/mailnews/base/content/msgAccountCentral.xul
---- a/mailnews/base/content/msgAccountCentral.xul
-+++ b/mailnews/base/content/msgAccountCentral.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://messenger/skin/accountCentral.css" type="text/css"?>
- 
- <!DOCTYPE page [
-   <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
-diff --git a/mailnews/base/content/shutdownWindow.xul b/mailnews/base/content/shutdownWindow.xul
---- a/mailnews/base/content/shutdownWindow.xul
-+++ b/mailnews/base/content/shutdownWindow.xul
-@@ -10,22 +10,22 @@
- <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-         style="padding: 20px; width: 350px"
-         onload="onLoad()"
-         buttons="cancel"
-         ondialogcancel="return onCancel();">
- 
-   <script type="application/javascript" src="chrome://messenger/content/shutdownWindow.js"/>
-   <stringbundle id="bundle_shutdown" src="chrome://messenger/locale/shutdownWindow.properties"/>
--  
-+
-   <vbox align="center">
-     <label id="shutdownStatus_label" value="" />
-     <separator class="thin" />
-   </vbox>
--  
-+
-   <progressmeter id="shutdown_progressmeter" mode="determined" />
--  
-+
-   <vbox align="center">
-     <label id="shutdownTask_label" value="" />
-     <separator class="thick" />
-   </vbox>
--  
-+
- </dialog>
-diff --git a/mailnews/base/prefs/content/AccountWizard.xul b/mailnews/base/prefs/content/AccountWizard.xul
---- a/mailnews/base/prefs/content/AccountWizard.xul
-+++ b/mailnews/base/prefs/content/AccountWizard.xul
-@@ -57,17 +57,17 @@
-         <radio id="movemailaccount" label="&accountTypeMovemail.label;"
-                accesskey="&accountTypeMovemail.accesskey;"
-                value="movemail" />
- #endif
- #ifndef MOZ_THUNDERBIRD
-         <radio id="rssaccount" value="rss" label="&feeds.wizardLongName;"
-                accesskey="&feeds.wizardLongName.accesskey;"/>
- #endif
--        <vbox datasources="rdf:ispdefaults" 
-+        <vbox datasources="rdf:ispdefaults"
-               containment="http://home.netscape.com/NC-rdf#providers"
-               id="ispBox"
-               ref="NC:ispinfo">
-           <template>
-             <rule nc:wizardShow="true">
-               <radio uri="..."
-                      value="rdf:http://home.netscape.com/NC-rdf#wizardShortName"
-                      label="rdf:http://home.netscape.com/NC-rdf#wizardLongName"
-@@ -91,24 +91,24 @@
-       <separator/>
-       <description>&fullnameDesc.label; &fullnameExample.label;</description>
-       <separator class="thin"/>
-       <hbox align="center">
-         <label class="awIdentityLabel" value="&fullnameLabel.label;"
-                accesskey="&fullnameLabel.accesskey;" control="fullName"/>
-         <textbox mailtype="identity" wsm_persist="true" name="fullName" id="fullName" flex="1" oninput="identityPageValidate();"/>
-       </hbox>
--      <separator/>  
-+      <separator/>
-       <grid>
-         <columns>
-           <column flex="1"/>
-         </columns>
-         <rows>
-           <row>
--            <description id="emailDescText"/> 
-+            <description id="emailDescText"/>
-           </row>
-           <separator class="thin"/>
-           <row>
-             <hbox align="center">
-               <label class="awIdentityLabel" id="emailFieldLabel" value="&emailLabel.label;"
-                      accesskey="&emailLabel.accesskey;" control="email"/>
-               <hbox class="uri-element" align="center" flex="1">
-                 <textbox wsm_persist="true" mailtype="identity" name="email"
-@@ -133,22 +133,22 @@
-               onpageadvanced="return incomingPageUnload();">
-     <vbox flex="1">
-         <vbox id="serverTypeBox">
-         <label control="servertype">&incomingServerTypeDesc.label;</label>
-           <separator class="thin"/>
-           <hbox align="center" class="serverDataBox">
-             <!-- The initial value for the servertype radiogroup is set in onInit() -->
-             <radiogroup id="servertype" wsm_persist="true" orient="horizontal">
--                <radio group="servertype" value="pop3" id="pop3" label="&popType.label;" 
-+                <radio group="servertype" value="pop3" id="pop3" label="&popType.label;"
-                        wsm_persist="true" oncommand="setServerType();" accesskey="&popType.accesskey;"/>
-                 <radio group="servertype" value="imap" id="imap" label="&imapType.label;"
-                        wsm_persist="true" oncommand="setServerType();" accesskey="&imapType.accesskey;"/>
-             </radiogroup>
--            <label id="serverPortLabel" control="serverPort" 
-+            <label id="serverPortLabel" control="serverPort"
-                    accesskey="&portNum.accesskey;"
-                    value="&portNum.label;"/>
-             <textbox id="serverPort" type="number" size="3" max="65535"/>
-             <label id="defaultPortLabel" value="&defaultPortLabel.label;"/>
-             <label id="defaultPortValue" value="&defaultPortValue.label;"/>
-           </hbox>
-           <separator/>
-         </vbox>
-@@ -277,33 +277,33 @@
-                  class="uri-element"
-                  oninput="incomingPageValidate();"/>
-       </hbox>
-     </vbox>
-   </wizardpage>
- 
-   <!-- Account name page : User gets a choice to enter a pretty name for the account -->
-   <!-- Defaults : Mail account -> Email address, Newsgroup account -> Newsgroup server name -->
--  <wizardpage id="accnamepage" pageid="accnamepage" 
-+  <wizardpage id="accnamepage" pageid="accnamepage"
-               label="&accnameTitle.label;"
-               onpageshow="return acctNamePageInit();"
-               onpageadvanced="return acctNamePageUnload();">
-     <vbox flex="1">
-       <description>&accnameDesc.label;</description>
-       <separator class="thin"/>
-       <hbox align="center">
-         <label class="label" value="&accnameLabel.label;" style="width: 8em;"
-                accesskey="&accnameLabel.accesskey;" control="prettyName"/>
-         <textbox id="prettyName" size="40" wsm_persist="true" flex="1" oninput="acctNamePageValidate();"/>
-       </hbox>
-     </vbox>
-   </wizardpage>
- 
-   <!-- Done page : this page summarizes information collected to create a mail/news account -->
--  <wizardpage id="done" pageid="done" 
-+  <wizardpage id="done" pageid="done"
-               label="&completionTitle.label;"
-               onpageshow="return donePageInit();">
-     <vbox flex="1">
-       <description>&completionText.label;</description>
-       <separator class="thin"/>
-       <grid>
-         <columns>
-           <column/>
-diff --git a/mailnews/base/prefs/content/am-offline.xul b/mailnews/base/prefs/content/am-offline.xul
---- a/mailnews/base/prefs/content/am-offline.xul
-+++ b/mailnews/base/prefs/content/am-offline.xul
-@@ -6,23 +6,23 @@
- <?xml-stylesheet href="chrome://messenger/skin/accountManage.css" type="text/css"?>
- 
- <!DOCTYPE page SYSTEM "chrome://messenger/locale/am-offline.dtd">
- 
- <page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       onload="parent.onPanelLoaded('am-offline.xul');">
- 
-   <vbox flex="1" style="overflow: auto;">
--    <stringbundle id="bundle_prefs" src="chrome://messenger/locale/prefs.properties"/> 
-+    <stringbundle id="bundle_prefs" src="chrome://messenger/locale/prefs.properties"/>
- 
-     <script type="application/javascript" src="chrome://messenger/content/AccountManager.js"/>
-     <script type="application/javascript" src="chrome://messenger/content/retention.js"/>
-     <script type="application/javascript" src="chrome://messenger/content/am-offline.js"/>
- 
--    <label hidden="true" wsm_persist="true" id="server.type"/>  
-+    <label hidden="true" wsm_persist="true" id="server.type"/>
-     <label id="imap.autoSyncMaxAgeDays" hidden="true"
-            wsm_persist="true" preftype="int"
-            prefstring="mail.server.%serverkey%.autosync_max_age_days"/>
- 
-     <dialogheader id="headertitle"/>
- 
-     <groupbox id="offline.titlebox" hidefor="movemail,pop3,none,rss">
-       <caption label="&syncGroupTitle.label;"/>
-diff --git a/mailnews/base/src/nsMessengerOSXIntegration.mm b/mailnews/base/src/nsMessengerOSXIntegration.mm
---- a/mailnews/base/src/nsMessengerOSXIntegration.mm
-+++ b/mailnews/base/src/nsMessengerOSXIntegration.mm
-@@ -113,17 +113,17 @@ static void openMailWindow(const nsCStri
-         wwatch->OpenWindow(0, "chrome://messenger/content/messageWindow.xul",
-                            "_blank", "all,chrome,dialog=no,status,toolbar", msgUri,
-                            getter_AddRefs(newWindow));
- #else
-         nsCOMPtr<nsIMessenger> messenger(do_CreateInstance(NS_MESSENGER_CONTRACTID, &rv));
-         if (NS_FAILED(rv))
-           return;
- 
--        nsCOMPtr<nsIMsgDBHdr> msgHdr; 
-+        nsCOMPtr<nsIMsgDBHdr> msgHdr;
-         messenger->MsgHdrFromURI(aUri, getter_AddRefs(msgHdr));
-         if (msgHdr)
-         {
-           nsCOMPtr<mozIDOMWindowProxy> newWindow;
-           wwatch->OpenWindow(0, "chrome://messenger/content/messageWindow.xul",
-                              "_blank", "all,chrome,dialog=no,status,toolbar", msgHdr,
-                              getter_AddRefs(newWindow));
-         }
-@@ -216,17 +216,17 @@ nsMessengerOSXIntegration::Observe(nsISu
-   if (!strcmp(aTopic, "alertfinished"))
-     return OnAlertFinished();
- 
-   if (!strcmp(aTopic, "alertclickcallback"))
-     return OnAlertClicked(aData);
- 
- #ifdef MOZ_SUITE
-   // SeaMonkey does most of the GUI work in JS code when clicking on a mail
--  // notification, so it needs an extra function here 
-+  // notification, so it needs an extra function here
-   if (!strcmp(aTopic, "alertclicksimplecallback"))
-     return OnAlertClickedSimple();
- #endif
- 
-   if (!strcmp(aTopic, "mail-startup-done")) {
-     nsresult rv;
-     nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv);
-     if (NS_SUCCEEDED(rv)) {
-diff --git a/mailnews/build/nsMailModule.cpp b/mailnews/build/nsMailModule.cpp
---- a/mailnews/build/nsMailModule.cpp
-+++ b/mailnews/build/nsMailModule.cpp
-@@ -1,36 +1,36 @@
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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/. */
- 
- /* ****************************************************************************
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-- * 
-+ *
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-- * 
-+ *
-  * Dear Mortals,
-- * 
-+ *
-  * Please be advised that if you are adding something here, you should also
-  * strongly consider adding it to the other place it goes too!  These can be
-  * found in paths like so: mailnews/.../build/WhateverFactory.cpp
-- * 
-+ *
-  * If you do not, your (static) release builds will be quite pleasant, but
-  * (dynamic) debug builds will disappoint you by not having your component in
-  * them.
-- * 
-+ *
-  * Yours truly,
-  * The ghost that haunts the MailNews codebase.
-- * 
-+ *
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-- * 
-+ *
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-  * ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION! ATTENTION!
-  * ****************************************************************************/
- 
- 
- ////////////////////////////////////////////////////////////////////////////////
- // Core Module Include Files
- ////////////////////////////////////////////////////////////////////////////////
-diff --git a/mailnews/compose/content/sendProgress.xul b/mailnews/compose/content/sendProgress.xul
---- a/mailnews/compose/content/sendProgress.xul
-+++ b/mailnews/compose/content/sendProgress.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://messenger/skin/dialogs.css" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger/locale/messengercompose/sendProgress.dtd">
-diff --git a/mailnews/db/gloda/content/glodacomplete.xml b/mailnews/db/gloda/content/glodacomplete.xml
---- a/mailnews/db/gloda/content/glodacomplete.xml
-+++ b/mailnews/db/gloda/content/glodacomplete.xml
-@@ -300,25 +300,25 @@
-     <implementation implements="nsIDOMXULSelectControlItemElement">
-       <constructor>
-         <![CDATA[
-             this._explanation = document.getAnonymousElementByAttribute(this, "anonid", "explanation");
- 
-             this._adjustAcItem();
-           ]]>
-       </constructor>
--      
-+
-       <property name="label" readonly="true">
-         <getter>
-           <![CDATA[
-             return "tag " + this.row.item.tag;
-           ]]>
-         </getter>
-       </property>
--      
-+
-       <method name="_adjustAcItem">
-         <body>
-           <![CDATA[
-             let label = gGlodaCompleteStrings.get("glodaComplete.messagesTagged.label");
-             this._explanation.value = label.replace("#1", this.row.item.tag);
-           ]]>
-         </body>
-       </method>
-@@ -334,25 +334,25 @@
-     <implementation implements="nsIDOMXULSelectControlItemElement">
-       <constructor>
-         <![CDATA[
-             this._explanation = document.getAnonymousElementByAttribute(this, "anonid", "explanation");
- 
-             this._adjustAcItem();
-           ]]>
-       </constructor>
--      
-+
-       <property name="label" readonly="true">
-         <getter>
-           <![CDATA[
-             return "full text search: " + this.row.item;
-           ]]>
-         </getter>
-       </property>
--      
-+
-       <method name="_adjustAcItem">
-         <body>
-           <![CDATA[
-             let label = gGlodaCompleteStrings.get("glodaComplete.messagesMentioning.label");
-             this._explanation.value = label.replace("#1", this.row.item);
-           ]]>
-         </body>
-       </method>
-@@ -365,25 +365,25 @@
-     </content>
-     <implementation implements="nsIDOMXULSelectControlItemElement">
-       <constructor>
-         <![CDATA[
-             this._explanation = document.getAnonymousElementByAttribute(this, "anonid", "explanation");
-             this._adjustAcItem();
-           ]]>
-       </constructor>
--      
-+
-       <property name="label" readonly="true">
-         <getter>
-           <![CDATA[
-             return "full text search: " + this.row.item; // what is this for? l10n?
-           ]]>
-         </getter>
-       </property>
--      
-+
-       <method name="_adjustAcItem">
-         <body>
-           <![CDATA[
-           let label = gGlodaCompleteStrings.get("glodaComplete.messagesMentioningMany.label");
-           this._explanation.value = label.replace("#1", this.row.words.join(", "));
-           ]]>
-         </body>
-       </method>
-@@ -436,43 +436,43 @@
- 
-             this._typeImage = document.getAnonymousElementByAttribute(this, "anonid", "type-image");
- 
-             this._identityBox = document.getAnonymousElementByAttribute(this, "anonid", "identity-box");
-             this._identity = document.getAnonymousElementByAttribute(this, "anonid", "identity");
- 
-             this._nameBox = document.getAnonymousElementByAttribute(this, "anonid", "name-box");
-             this._name = document.getAnonymousElementByAttribute(this, "anonid", "name");
--            
-+
-             this._picture = document.getAnonymousElementByAttribute(this, "anonid", "picture");
- 
-             this._adjustAcItem();
-           ]]>
-       </constructor>
--      
-+
-       <property name="label" readonly="true">
-         <getter>
-           <![CDATA[
-             var identity = this.row.item;
-             return identity.accessibleLabel;
-           ]]>
-         </getter>
-       </property>
--      
-+
-       <method name="_adjustAcItem">
-         <body>
-           <![CDATA[
-           var identity = this.row.item;
--          
-+
-           if (identity == null)
-             return;
--          
-+
-           // I guess we should get the picture size from CSS or something?
-           this._picture.src = identity.pictureURL(32);
--          
-+
-           // Emphasize the matching search terms for the description
-           this._setUpDescription(this._name, identity.contact.name);
-           this._setUpDescription(this._identity, identity.value);
- 
-           // Set up overflow on a timeout because the contents of the box
-           // might not have a width yet even though we just changed them
-           setTimeout(this._setUpOverflow, 0, this._nameBox, this._nameOverflowEllipsis);
-           setTimeout(this._setUpOverflow, 0, this._identityBox, this._identityOverflowEllipsis);
-@@ -526,45 +526,45 @@
- 
-             this._typeImage = document.getAnonymousElementByAttribute(this, "anonid", "type-image");
- 
-             this._identityBox = document.getAnonymousElementByAttribute(this, "anonid", "identity-box");
-             this._identity = document.getAnonymousElementByAttribute(this, "anonid", "identity");
- 
-             this._nameBox = document.getAnonymousElementByAttribute(this, "anonid", "name-box");
-             this._name = document.getAnonymousElementByAttribute(this, "anonid", "name");
--            
-+
-             this._picture = document.getAnonymousElementByAttribute(this, "anonid", "picture");
- 
-             this._adjustAcItem();
-           ]]>
-       </constructor>
--      
-+
-       <property name="label" readonly="true">
-         <getter>
-           <![CDATA[
-             var identity = this.obj;
-             return identity.accessibleLabel;
-           ]]>
-         </getter>
-       </property>
--      
-+
-       <method name="_adjustAcItem">
-         <body>
-           <![CDATA[
-           var contact = this.obj;
--          
-+
-           if (contact == null)
-             return;
--          
-+
-           var identity = contact.identities[0];
--          
-+
-           // I guess we should get the picture size from CSS or something?
-           this._picture.src = identity.pictureURL(32);
--          
-+
-           // Emphasize the matching search terms for the description
-           this._setUpDescription(this._name, contact.name);
-           this._setUpDescription(this._identity, identity.value);
- 
-           // Set up overflow on a timeout because the contents of the box
-           // might not have a width yet even though we just changed them
-           setTimeout(this._setUpOverflow, 0, this._nameBox, this._nameOverflowEllipsis);
-           setTimeout(this._setUpOverflow, 0, this._identityBox, this._identityOverflowEllipsis);
-@@ -584,54 +584,54 @@
-       <constructor>
-         <![CDATA[
-             this._explanation = document.getAnonymousElementByAttribute(this, "anonid", "explanation");
-             this._identityHolder = document.getAnonymousElementByAttribute(this, "anonid", "identity-holder");
- 
-             this._adjustAcItem();
-           ]]>
-       </constructor>
--      
-+
-       <property name="label" readonly="true">
-         <getter>
-           <![CDATA[
-             return this._explanation.value;
-           ]]>
-         </getter>
-       </property>
--      
-+
-       <method name="renderItem">
-         <parameter name="aObj"/>
-         <body>
-           var node = document.createElementNS(
-             "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
-             "richlistitem");
--          
-+
-           node.obj = aObj;
-           node.setAttribute("type",
-                             "gloda-" + this.row.nounDef.name + "-chunk");
--          
-+
-           this._identityHolder.appendChild(node);
-         </body>
-       </method>
--      
-+
-       <method name="_adjustAcItem">
-         <body>
-           <![CDATA[
-           // clear out any lingering children
-           while (this._identityHolder.hasChildNodes())
-             this._identityHolder.lastChild.remove();
--          
-+
-           var row = this.row;
-           if (row == null)
-             return;
--          
-+
-           this._explanation.value = row.nounDef.name + "s " +
-             row.criteriaType + "ed " + row.criteria;
--          
-+
-           // render anyone already in there
-           for (let item of row.collection.items) {
-             this.renderItem(item);
-           }
-           // listen up, yo.
-           row.renderer = this;
-           ]]>
-         </body>
-diff --git a/mailnews/extensions/dsn/content/am-dsn.xul b/mailnews/extensions/dsn/content/am-dsn.xul
---- a/mailnews/extensions/dsn/content/am-dsn.xul
-+++ b/mailnews/extensions/dsn/content/am-dsn.xul
-@@ -5,42 +5,42 @@
-  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/. -->
- 
- <?xml-stylesheet href="chrome://messenger/skin/accountManage.css" type="text/css"?>
- 
- <!DOCTYPE page SYSTEM "chrome://messenger/locale/am-dsn.dtd">
- 
--<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
-+<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-       onload="parent.onPanelLoaded('am-dsn.xul');">
- 
--  <stringbundle id="bundle_smime" src="chrome://messenger/locale/am-dsn.properties"/> 
-+  <stringbundle id="bundle_smime" src="chrome://messenger/locale/am-dsn.properties"/>
-   <script type="application/javascript" src="chrome://messenger/content/AccountManager.js"/>
-   <script type="application/javascript" src="chrome://messenger/content/am-dsn.js"/>
--  
-+
-   <dialogheader title="&pane.title;"/>
- 
-   <groupbox>
- 
-     <caption label="&pane.title;"/>
- 
-     <hbox id="prefChoices" align="center">
-       <radiogroup id="identity.dsn_use_custom_prefs"
-                   wsm_persist="true"
--                  genericattr="true" 
-+                  genericattr="true"
-                   preftype="bool"
--                  prefstring="mail.identity.%identitykey%.dsn_use_custom_prefs" 
-+                  prefstring="mail.identity.%identitykey%.dsn_use_custom_prefs"
-                   oncommand="EnableDisableCustomSettings();">
--    
-+
-         <radio id="identity.select_global_prefs"
-                value="false"
-                label="&useGlobalPrefs.label;"
-                accesskey="&useGlobalPrefs.accesskey;"/>
--    
-+
-         <radio id="identity.select_custom_prefs"
-                value="true"
-                label="&useCustomPrefs.label;"
-                accesskey="&useCustomPrefs.accesskey;"/>
-       </radiogroup>
-     </hbox>
- 
-     <vbox id="dsnSettings" class="indent" align="start">
-diff --git a/mailnews/extensions/smime/content/certFetchingStatus.xul b/mailnews/extensions/smime/content/certFetchingStatus.xul
---- a/mailnews/extensions/smime/content/certFetchingStatus.xul
-+++ b/mailnews/extensions/smime/content/certFetchingStatus.xul
-@@ -4,17 +4,17 @@
-    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
- 
- <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
- <?xml-stylesheet href="chrome://messenger/skin/smime/certFetchingStatus.css" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger-smime/locale/certFetchingStatus.dtd">
- 
- <dialog id="certFetchingStatus" title="&title.label;"
--  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"      
-+  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-   style="width: 50em;"
-   buttons="cancel"
-   buttonlabelcancel="&stop.label;"
-   ondialogcancel="return stopFetching();"
-   onload="onLoad();">
- 
-   <stringbundle id="bundle_ldap" src="chrome://mozldap/locale/ldap.properties"/>
- <script type="application/javascript" src="chrome://messenger-smime/content/certFetchingStatus.js"/>
-diff --git a/mailnews/extensions/smime/content/msgCompSecurityInfo.xul b/mailnews/extensions/smime/content/msgCompSecurityInfo.xul
---- a/mailnews/extensions/smime/content/msgCompSecurityInfo.xul
-+++ b/mailnews/extensions/smime/content/msgCompSecurityInfo.xul
-@@ -4,25 +4,25 @@
-    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
- 
- <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
- <?xml-stylesheet href="chrome://messenger/skin/smime/msgCompSecurityInfo.css" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger-smime/locale/msgCompSecurityInfo.dtd">
- 
- <dialog id="msgCompSecurityInfo" title="&title.label;"
--  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"      
-+  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-   style="width: 50em;"
-   persist="width height"
-   buttons="accept"
-   onload="onLoad();">
- 
-   <script type="application/javascript" src="chrome://messenger-smime/content/msgCompSecurityInfo.js"/>
- 
--  <stringbundle id="bundle_smime_comp_info" src="chrome://messenger-smime/locale/msgCompSecurityInfo.properties"/> 
-+  <stringbundle id="bundle_smime_comp_info" src="chrome://messenger-smime/locale/msgCompSecurityInfo.properties"/>
- 
-   <description>&subject.plaintextWarning;</description>
-   <separator class="thin"/>
-   <description>&status.heading;</description>
-   <grid>
-     <columns>
-       <column/>
-       <column/>
-diff --git a/mailnews/extensions/smime/content/msgHdrViewSMIMEOverlay.xul b/mailnews/extensions/smime/content/msgHdrViewSMIMEOverlay.xul
---- a/mailnews/extensions/smime/content/msgHdrViewSMIMEOverlay.xul
-+++ b/mailnews/extensions/smime/content/msgHdrViewSMIMEOverlay.xul
-@@ -1,14 +1,14 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
--<?xml-stylesheet href="chrome://messenger/skin/smime/msgHdrViewSMIMEOverlay.css" type="text/css"?> 
-+<?xml-stylesheet href="chrome://messenger/skin/smime/msgHdrViewSMIMEOverlay.css" type="text/css"?>
- 
- <overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- 
-   <script type="application/javascript" src="chrome://messenger-smime/content/msgHdrViewSMIMEOverlay.js"/>
- <!-- These stringbundles are already defined in msgReadSMIMEOverlay.xul!
-   <stringbundleset id="stringbundleset">
-     <stringbundle id="bundle_read_smime" src="chrome://messenger-smime/locale/msgReadSMIMEOverlay.properties"/>
-     <stringbundle id="bundle_brand" src="chrome://branding/locale/brand.properties"/>
-diff --git a/mailnews/extensions/smime/content/msgReadSMIMEOverlay.xul b/mailnews/extensions/smime/content/msgReadSMIMEOverlay.xul
---- a/mailnews/extensions/smime/content/msgReadSMIMEOverlay.xul
-+++ b/mailnews/extensions/smime/content/msgReadSMIMEOverlay.xul
-@@ -1,9 +1,9 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://messenger/skin/smime/msgReadSMIMEOverlay.css" type="text/css"?>
- 
- <!DOCTYPE overlay SYSTEM "chrome://messenger-smime/locale/msgReadSMIMEOverlay.dtd">
- 
-diff --git a/mailnews/extensions/smime/content/msgReadSecurityInfo.xul b/mailnews/extensions/smime/content/msgReadSecurityInfo.xul
---- a/mailnews/extensions/smime/content/msgReadSecurityInfo.xul
-+++ b/mailnews/extensions/smime/content/msgReadSecurityInfo.xul
-@@ -1,27 +1,27 @@
- <?xml version="1.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/. -->
- 
- <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
--<?xml-stylesheet href="chrome://messenger/skin/smime/msgReadSecurityInfo.css" type="text/css"?> 
-+<?xml-stylesheet href="chrome://messenger/skin/smime/msgReadSecurityInfo.css" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger-smime/locale/msgReadSecurityInfo.dtd">
- 
- <dialog id="msgReadSecurityInfo" title="&status.label;"
--  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"      
-+  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-   style="width: 40em;"
-   buttons="accept"
-   onload="onLoad();">
- 
-   <script type="application/javascript" src="chrome://messenger-smime/content/msgReadSecurityInfo.js"/>
- 
--  <stringbundle id="bundle_smime_read_info" src="chrome://messenger-smime/locale/msgSecurityInfo.properties"/> 
-+  <stringbundle id="bundle_smime_read_info" src="chrome://messenger-smime/locale/msgSecurityInfo.properties"/>
- 
-   <vbox flex="1">
-     <label id="signatureLabel"/>
-     <label id="signatureHeader" collapsed="true"/>
-     <description id="signatureExplanation"/>
-     <vbox id="signatureCert" collapsed="true">
-       <hbox>
-         <label id="signedByLabel">&signer.name;</label>
-diff --git a/mailnews/import/applemail/src/nsEmlxHelperUtils.mm b/mailnews/import/applemail/src/nsEmlxHelperUtils.mm
---- a/mailnews/import/applemail/src/nsEmlxHelperUtils.mm
-+++ b/mailnews/import/applemail/src/nsEmlxHelperUtils.mm
-@@ -16,22 +16,22 @@
- #include "nsTArray.h"
- #include "nsAppleMailImport.h"
- #include "prprf.h"
- #include "nsIFile.h"
- 
- #import <Cocoa/Cocoa.h>
- 
- 
--nsresult nsEmlxHelperUtils::ConvertToMozillaStatusFlags(const char *aXMLBufferStart, 
--                                                        const char *aXMLBufferEnd, 
-+nsresult nsEmlxHelperUtils::ConvertToMozillaStatusFlags(const char *aXMLBufferStart,
-+                                                        const char *aXMLBufferEnd,
-                                                         uint32_t *aMozillaStatusFlags)
- {
-   // create a NSData wrapper around the buffer, so we can use the Cocoa call below
--  NSData *metadata = 
-+  NSData *metadata =
-     [[[NSData alloc] initWithBytesNoCopy:(void *)aXMLBufferStart length:(aXMLBufferEnd-aXMLBufferStart) freeWhenDone:NO] autorelease];
- 
-   // get the XML data as a dictionary
-   NSPropertyListFormat format;
-   id plist = [NSPropertyListSerialization propertyListWithData:metadata
-                                               options:NSPropertyListImmutable
-                                                         format:&format
-                                               error:NULL];
-@@ -40,17 +40,17 @@ nsresult nsEmlxHelperUtils::ConvertToMoz
-     return NS_ERROR_FAILURE;
- 
-   // find the <flags>...</flags> value and convert to int
-   const uint32_t emlxMessageFlags = [[(NSDictionary *)plist objectForKey:@"flags"] intValue];
- 
-   if (emlxMessageFlags == 0)
-     return NS_ERROR_FAILURE;
- 
--  if (emlxMessageFlags & nsEmlxHelperUtils::kRead) 
-+  if (emlxMessageFlags & nsEmlxHelperUtils::kRead)
-     *aMozillaStatusFlags |= nsMsgMessageFlags::Read;
-   if (emlxMessageFlags & nsEmlxHelperUtils::kForwarded)
-     *aMozillaStatusFlags |= nsMsgMessageFlags::Forwarded;
-   if (emlxMessageFlags & nsEmlxHelperUtils::kAnswered)
-     *aMozillaStatusFlags |= nsMsgMessageFlags::Replied;
-   if (emlxMessageFlags & nsEmlxHelperUtils::kFlagged)
-     *aMozillaStatusFlags |= nsMsgMessageFlags::Marked;
- 
-@@ -62,17 +62,17 @@ nsresult nsEmlxHelperUtils::ConvertToMbo
-   nsTArray<const char *> foundFromLines;
- 
-   const char *cur = aMessageBufferStart;
-   while (cur < aMessageBufferEnd) {
- 
-     const char *foundFromStr = strnstr(cur, "From ", aMessageBufferEnd-cur);
- 
-     if (foundFromStr) {
--      // skip all prepending '>' chars 
-+      // skip all prepending '>' chars
-       const char *fromLineStart = foundFromStr;
-       while (fromLineStart-- >= aMessageBufferStart) {
-         if (*fromLineStart == '\n' || fromLineStart == aMessageBufferStart) {
-           if (fromLineStart > aMessageBufferStart)
-             fromLineStart++;
-           foundFromLines.AppendElement(fromLineStart);
-           break;
-         }
-@@ -80,17 +80,17 @@ nsresult nsEmlxHelperUtils::ConvertToMbo
-           break;
-       }
- 
-       // advance past the last found From string.
-       cur = foundFromStr + 5;
- 
-       // look for more From lines.
-       continue;
--    } 
-+    }
- 
-     break;
-   }
- 
-   // go through foundFromLines
-   if (foundFromLines.Length()) {
- 
-     const char *chunkStart = aMessageBufferStart;
-@@ -114,17 +114,17 @@ nsresult nsEmlxHelperUtils::AddEmlxMessa
-   // in a C++ environment where the main event loop has no autorelease pool (e.g on a XPCOM thread)
-   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- 
-   nsresult rv = NS_ERROR_FAILURE;
- 
-   nsAutoCString path;
-   aMessage->GetNativePath(path);
- 
--  NSData *data = [NSData dataWithContentsOfFile:[NSString stringWithUTF8String:path.get()]]; 
-+  NSData *data = [NSData dataWithContentsOfFile:[NSString stringWithUTF8String:path.get()]];
-   if (!data) {
-     [pool release];
-     return NS_ERROR_FAILURE;
-   }
- 
-   char *startOfMessageData = NULL;
-   uint32_t actualBytesWritten = 0;
- 
-@@ -132,27 +132,27 @@ nsresult nsEmlxHelperUtils::AddEmlxMessa
-   //
-   // -------------------------------
-   // < A number describing how many bytes ahead there is message data >
-   // < Message data >
-   // < XML metadata for this message >
-   // -------------------------------
- 
-   // read the first line of the emlx file, which is a number of how many bytes ahead the actual
--  // message data is. 
-+  // message data is.
-   uint64_t numberOfBytesToRead = strtol((char *)[data bytes], &startOfMessageData, 10);
-   if (numberOfBytesToRead <= 0 || !startOfMessageData) {
-     [pool release];
-     return NS_ERROR_FAILURE;
-   }
- 
-   // skip whitespace
--  while (*startOfMessageData == ' '  || 
--         *startOfMessageData == '\n' || 
--         *startOfMessageData == '\r' || 
-+  while (*startOfMessageData == ' '  ||
-+         *startOfMessageData == '\n' ||
-+         *startOfMessageData == '\r' ||
-          *startOfMessageData == '\t')
-     ++startOfMessageData;
- 
-   NS_NAMED_LITERAL_CSTRING(kBogusFromLine, "From \n");
-   NS_NAMED_LITERAL_CSTRING(kEndOfMessage, "\n\n");
- 
-   // write the bogus "From " line which is a magic separator in the mbox format
-   rv = aOut->Write(kBogusFromLine.get(), kBogusFromLine.Length(), &actualBytesWritten);
-@@ -177,39 +177,39 @@ nsresult nsEmlxHelperUtils::AddEmlxMessa
-     return rv;
-   }
- 
-   rv = aOut->Write(buf.get(), buf.Length(), &dummyRv);
-   if (NS_FAILED(rv)) {
-     [pool release];
-     return rv;
-   }
--  
--  // write out X-Mozilla-Keywords header as well to reserve some space for it 
-+
-+  // write out X-Mozilla-Keywords header as well to reserve some space for it
-   // in the mbox file.
-   rv = aOut->Write(X_MOZILLA_KEYWORDS, X_MOZILLA_KEYWORDS_LEN, &dummyRv);
-   if (NS_FAILED(rv)) {
-     [pool release];
-     return rv;
-   }
--  
-+
-   // write out empty X-Mozilla_status2 header
-   buf.Adopt(PR_smprintf(X_MOZILLA_STATUS2_FORMAT MSG_LINEBREAK, 0));
-   NS_ASSERTION(!buf.IsEmpty(), "printf error with X-Mozilla-Status2 header");
-   if (buf.IsEmpty()) {
-     [pool release];
-     return NS_ERROR_OUT_OF_MEMORY;
-   }
- 
-   rv = aOut->Write(buf.get(), buf.Length(), &dummyRv);
-   if (NS_FAILED(rv)) {
-     [pool release];
-     return rv;
-   }
--  
-+
-   // do any conversion needed for the mbox data to be valid mboxrd.
-   nsCString convertedData;
-   rv = ConvertToMboxRD(startOfMessageData, (startOfMessageData + numberOfBytesToRead), convertedData);
-   if (NS_FAILED(rv)) {
-     [pool release];
-     return rv;
-   }
- 
-diff --git a/mailnews/import/content/fieldMapImport.xul b/mailnews/import/content/fieldMapImport.xul
---- a/mailnews/import/content/fieldMapImport.xul
-+++ b/mailnews/import/content/fieldMapImport.xul
-@@ -1,14 +1,14 @@
--<?xml version="1.0"?> 
-+<?xml version="1.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/. -->
- 
--<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?> 
-+<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
- 
- <!DOCTYPE dialog SYSTEM "chrome://messenger/locale/fieldMapImport.dtd">
- 
- <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-         buttons="accept,cancel"
-         title="&fieldMapImport.title;"
-         style="&fieldMapImport.size;"
-         ondialogaccept="FieldImportOKButton();"
-@@ -18,19 +18,19 @@
- 
-   <hbox align="center">
-     <label value="&fieldMapImport.recordNumber;"/>
-     <label id="recordNumber"/>
-     <spacer flex="1"/>
-     <button id="previous" oncommand="Browse(-1);"
-             label="&fieldMapImport.previous.label;"
-             accesskey="&fieldMapImport.previous.accesskey;"/>
--    <button id="next" oncommand="Browse(1);" 
-+    <button id="next" oncommand="Browse(1);"
-             label="&fieldMapImport.next.label;"
--            accesskey="&fieldMapImport.next.accesskey;"/>      
-+            accesskey="&fieldMapImport.next.accesskey;"/>
-   </hbox>
- 
-   <hbox align="center">
-     <checkbox id="skipFirstRecord"
-               label="&fieldMapImport.skipFirstRecord.label;"
-               accesskey="&fieldMapImport.skipFirstRecord.accessKey;"/>
-   </hbox>
- 

+ 0 - 171
comm-esr60/comm-esr60/patches/1399756-23-61a1.patch

@@ -1,171 +0,0 @@
-
-# HG changeset patch
-# User Jorg K <jorgk@jorgk.com>
-# Date 1521301300 -3600
-# Node ID cb4a952a64c3622866c490eb2c6c04f96951d624
-# Parent  a95cfda5aeb85d0c310fe03f93379a1b6d108089
-Bug 1399756 - convert line endings in feedAccountWizard.xul. rs=white-space-only
-[skip-blame]
-
-diff --git a/mailnews/extensions/newsblog/content/feedAccountWizard.xul b/mailnews/extensions/newsblog/content/feedAccountWizard.xul
---- a/mailnews/extensions/newsblog/content/feedAccountWizard.xul
-+++ b/mailnews/extensions/newsblog/content/feedAccountWizard.xul
-@@ -1,79 +1,79 @@
--<?xml version="1.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/. -->
--
--<?xml-stylesheet href="chrome://messenger/skin/accountWizard.css" type="text/css"?>
--
--<!DOCTYPE wizard [
--  <!ENTITY %  accountDTD SYSTEM "chrome://messenger/locale/AccountWizard.dtd">
--  %accountDTD;
--  <!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd" >
--  %newsblogDTD;
--  <!ENTITY %       imDTD SYSTEM "chrome://messenger/locale/imAccountWizard.dtd" >
--  %imDTD;
--]>
--
--<wizard id="FeedAccountWizard"
--        title="&feedWindowTitle.label;"
--        onwizardcancel="return FeedAccountWizard.onCancel();"
--        onwizardfinish="return FeedAccountWizard.onFinish();"
--        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
--
--  <script type="application/javascript"
--          src="chrome://messenger-newsblog/content/feedAccountWizard.js"/>
--
--  <!-- Account setup page : User gets a choice to enter a name for the account -->
--  <!-- Defaults : Feed account name -> default string -->
--  <wizardpage id="accountsetuppage"
--              pageid="accountsetuppage"
--              label="&accnameTitle.label;"
--              onpageshow="return FeedAccountWizard.accountSetupPageInit();"
--              onpageadvanced="return FeedAccountWizard.accountSetupPageUnload();">
--    <vbox flex="1">
--      <description>&accnameDesc.label;</description>
--      <separator class="thin"/>
--      <hbox align="center">
--        <label class="label"
--               value="&accnameLabel.label;"
--               accesskey="&accnameLabel.accesskey;"
--               control="prettyName"/>
--        <textbox id="prettyName"
--                 flex="1"
--                 value="&feeds.accountName;"
--                 oninput="FeedAccountWizard.accountSetupPageValidate();"/>
--      </hbox>
--    </vbox>
--  </wizardpage>
--
--  <!-- Done page : Summarizes information collected to create a feed account -->
--  <wizardpage id="done"
--              pageid="done"
--              label="&accountSummaryTitle.label;"
--              onpageshow="return FeedAccountWizard.donePageInit();">
--    <vbox flex="1">
--      <description>&accountSummaryInfo.label;</description>
--      <separator class="thin"/>
--      <grid>
--        <columns>
--          <column/>
--          <column flex="1"/>
--        </columns>
--        <rows>
--          <row id="account.name"
--               align="center">
--            <label id="account.name.label"
--                   class="label"
--                   flex="1"
--                   value="&accnameLabel.label;"/>
--            <label id="account.name.text"
--                   class="label"/>
--          </row>
--        </rows>
--      </grid>
--      <separator/>
--      <spacer flex="1"/>
--    </vbox>
--  </wizardpage>
--
--</wizard>
-+<?xml version="1.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/. -->
-+
-+<?xml-stylesheet href="chrome://messenger/skin/accountWizard.css" type="text/css"?>
-+
-+<!DOCTYPE wizard [
-+  <!ENTITY %  accountDTD SYSTEM "chrome://messenger/locale/AccountWizard.dtd">
-+  %accountDTD;
-+  <!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd" >
-+  %newsblogDTD;
-+  <!ENTITY %       imDTD SYSTEM "chrome://messenger/locale/imAccountWizard.dtd" >
-+  %imDTD;
-+]>
-+
-+<wizard id="FeedAccountWizard"
-+        title="&feedWindowTitle.label;"
-+        onwizardcancel="return FeedAccountWizard.onCancel();"
-+        onwizardfinish="return FeedAccountWizard.onFinish();"
-+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-+
-+  <script type="application/javascript"
-+          src="chrome://messenger-newsblog/content/feedAccountWizard.js"/>
-+
-+  <!-- Account setup page : User gets a choice to enter a name for the account -->
-+  <!-- Defaults : Feed account name -> default string -->
-+  <wizardpage id="accountsetuppage"
-+              pageid="accountsetuppage"
-+              label="&accnameTitle.label;"
-+              onpageshow="return FeedAccountWizard.accountSetupPageInit();"
-+              onpageadvanced="return FeedAccountWizard.accountSetupPageUnload();">
-+    <vbox flex="1">
-+      <description>&accnameDesc.label;</description>
-+      <separator class="thin"/>
-+      <hbox align="center">
-+        <label class="label"
-+               value="&accnameLabel.label;"
-+               accesskey="&accnameLabel.accesskey;"
-+               control="prettyName"/>
-+        <textbox id="prettyName"
-+                 flex="1"
-+                 value="&feeds.accountName;"
-+                 oninput="FeedAccountWizard.accountSetupPageValidate();"/>
-+      </hbox>
-+    </vbox>
-+  </wizardpage>
-+
-+  <!-- Done page : Summarizes information collected to create a feed account -->
-+  <wizardpage id="done"
-+              pageid="done"
-+              label="&accountSummaryTitle.label;"
-+              onpageshow="return FeedAccountWizard.donePageInit();">
-+    <vbox flex="1">
-+      <description>&accountSummaryInfo.label;</description>
-+      <separator class="thin"/>
-+      <grid>
-+        <columns>
-+          <column/>
-+          <column flex="1"/>
-+        </columns>
-+        <rows>
-+          <row id="account.name"
-+               align="center">
-+            <label id="account.name.label"
-+                   class="label"
-+                   flex="1"
-+                   value="&accnameLabel.label;"/>
-+            <label id="account.name.text"
-+                   class="label"/>
-+          </row>
-+        </rows>
-+      </grid>
-+      <separator/>
-+      <spacer flex="1"/>
-+    </vbox>
-+  </wizardpage>
-+
-+</wizard>

+ 0 - 892
comm-esr60/comm-esr60/patches/1399756-28-61a1.patch

@@ -1,892 +0,0 @@
-
-# HG changeset patch
-# User Jorg K <jorgk@jorgk.com>
-# Date 1521624369 -3600
-# Node ID 2daea21a0ede6ae5016c2faf87d23c60ca8ac21f
-# Parent  5b17dbcf1205f646849ddc5a8913eb0c0ecf2004
-Bug 1399756 - remove trailing spaces in mail/ (.css, .dtd, .properties). rs=white-space-only
-[skip-blame]
-
-diff --git a/mail/components/im/messages/papersheets/Variants/White.css b/mail/components/im/messages/papersheets/Variants/White.css
---- a/mail/components/im/messages/papersheets/Variants/White.css
-+++ b/mail/components/im/messages/papersheets/Variants/White.css
-@@ -1,17 +1,17 @@
- /* 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/. */
- 
--div.outgoing { 
-+div.outgoing {
-   background: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1) 15px, rgba(255, 255, 255, 1) 15px, rgba(255, 255, 255, 1)) !important;
- }
- 
--div.incoming { 
-+div.incoming {
-   background: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1) 15px, rgba(255, 255, 255, 1) 15px, rgba(255, 255, 255, 1)) !important;
- }
- 
- 
- 
- /* used by javascript */
- .outgoing-color {
-   background-color: rgb(255, 255, 255);
-diff --git a/mail/locales/en-US/chrome/messenger-mapi/mapi.properties b/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
---- a/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
-+++ b/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
-@@ -1,28 +1,28 @@
- # 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/.
- 
- # Mail Integration Dialog
- dialogTitle=%S
--dialogText=Do you want to use %S as the default mail application? 
-+dialogText=Do you want to use %S as the default mail application?
- newsDialogText=Do you want to use %S as the default news application?
- feedDialogText=Do you want to use %S as the default feed aggregator?
- checkboxText=Do not display this dialog again
- setDefaultMail=%S is not currently set as your default mail application.  Would you like to make it your default mail application?
- setDefaultNews=%S is not currently set as your default news application.  Would you like to make it your default news application?
- setDefaultFeed=%S is not currently set as your default feed aggregator.  Would you like to make it your default feed aggregator?
- alreadyDefaultMail=%S is already set as your default mail application.
- alreadyDefaultNews=%S is already set as your default news application.
- alreadyDefaultFeed=%S is already set as your default feed aggregator.
- 
- # MAPI Messages
- loginText=Please enter your password for %S:
--loginTextwithName=Please enter your username and password 
-+loginTextwithName=Please enter your username and password
- loginTitle=%S
- PasswordTitle=%S
- 
- # MAPI Error Messages
- errorMessage=%S could not be set as the default mail application because a registry key could not be updated. Verify with your system administrator that you have write access to your system registry, and then try again.
- errorMessageNews=%S could not be set as the default news application because a registry key could not be updated. Verify with your system administrator that you have write access to your system registry, and then try again.
- errorMessageTitle=%S
- 
-diff --git a/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties b/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties
---- a/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties
-+++ b/mail/locales/en-US/chrome/messenger-smime/msgReadSMIMEOverlay.properties
-@@ -3,9 +3,9 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- ImapOnDemand=The displayed message has been digitally signed, but not all its attachments have been downloaded yet. Therefore, the signature cannot be validated. Click OK to download the complete message and validate the signature.
- #
- #NOTE To translator, anything between %..% and <..> should not be translated.
- # the former will be replaced by java script, and the latter is HTML formatting.
- #
- CantDecryptTitle=%brand% cannot decrypt this message
--CantDecryptBody=The sender encrypted this message to you using one of your digital certificates, however %brand% was not able to find this certificate and corresponding private key. <br> Possible solutions: <br><ul><li>If you have a smartcard, please insert it now. <li>If you are using a new machine, or if you are using a new %brand% profile, you will need to restore your certificate and private key from a backup. Certificate backups usually end in ".p12".</ul> 
-+CantDecryptBody=The sender encrypted this message to you using one of your digital certificates, however %brand% was not able to find this certificate and corresponding private key. <br> Possible solutions: <br><ul><li>If you have a smartcard, please insert it now. <li>If you are using a new machine, or if you are using a new %brand% profile, you will need to restore your certificate and private key from a backup. Certificate backups usually end in ".p12".</ul>
-diff --git a/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd b/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
-@@ -31,13 +31,13 @@
- <!ENTITY runFilters.label "Run Now">
- <!ENTITY runFilters.accesskey "R">
- <!ENTITY stopFilters.label "Stop">
- <!ENTITY stopFilters.accesskey "S">
- <!ENTITY folderPickerPrefix.label "Run selected filter(s) on:">
- <!ENTITY folderPickerPrefix.accesskey "c">
- <!ENTITY helpButton.label "Help">
- <!ENTITY helpButton.accesskey "H">
--<!ENTITY closeCmd.key "W"> 
-+<!ENTITY closeCmd.key "W">
- <!ENTITY searchBox.emptyText "Search filters by name…">
- 
- 
- 
-diff --git a/mail/locales/en-US/chrome/messenger/SearchDialog.dtd b/mail/locales/en-US/chrome/messenger/SearchDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/SearchDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/SearchDialog.dtd
-@@ -14,17 +14,17 @@
- <!ENTITY openButton.label            "Open">
- <!ENTITY openButton.accesskey        "n">
- <!ENTITY deleteButton.label          "Delete">
- <!ENTITY deleteButton.accesskey      "D">
- <!ENTITY searchDialogTitle.label     "Search Messages">
- <!ENTITY results.label               "Results">
- <!ENTITY moveButton.label            "Move To">
- <!ENTITY moveButton.accesskey        "T">
--<!ENTITY closeCmd.key                "W"> 
-+<!ENTITY closeCmd.key                "W">
- <!ENTITY openInFolder.label          "Open in Folder">
- <!ENTITY openInFolder.accesskey      "r">
- <!ENTITY saveAsVFButton.label        "Save as Search Folder">
- <!ENTITY saveAsVFButton.accesskey    "v">
- 
- <!-- for ABSearchDialog.xul -->
- <!ENTITY abSearchHeading.label       "Search in:">
- <!ENTITY abSearchHeading.accesskey   "h">
-diff --git a/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties b/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties
---- a/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties
-+++ b/mail/locales/en-US/chrome/messenger/addressbook/addressBook.properties
-@@ -139,23 +139,23 @@ propertyAIM=AIM
- propertyYahoo=Yahoo!
- propertySkype=Skype
- propertyQQ=QQ
- propertyMSN=MSN
- propertyICQ=ICQ
- propertyXMPP=Jabber ID
- propertyIRC=IRC Nick
- 
--## LOCALIZATION NOTE (cityAndStateAndZip): 
-+## LOCALIZATION NOTE (cityAndStateAndZip):
- ## %1$S is city, %2$S is state, %3$S is zip
- cityAndStateAndZip=%1$S, %2$S %3$S
--## LOCALIZATION NOTE (cityAndStateNoZip): 
-+## LOCALIZATION NOTE (cityAndStateNoZip):
- ## %1$S is city, %2$S is state
- cityAndStateNoZip=%1$S, %2$S
--## LOCALIZATION NOTE (cityOrStateAndZip): 
-+## LOCALIZATION NOTE (cityOrStateAndZip):
- ## %1$S is city or state, %2$S is zip
- cityOrStateAndZip=%1$S %2$S
- 
- stateZipSeparator=
- 
- prefixTo=To
- prefixCc=Cc
- prefixBcc=Bcc
-diff --git a/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties b/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties
---- a/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties
-+++ b/mail/locales/en-US/chrome/messenger/addressbook/ldapAutoCompErrs.properties
-@@ -1,15 +1,15 @@
- # 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/.
- 
- # These are error strings for problems that happen while in the
- # various states declared in nsILDAPAutoCompFormatter.idl.  Note that
--# the number that indexes each error state is the same as the number 
-+# the number that indexes each error state is the same as the number
- # corresponding to that state in nsILDAPAutoCompFormatter.idl.
- 
- ## @name ERR_STATE_UNBOUND
- ## @loc none
- 0=LDAP initialization problem
- 
- ## @name ERR_STATE_INITIALIZING
- ## @loc none
-@@ -26,17 +26,17 @@ 3=LDAP server communications problem
- ## @name ERR_STATE_SEARCHING
- ## @loc none
- 4=LDAP server search problem
- 
- 
- # The format of the alert dialog itself
- #
- ## @name ALERT_FORMAT
--## @loc None of %1$S, %2$S and %3$S should be localized. 
-+## @loc None of %1$S, %2$S and %3$S should be localized.
- ##      %1$S is the error code itself, %2$S is an LDAP SDK error message from
- ##      chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating
- ##      to that specific error, found in this file.
- errorAlertFormat=Error code %1$S: %2$S\n\n %3$S
- 
- ## The following errors are for error codes other than LDAP-specific ones.
- ## Someday mozilla will actually have a system for mapping nsresults to
- ## error strings that's actually widely used, unlike nsIErrorService.  But
-diff --git a/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd b/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd
---- a/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd
-+++ b/mail/locales/en-US/chrome/messenger/addressbook/pref-directory-add.dtd
-@@ -33,13 +33,13 @@
- <!ENTITY offlineText.label                 "You can download a local copy of this directory so that it is available for use when you are working offline.">
- <!ENTITY saslMechanism.label               "Login method: ">
- <!ENTITY saslMechanism.accesskey           "m">
- <!ENTITY saslOff.label                     "Simple">
- <!ENTITY saslOff.accesskey                 "l">
- <!ENTITY saslGSSAPI.label                  "Kerberos (GSSAPI)">
- <!ENTITY saslGSSAPI.accesskey              "K">
- 
--<!-- Localization note: this is here because the width of the dialog 
-+<!-- Localization note: this is here because the width of the dialog
-      is determined by the width of the base DN box; and that is likely
-      to vary somewhat with the language.
- -->
- <!ENTITY newDirectoryWidth                 "36em">
-diff --git a/mail/locales/en-US/chrome/messenger/charsetTitles.properties b/mail/locales/en-US/chrome/messenger/charsetTitles.properties
---- a/mail/locales/en-US/chrome/messenger/charsetTitles.properties
-+++ b/mail/locales/en-US/chrome/messenger/charsetTitles.properties
-@@ -2,17 +2,17 @@
- # 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/.
- 
- ## Rule of this file:
- ## 1. key should always be in lower case ascii so we can do case insensitive
- ##    comparison in the code faster.
- 
- ## Format of this file:
--## charset_name.title = a_title  -  specifies the human readable title for 
-+## charset_name.title = a_title  -  specifies the human readable title for
- ## this charset
- 
- iso-8859-1.title    = Western (ISO-8859-1)
- iso-8859-2.title    = Central European (ISO-8859-2)
- iso-8859-3.title    = South European (ISO-8859-3)
- iso-8859-4.title    = Baltic (ISO-8859-4)
- iso-8859-10.title   = Nordic (ISO-8859-10)
- iso-8859-13.title   = Baltic (ISO-8859-13)
-diff --git a/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd b/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd
---- a/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd
-+++ b/mail/locales/en-US/chrome/messenger/configEditorOverlay.dtd
-@@ -1,5 +1,5 @@
- <!-- 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/. -->
- 
--<!ENTITY closeCmd.key "W">
-+<!ENTITY closeCmd.key "W">
-diff --git a/mail/locales/en-US/chrome/messenger/filter.properties b/mail/locales/en-US/chrome/messenger/filter.properties
---- a/mail/locales/en-US/chrome/messenger/filter.properties
-+++ b/mail/locales/en-US/chrome/messenger/filter.properties
-@@ -44,17 +44,17 @@ filterActionOrderExplanation=When a mess
- filterActionOrderTitle=Real action order
- ## LOCALIZATION NOTE(filterActionItem):
- # %1$S=sequence number of the action, %2$S=action text, %3$S=action argument
- filterActionItem=%1$S. %2$S %3$S\n
- 
- ## LOCALIZATION NOTE(filterCountVisibleOfTotal):
- # %1$S=number of matching filters, %2$S=total number of filters
- filterCountVisibleOfTotal=%1$S of %2$S
--## LOCALIZATION NOTE(filterCountItems): 
-+## LOCALIZATION NOTE(filterCountItems):
- ## Semicolon-separated list of singular and plural forms.
- ## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
- ## #1 is the count of items in the list.
- filterCountItems=#1 item; #1 items
- # for junk mail logging / mail filter logging
- # LOCALIZATION NOTE(junkLogDetectStr)
- # %1$S=author, %2$S=subject, %3$S=date
- junkLogDetectStr=Detected junk message from %1$S - %2$S at %3$S
-diff --git a/mail/locales/en-US/chrome/messenger/folderpane.dtd b/mail/locales/en-US/chrome/messenger/folderpane.dtd
---- a/mail/locales/en-US/chrome/messenger/folderpane.dtd
-+++ b/mail/locales/en-US/chrome/messenger/folderpane.dtd
-@@ -1,7 +1,7 @@
- <!-- 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/. -->
--<!ENTITY nameColumn.label   "Name"> 
--<!ENTITY unreadColumn.label "Unread"> 
--<!ENTITY totalColumn.label "Total"> 
--<!ENTITY folderSizeColumn.label "Size"> 
-+<!ENTITY nameColumn.label   "Name">
-+<!ENTITY unreadColumn.label "Unread">
-+<!ENTITY totalColumn.label "Total">
-+<!ENTITY folderSizeColumn.label "Size">
-diff --git a/mail/locales/en-US/chrome/messenger/imapMsgs.properties b/mail/locales/en-US/chrome/messenger/imapMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/imapMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/imapMsgs.properties
-@@ -138,22 +138,22 @@ imapEnterPasswordPromptTitle=Mail Server
- 
- imapUnknownHostError=Failed to connect to server %S.
- imapOAuth2Error=Authentication failure while connecting to server %S.
- 
- imapConnectionRefusedError=Could not connect to mail server %S; the connection was refused.
- 
- imapNetTimeoutError=Connection to server %S timed out.
- 
--# Status - no messages to download 
-+# Status - no messages to download
- imapNoNewMessages=There are no new messages on the server.
- 
- imapDefaultAccountName=Mail for %S
- 
--imapSpecialChar2=The %S character is reserved on this imap server. Please choose another name. 
-+imapSpecialChar2=The %S character is reserved on this imap server. Please choose another name.
- 
- imapPersonalSharedFolderTypeName=Personal Folder
- 
- imapPublicFolderTypeName=Public Folder
- 
- imapOtherUsersFolderTypeName=Other User's Folder
- 
- imapPersonalFolderTypeDescription=This is a personal mail folder.  It is not shared.
-@@ -234,20 +234,20 @@ imapAuthChangePlainToEncrypt=The IMAP se
- imapAuthChangeEncryptToPlainNoSSL=The IMAP server %S does not seem to support encrypted passwords. If you just set up the account, please try changing to 'Password, transmitted insecurely' as the 'Authentication method' in the 'Account Settings | Server settings'. If it used to work and now suddenly fails, this is a common scenario how someone could steal your password.
- 
- # LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
- imapAuthMechNotSupported=The IMAP server %S does not support the selected authentication method. Please change the 'Authentication method' in the 'Account Settings | Server settings'.
- 
- # LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
- imapAuthGssapiFailed=The Kerberos/GSSAPI ticket was not accepted by the IMAP server %S. Please check that you are logged in to the Kerberos/GSSAPI realm.
- 
--# LOCALIZATION NOTE (imapServerCommandFailed): 
-+# LOCALIZATION NOTE (imapServerCommandFailed):
- # Place the word %1$S in your translation where the name of the account name should appear.
- # Place the word %2$S in your translation where the server response should appear.
--imapServerCommandFailed=The current command did not succeed. The mail server for account %1$S responded: %2$S 
-+imapServerCommandFailed=The current command did not succeed. The mail server for account %1$S responded: %2$S
- 
- # LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below.
- # Place the word %1$S in your translation where the name of the account should appear.
- # Place the word %2$S in your translation where the name of the folder should appear.
- # Place the word %3$S in your translation where the server response should appear.
- imapFolderCommandFailed=The current operation on '%2$S' did not succeed. The mail server for account %1$S responded: %3$S
- 
- # LOCALIZATION NOTE (imapServerAlert):
-diff --git a/mail/locales/en-US/chrome/messenger/importDialog.dtd b/mail/locales/en-US/chrome/messenger/importDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/importDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/importDialog.dtd
-@@ -1,17 +1,17 @@
- <!-- 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/. -->
- 
- <!--
--LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of 
--Netscape Communicator, Please translate using the brandname in respective 
-+LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of
-+Netscape Communicator, Please translate using the brandname in respective
- languages for Netscape Communicator 4 releases.
--LOCALIZATION NOTE : Do not translate any of the occurrences of the word 
-+LOCALIZATION NOTE : Do not translate any of the occurrences of the word
- "&brandShortName;" below.
- -->
- 
- <!ENTITY importDialog.windowTitle "Import">
- <!ENTITY importAll.label          "Import Everything">
- <!ENTITY importAll.accesskey      "E">
- <!ENTITY importMail.label         "Mail">
- <!ENTITY importMail.accesskey     "M">
-diff --git a/mail/locales/en-US/chrome/messenger/importMsgs.properties b/mail/locales/en-US/chrome/messenger/importMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/importMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/importMsgs.properties
-@@ -1,13 +1,13 @@
- # 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 following are used by the import code to display status/error 
-+# The following are used by the import code to display status/error
- # and informational messages
- 
- # Success message when no address books are found to import
- ## @name IMPORT_NO_ADDRBOOKS
- ## @loc None
- 2000=No address books were found to import.
- 
- # Error: Address book import not initialized		
-diff --git a/mail/locales/en-US/chrome/messenger/localMsgs.properties b/mail/locales/en-US/chrome/messenger/localMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/localMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/localMsgs.properties
-@@ -61,33 +61,33 @@ pop3UsernameFailure=Sending of username 
- pop3PasswordFailed=Sending of password for user %1$S did not succeed.
- 
- # Status - write error occurred
- pop3MessageWriteError=Unable to write the email to the mailbox. Make sure the file system allows you write privileges, and you have enough disk space to copy the mailbox.
- 
- # Status - retr failure from the server
- pop3RetrFailure=The RETR command did not succeed. Error retrieving a message.
- 
--# Status - password undefined 
-+# Status - password undefined
- pop3PasswordUndefined=Error getting mail password.
- 
--# Status - username undefined 
-+# Status - username undefined
- pop3UsernameUndefined=You have not supplied a username for this server.  Please provide one in the account setup menu and try again.
- 
- # Status - list failure
- pop3ListFailure=The LIST command did not succeed. Error getting the ID and size of a message.
- 
--# Status - delete error 
-+# Status - delete error
- pop3DeleFailure=The DELE command did not succeed. Error marking a message as deleted.
- 
- # Status - stat failed
- pop3StatFail=The STAT command did not succeed. Error getting message number and sizes.
- 
- #LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
--pop3ServerSaid= Mail server %S responded: 
-+pop3ServerSaid= Mail server %S responded:
- 
- copyingMessagesStatus=Copying %S of %S messages to %S
- 
- movingMessagesStatus=Moving %S of %S messages to %S
- 
- # Status - pop3 server or folder busy
- # LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below.
- # Place %S where the account name should appear.
-diff --git a/mail/locales/en-US/chrome/messenger/mailOverlay.dtd b/mail/locales/en-US/chrome/messenger/mailOverlay.dtd
---- a/mail/locales/en-US/chrome/messenger/mailOverlay.dtd
-+++ b/mail/locales/en-US/chrome/messenger/mailOverlay.dtd
-@@ -1,11 +1,11 @@
- <!-- 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/. -->
- 
- <!ENTITY  newMessageCmd2.key              "N">
- <!ENTITY  newMessageCmd.key               "M">
- <!ENTITY  newMessageCmd.label             "Message">
- <!ENTITY  newMessageCmd.accesskey         "m">
-- 
-+
- <!ENTITY  newContactCmd.label             "Address Book Contact…">
- <!ENTITY  newContactCmd.accesskey         "C">
-diff --git a/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd b/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
---- a/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
-+++ b/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
-@@ -1,13 +1,13 @@
- <!-- 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/. -->
- 
- <!-- address labels -->
- <!--LOCALIZATION NOTE addressingWidgetOverlay.dtd The basic mail/news composition headers as they are seen in UI -->
--<!ENTITY toAddr.label   "To:"> 
--<!ENTITY ccAddr.label   "Cc:"> 
--<!ENTITY bccAddr.label  "Bcc:"> 
--<!ENTITY replyAddr.label   "Reply-To:"> 
--<!ENTITY newsgroupsAddr.label   "Newsgroup:"> 
--<!ENTITY followupAddr.label   "Followup-To:"> 
-+<!ENTITY toAddr.label   "To:">
-+<!ENTITY ccAddr.label   "Cc:">
-+<!ENTITY bccAddr.label  "Bcc:">
-+<!ENTITY replyAddr.label   "Reply-To:">
-+<!ENTITY newsgroupsAddr.label   "Newsgroup:">
-+<!ENTITY followupAddr.label   "Followup-To:">
- 
-diff --git a/mail/locales/en-US/chrome/messenger/messengercompose/askSendFormat.properties b/mail/locales/en-US/chrome/messenger/messengercompose/askSendFormat.properties
---- a/mail/locales/en-US/chrome/messenger/messengercompose/askSendFormat.properties
-+++ b/mail/locales/en-US/chrome/messenger/messengercompose/askSendFormat.properties
-@@ -1,8 +1,8 @@
- # 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/.
- 
--convertibleYes=Your message can be converted to plain text without losing information.
--convertibleAltering=Your message can be converted to plain text without losing important information. However, the plain text version might look different from what you saw in the composer.
--convertibleNo=However, you used formatting (e.g. colors) that will not be converted to plain text.
--recommended=(recommended)
-+convertibleYes=Your message can be converted to plain text without losing information.
-+convertibleAltering=Your message can be converted to plain text without losing important information. However, the plain text version might look different from what you saw in the composer.
-+convertibleNo=However, you used formatting (e.g. colors) that will not be converted to plain text.
-+recommended=(recommended)
-diff --git a/mail/locales/en-US/chrome/messenger/mime.properties b/mail/locales/en-US/chrome/messenger/mime.properties
---- a/mail/locales/en-US/chrome/messenger/mime.properties
-+++ b/mail/locales/en-US/chrome/messenger/mime.properties
-@@ -8,129 +8,129 @@
- 
- # Mail subject
- ## @name MIME_MHTML_SUBJECT
- ## @loc None
- 1000=Subject
- 
- # Resent-Comments
- ## @name MIME_MHTML_RESENT_COMMENTS
--## @loc 
-+## @loc
- 1001=Resent-Comments
- 
- # Resent-Date
- ## @name MIME_MHTML_RESENT_DATE
--## @loc 
-+## @loc
- 1002=Resent-Date
- 
- # Resent-Sender
- ## @name MIME_MHTML_RESENT_SENDER
--## @loc 
-+## @loc
- 1003=Resent-Sender
- 
- # Resent-From
- ## @name MIME_MHTML_RESENT_FROM
--## @loc 
-+## @loc
- 1004=Resent-From
- 
- # Resent-To
- ## @name MIME_MHTML_RESENT_TO
--## @loc 
-+## @loc
- 1005=Resent-To
- 
- # Resent-CC
- ## @name MIME_MHTML_RESENT_CC
--## @loc 
-+## @loc
- 1006=Resent-CC
- 
- # Date
- ## @name MIME_MHTML_DATE
--## @loc 
-+## @loc
- 1007=Date
- 
- # Sender
- ## @name MIME_MHTML_SENDER
--## @loc 
-+## @loc
- 1008=Sender
- 
- # From
- ## @name MIME_MHTML_FROM
--## @loc 
-+## @loc
- 1009=From
- 
- # Reply-To
- ## @name MIME_MHTML_REPLY_TO
--## @loc 
-+## @loc
- 1010=Reply-To
- 
- # Organization
- ## @name MIME_MHTML_ORGANIZATION
--## @loc 
-+## @loc
- 1011=Organization
- 
- # To
- ## @name MIME_MHTML_TO
--## @loc 
-+## @loc
- 1012=To
- 
- # CC
- ## @name MIME_MHTML_CC
--## @loc 
-+## @loc
- 1013=CC
- 
- # Newsgroups
- ## @name MIME_MHTML_NEWSGROUPS
--## @loc 
-+## @loc
- 1014=Newsgroups
- 
- # Followup-To
- ## @name MIME_MHTML_FOLLOWUP_TO
--## @loc 
-+## @loc
- 1015=Followup-To
- 
- # References
- ## @name MIME_MHTML_REFERENCES
--## @loc 
-+## @loc
- 1016=References
- 
- # Message ID
- ## @name MIME_MHTML_MESSAGE_ID
--## @loc 
-+## @loc
- 1021=Message-ID
- 
- # BCC
- ## @name MIME_MHTML_BCC
--## @loc 
-+## @loc
- 1023=BCC
- 
- # Link to doc
- ## @name MIME_MSG_LINK_TO_DOCUMENT
--## @loc 
-+## @loc
- 1026=Link to Document
- 
- # Get Doc info
- ## @name MIME_MSG_DOCUMENT_INFO
--## @loc 
-+## @loc
- 1027=<B>Document Info:</B>
- 
- # Msg Attachment
- ## @name MIME_MSG_ATTACHMENT
--## @loc 
-+## @loc
- 1028=Attachment
- 
- # default attachment name
- ## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME
--## @loc 
-+## @loc
- # LOCALIZATION NOTE (1040): Do not translate "%s" below.
- # Place the %s where you wish the part number of the attachment to appear
- 1040=Part %s
- 
- # default forwarded message prefix
- ## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
--## @loc 
-+## @loc
- 1041=-------- Original Message --------
- 
- # Partial Message Truncated
- ## @name MIME_MSG_PARTIAL_TRUNCATED
- ## @loc
- MIME_MSG_PARTIAL_TRUNCATED=Truncated!
- 
- # Partial Message Truncated Explanation
-diff --git a/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd b/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/newFolderDialog.dtd
-@@ -1,12 +1,12 @@
- <!-- 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/. -->
--   
-+
- <!-- Labels -->
- <!ENTITY newFolderDialog.title      "New Folder">
- <!ENTITY name.label                 "Name:">
- <!ENTITY name.accesskey             "n">
- <!ENTITY description.label          "Create as a subfolder of:">
- <!ENTITY description.accesskey      "c">
- <!ENTITY folderRestriction1.label   "This server restricts folders to two special kinds.">
- <!ENTITY folderRestriction2.label   "Allow your new folder to contain:">
-diff --git a/mail/locales/en-US/chrome/messenger/news.properties b/mail/locales/en-US/chrome/messenger/news.properties
---- a/mail/locales/en-US/chrome/messenger/news.properties
-+++ b/mail/locales/en-US/chrome/messenger/news.properties
-@@ -33,17 +33,17 @@ autoUnsubscribeText=The newsgroup %1$S d
- 
- # LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
- autoSubscribeText=Would you like to subscribe to %1$S?
- 
- # LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
- # Error - server error
- ## @name NNTP_ERROR_MESSAGE
- ## @loc None
---304=A News (NNTP) error occurred:  
-+-304=A News (NNTP) error occurred:
- 
- # Error - newsgroup scan error
- ## @name NNTP_NEWSGROUP_SCAN_ERROR
- ## @loc None
- -305=A News error occurred.  The scan of all newsgroups is incomplete.  Try to View All Newsgroups again
- 
- # Error - NNTP authinfo failure
- ## @name NNTP_AUTH_FAILED
-diff --git a/mail/locales/en-US/chrome/messenger/oeImportMsgs.properties b/mail/locales/en-US/chrome/messenger/oeImportMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/oeImportMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/oeImportMsgs.properties
-@@ -1,14 +1,14 @@
- # 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 following are used by the outlook express import code to display status/error 
-+# The following are used by the outlook express import code to display status/error
- # and informational messages
- #
- 
- # Short name of import module
- ## @name OEIMPORT_NAME
- ## @loc None
- ## LOCALIZATION NOTE (2000): DONT_TRANSLATE
- 2000=Outlook Express
-diff --git a/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties b/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/outlookImportMsgs.properties
-@@ -1,14 +1,14 @@
- # 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 following are used by the outlook express import code to display status/error 
-+# The following are used by the outlook express import code to display status/error
- # and informational messages
- #
- 
- # Short name of import module
- ## @name OUTLOOKIMPORT_NAME
- ## @loc None
- ## LOCALIZATION NOTE (2000): DONT_TRANSLATE
- 2000=Outlook
-diff --git a/mail/locales/en-US/chrome/messenger/prefs.properties b/mail/locales/en-US/chrome/messenger/prefs.properties
---- a/mail/locales/en-US/chrome/messenger/prefs.properties
-+++ b/mail/locales/en-US/chrome/messenger/prefs.properties
-@@ -40,19 +40,19 @@ confirmDeferAccountTitle=Defer Account?
- directoryAlreadyUsedByOtherAccount=The directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
- directoryParentUsedByOtherAccount=A parent directory of the directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
- directoryChildUsedByOtherAccount=A subdirectory of the directory specified in the Local Directory setting is already used by the "%S" account. Please pick a different directory.
- #Provide default example values for sample email address
- exampleEmailUserName=user
- exampleEmailDomain=example.net
- emailFieldText=Email Address:
- #LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
--defaultEmailText=Enter your email address. This is the address others will use to send email to you (for example, "%1$S@%2$S"). 
-+defaultEmailText=Enter your email address. This is the address others will use to send email to you (for example, "%1$S@%2$S").
- #LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username
--customizedEmailText=Enter your %1$S %2$S (for example, if your %1$S email address is "%3$S", your %2$S is "%4$S"). 
-+customizedEmailText=Enter your %1$S %2$S (for example, if your %1$S email address is "%3$S", your %2$S is "%4$S").
- 
- # account manager stuff
- prefPanel-server=Server Settings
- prefPanel-copies=Copies & Folders
- prefPanel-synchronization=Synchronization & Storage
- prefPanel-diskspace=Disk Space
- prefPanel-addressing=Composition & Addressing
- prefPanel-junk=Junk Settings
-diff --git a/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd b/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/renameFolderDialog.dtd
-@@ -1,9 +1,9 @@
- <!-- 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/. -->
--   
-+
- <!ENTITY renameFolderDialog.title          "Rename Folder">
- <!ENTITY rename.label                      "Enter the new name for your folder:">
- <!ENTITY rename.accesskey                  "E">
- <!ENTITY accept.label                      "Rename">
- <!ENTITY accept.accesskey                  "R">
-diff --git a/mail/locales/en-US/chrome/messenger/search-operators.properties b/mail/locales/en-US/chrome/messenger/search-operators.properties
---- a/mail/locales/en-US/chrome/messenger/search-operators.properties
-+++ b/mail/locales/en-US/chrome/messenger/search-operators.properties
-@@ -5,17 +5,17 @@
- 0=contains
- 1=doesn't contain
- 2=is
- 3=isn't
- 4=is empty
- 
- 5=is before
- 6=is after
--    
-+  
- 7=is higher than
- 8=is lower than
- 
- 9=begins with
- 10=ends with
- 
- 11=sounds like
- 12=LdapDwim
-diff --git a/mail/locales/en-US/chrome/messenger/shutdownWindow.properties b/mail/locales/en-US/chrome/messenger/shutdownWindow.properties
---- a/mail/locales/en-US/chrome/messenger/shutdownWindow.properties
-+++ b/mail/locales/en-US/chrome/messenger/shutdownWindow.properties
-@@ -1,10 +1,10 @@
- # 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/.
- 
- 
- # These strings are loaded and represented by the XUL dialog.
- shutdownDialogTitle=Shutdown Progress Window
--taskProgress=Processing %1$S of %2$S Tasks 
-+taskProgress=Processing %1$S of %2$S Tasks
- 
- # These strings are loaded by the individual shutdown tasks.
-diff --git a/mail/locales/en-US/chrome/messenger/smime.properties b/mail/locales/en-US/chrome/messenger/smime.properties
---- a/mail/locales/en-US/chrome/messenger/smime.properties
-+++ b/mail/locales/en-US/chrome/messenger/smime.properties
-@@ -2,12 +2,12 @@
- # 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 following are used by the smime content type handler
- #
- 
- ## @name NS_MSG_UNABLE_TO_OPEN_FILE
--## LOCALIZATION NOTE: the text can contain HTML tags. 
-+## LOCALIZATION NOTE: the text can contain HTML tags.
- 1000=This is an <B>ENCRYPTED</B> or <B>SIGNED</B> message.<br> This Mail application does not support encrypted or signed mail.
- 
- 
-diff --git a/mail/locales/en-US/chrome/messenger/subscribe.dtd b/mail/locales/en-US/chrome/messenger/subscribe.dtd
---- a/mail/locales/en-US/chrome/messenger/subscribe.dtd
-+++ b/mail/locales/en-US/chrome/messenger/subscribe.dtd
-@@ -11,12 +11,12 @@
- <!ENTITY newGroupsTab.accesskey       "N">
- <!ENTITY refreshButton.label          "Refresh">
- <!ENTITY refreshButton.accesskey      "R">
- <!ENTITY stopButton.label             "Stop">
- <!ENTITY stopButton.accesskey         "T">
- <!ENTITY server.label                 "Account:">
- <!ENTITY server.accesskey             "A">
- <!ENTITY subscribedHeader.label       "Subscribe">
--<!-- commenting out until bug 38906 is fixed 
-+<!-- commenting out until bug 38906 is fixed
- <!ENTITY messagesHeader.label         "Messages"> -->
- <!ENTITY namefield.label              "Show items that contain:">
- <!ENTITY namefield.accesskey          "O">
-diff --git a/mail/locales/en-US/chrome/messenger/textImportMsgs.properties b/mail/locales/en-US/chrome/messenger/textImportMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/textImportMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/textImportMsgs.properties
-@@ -1,14 +1,14 @@
- # 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 following are used by the outlook express import code to display status/error 
-+# The following are used by the outlook express import code to display status/error
- # and informational messages
- #
- 
- # Short name of import module
- ## @name TEXTIMPORT_NAME
- ## @loc None
- 2000=Text file (LDIF, .tab, .csv, .txt)
- 
-diff --git a/mail/locales/en-US/chrome/mozldap/ldap.properties b/mail/locales/en-US/chrome/mozldap/ldap.properties
---- a/mail/locales/en-US/chrome/mozldap/ldap.properties
-+++ b/mail/locales/en-US/chrome/mozldap/ldap.properties
-@@ -1,9 +1,9 @@
--# 
-+#
- # 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 following two strings are used when prompting the user for authentication
- # information:
- 
- ## @name AUTH_PROMPT_TITLE
-@@ -11,17 +11,17 @@
- authPromptTitle=LDAP Server Password Required
- 
- ## @name AUTH_PROMPT_TEXT
- ## @loc %1$S should not be localized.  It is the hostname of the LDAP server.
- authPromptText=Please enter your password for %1$S.
- 
- # These are string versions of all the errors defined in
- # nsILDAPErrors.idl, as well as the nsresult codes based on those
--# errors.  See that file for the genesis of these codes, as well as 
-+# errors.  See that file for the genesis of these codes, as well as
- # for info about how to get documentation about their precise
- # meanings.
- 
- ## @name OPERATIONS_ERROR
- ## @loc none
- 1=Operations error
- 
- ## @name PROTOCOL_ERROR
-diff --git a/mail/test/resources/mozmill/mozmill/extension/locale/en-US/mozmill.dtd b/mail/test/resources/mozmill/mozmill/extension/locale/en-US/mozmill.dtd
---- a/mail/test/resources/mozmill/mozmill/extension/locale/en-US/mozmill.dtd
-+++ b/mail/test/resources/mozmill/mozmill/extension/locale/en-US/mozmill.dtd
-@@ -1,3 +1,3 @@
--<!ENTITY title.label "MozMill IDE">
--<!ENTITY separate.label "This is a separate window!">
-+<!ENTITY title.label "MozMill IDE">
-+<!ENTITY separate.label "This is a separate window!">
- <!ENTITY close.label "Close">
-\ No newline at end of file
-diff --git a/mail/themes/osx/mail/customizeToolbar.css b/mail/themes/osx/mail/customizeToolbar.css
---- a/mail/themes/osx/mail/customizeToolbar.css
-+++ b/mail/themes/osx/mail/customizeToolbar.css
-@@ -15,17 +15,17 @@
- 
- #main-box {
-   padding: 12px;
- }
- 
- #main-box > separator {
-   -moz-appearance: none;
-   border-bottom: none;
--} 
-+}
- 
- #instructions {
-   font: menu;
-   font-weight: bold;
-   line-height: 16pt;
- }
- 
- hbox button {

+ 0 - 167
comm-esr60/comm-esr60/patches/1399756-29-61a1.patch

@@ -1,167 +0,0 @@
-
-# HG changeset patch
-# User Onno Ekker <o.e.ekker@gmail.com>
-# Date 1522804620 -7200
-# Node ID c75dc9554a4f39635e79e540cd06180d9bb80fa9
-# Parent  5799dc90be07b74987dc165e0c515be7d4caff21
-Bug 1399756 - Remove some trailing empty lines in .properties and .dtd files in mail/. r=jorgk
-
-diff --git a/mail/locales/en-US/chrome/messenger-mapi/mapi.properties b/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
---- a/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
-+++ b/mail/locales/en-US/chrome/messenger-mapi/mapi.properties
-@@ -28,9 +28,8 @@ errorMessageTitle=%S
- 
- # MAPI Security Messages
- mapiBlindSendWarning=Another application is attempting to send mail using your user profile. Are you sure you want to send mail?
- mapiBlindSendDontShowAgain=Warn me whenever other applications try to send mail from me
- 
- #Default Mail Display String
- # localization note, %S is the vendor name
- defaultMailDisplayTitle=%S
--
-diff --git a/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd b/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/FilterListDialog.dtd
-@@ -33,11 +33,8 @@
- <!ENTITY stopFilters.label "Stop">
- <!ENTITY stopFilters.accesskey "S">
- <!ENTITY folderPickerPrefix.label "Run selected filter(s) on:">
- <!ENTITY folderPickerPrefix.accesskey "c">
- <!ENTITY helpButton.label "Help">
- <!ENTITY helpButton.accesskey "H">
- <!ENTITY closeCmd.key "W">
- <!ENTITY searchBox.emptyText "Search filters by name…">
--
--
--
-diff --git a/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd b/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd
---- a/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd
-+++ b/mail/locales/en-US/chrome/messenger/addressbook/abMailListDialog.dtd
-@@ -14,9 +14,8 @@
- <!ENTITY ListNickName.accesskey         "N">
- <!ENTITY ListDescription.label          "Description: ">
- <!ENTITY ListDescription.accesskey      "D">
- <!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
- <!ENTITY AddressTitle.label             "Type email addresses to add them to the mailing list:">
- <!ENTITY AddressTitle.accesskey         "m">
- <!ENTITY UpButton.label                 "Move Up">
- <!ENTITY DownButton.label               "Move Down">
--
-diff --git a/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties b/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties
---- a/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties
-+++ b/mail/locales/en-US/chrome/messenger/appleMailImportMsgs.properties
-@@ -13,9 +13,8 @@ ApplemailImportDescription=Import Local 
- ApplemailImportMailboxSuccess=Local messages were successfully imported from %S
- 
- # Error Message
- ApplemailImportMailboxBadparam=An internal error occurred. Importing failed. Try importing again.
- 
- # Error message
- # LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
- ApplemailImportMailboxConverterror=An error occurred while importing messages from %S. Messages were not imported.
--
-diff --git a/mail/locales/en-US/chrome/messenger/glodaFacetView.properties b/mail/locales/en-US/chrome/messenger/glodaFacetView.properties
---- a/mail/locales/en-US/chrome/messenger/glodaFacetView.properties
-+++ b/mail/locales/en-US/chrome/messenger/glodaFacetView.properties
-@@ -174,9 +174,8 @@ glodaFacetView.results.message.recipient
- # When a message has too many recipients, we only show the first few and then
- # display this label to express how many are not displayed.  So if a message
- # has 5 recipients, we might only show the first 3, and then use this label
- # to indicate that there are 2 that are not displayed.  This string can be
- # pluralized; see https://developer.mozilla.org/en/Localization_and_Plurals
- # for details on how to do that. Note that in English, we use the "serial
- # comma", but other languages may not need a leading separator there.
- glodaFacetView.results.message.andOthers=, and #1 other;, and #1 others
--
-diff --git a/mail/locales/en-US/chrome/messenger/mailViewList.dtd b/mail/locales/en-US/chrome/messenger/mailViewList.dtd
---- a/mail/locales/en-US/chrome/messenger/mailViewList.dtd
-+++ b/mail/locales/en-US/chrome/messenger/mailViewList.dtd
-@@ -1,9 +1,8 @@
- <!-- 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/. -->
- 
- <!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
- 
- <!ENTITY mailViewListTitle.label "Customize Message Views">
- <!ENTITY viewName.label "View Name">
--
-diff --git a/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd b/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd
---- a/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd
-+++ b/mail/locales/en-US/chrome/messenger/mailViewSetup.dtd
-@@ -3,9 +3,8 @@
-    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
- 
- <!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
- 
- <!ENTITY mailViewSetupTitle.label "Message View Setup">
- <!ENTITY mailViewHeading.label "Message view name:">
- <!ENTITY mailViewHeading.accesskey "e">
- <!ENTITY searchTermCaption.label "When this view is selected, display only messages that:">
--
-diff --git a/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd b/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
---- a/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
-+++ b/mail/locales/en-US/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
-@@ -5,9 +5,8 @@
- <!-- address labels -->
- <!--LOCALIZATION NOTE addressingWidgetOverlay.dtd The basic mail/news composition headers as they are seen in UI -->
- <!ENTITY toAddr.label   "To:">
- <!ENTITY ccAddr.label   "Cc:">
- <!ENTITY bccAddr.label  "Bcc:">
- <!ENTITY replyAddr.label   "Reply-To:">
- <!ENTITY newsgroupsAddr.label   "Newsgroup:">
- <!ENTITY followupAddr.label   "Followup-To:">
--
-diff --git a/mail/locales/en-US/chrome/messenger/pgpmime.properties b/mail/locales/en-US/chrome/messenger/pgpmime.properties
---- a/mail/locales/en-US/chrome/messenger/pgpmime.properties
-+++ b/mail/locales/en-US/chrome/messenger/pgpmime.properties
-@@ -4,9 +4,8 @@
- 
- #
- # The following are used by the pgpmime content type handler
- #
- 
- # LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags.
- # %S is the url to Enigmail on AMO supplied from preferences.
- pgpMimeNeedsAddon=This is an encrypted OpenPGP message.<br>In order to decrypt this mail, you need to install an <a href="%S">OpenPGP add-on</a>.
--
-diff --git a/mail/locales/en-US/chrome/messenger/preferences/security.dtd b/mail/locales/en-US/chrome/messenger/preferences/security.dtd
---- a/mail/locales/en-US/chrome/messenger/preferences/security.dtd
-+++ b/mail/locales/en-US/chrome/messenger/preferences/security.dtd
-@@ -40,9 +40,8 @@
- <!ENTITY changeMasterPassword.accesskey "C">
- <!ENTITY savedPasswords.label           "Saved Passwords…">
- <!ENTITY savedPasswords.accesskey       "S">
- 
- <!-- Anti Virus -->
- <!ENTITY antiVirus.intro      "&brandShortName; can make it easy for antivirus software to analyze incoming mail messages for viruses before they are stored locally.">
- <!ENTITY antiVirus.label      "Allow antivirus clients to quarantine individual incoming messages">
- <!ENTITY antiVirus.accesskey  "A">
--
-diff --git a/mail/locales/en-US/chrome/messenger/smime.properties b/mail/locales/en-US/chrome/messenger/smime.properties
---- a/mail/locales/en-US/chrome/messenger/smime.properties
-+++ b/mail/locales/en-US/chrome/messenger/smime.properties
-@@ -4,10 +4,8 @@
- 
- #
- # The following are used by the smime content type handler
- #
- 
- ## @name NS_MSG_UNABLE_TO_OPEN_FILE
- ## LOCALIZATION NOTE: the text can contain HTML tags.
- 1000=This is an <B>ENCRYPTED</B> or <B>SIGNED</B> message.<br> This Mail application does not support encrypted or signed mail.
--
--
-diff --git a/mail/locales/en-US/chrome/messenger/viewSource.dtd b/mail/locales/en-US/chrome/messenger/viewSource.dtd
---- a/mail/locales/en-US/chrome/messenger/viewSource.dtd
-+++ b/mail/locales/en-US/chrome/messenger/viewSource.dtd
-@@ -79,9 +79,8 @@ you can use these alternative items. Oth
- <!ENTITY forwardCmd.accesskey "F">
- <!ENTITY goBackCmd.commandKey "[">
- <!ENTITY goForwardCmd.commandKey "]">
- 
- <!ENTITY copyLinkCmd.label "Copy Link Location">
- <!ENTITY copyLinkCmd.accesskey "L">
- <!ENTITY copyEmailCmd.label "Copy Email Address">
- <!ENTITY copyEmailCmd.accesskey "E">
--

+ 0 - 128
comm-esr60/comm-esr60/patches/1399756-30-61a1.patch

@@ -1,128 +0,0 @@
-
-# HG changeset patch
-# User Onno Ekker <o.e.ekker@gmail.com>
-# Date 1522803960 -7200
-# Node ID 5e66a21a7abacdcdf32cf4274dbf919b1c1ec914
-# Parent  628fdcf2cb372f564fc50eebdfeb7a19d5fa42a7
-Bug 1399756 - Fix some white-space issues in .properties and .dtd files in mail/. r=jorgk
-
-diff --git a/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd b/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd
---- a/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd
-+++ b/mail/locales/en-US/chrome/messenger/am-server-advanced.dtd
-@@ -17,15 +17,15 @@
- <!ENTITY personalNamespace.label "Personal namespace:">
- <!ENTITY personalNamespace.accesskey "P">
- <!ENTITY publicNamespace.label "Public (shared):">
- <!ENTITY publicNamespace.accesskey "u">
- <!ENTITY otherUsersNamespace.label "Other Users:">
- <!ENTITY otherUsersNamespace.accesskey "O">
- <!ENTITY overrideNamespaces.label "Allow server to override these namespaces">
- <!ENTITY overrideNamespaces.accesskey "A">
--<!ENTITY pop3DeferringDesc.label "When downloading mail from this account's server, use the following folder to store new messages:" >
-+<!ENTITY pop3DeferringDesc.label "When downloading mail from this account's server, use the following folder to store new messages:">
- <!ENTITY accountInbox.label "Inbox for this account">
- <!ENTITY accountInbox.accesskey "s">
- <!ENTITY deferToServer.label "Inbox for different account">
- <!ENTITY deferToServer.accesskey "d">
- <!ENTITY deferGetNewMail.label "Include this server when getting new mail">
- <!ENTITY deferGetNewMail.accesskey "I">
-diff --git a/mail/locales/en-US/chrome/messenger/am-server-top.dtd b/mail/locales/en-US/chrome/messenger/am-server-top.dtd
---- a/mail/locales/en-US/chrome/messenger/am-server-top.dtd
-+++ b/mail/locales/en-US/chrome/messenger/am-server-top.dtd
-@@ -56,17 +56,17 @@
- <!ENTITY expungeOnExit.label "Clean up (&quot;Expunge&quot;) Inbox on Exit">
- <!ENTITY expungeOnExit.accesskey "E">
- <!ENTITY emptyTrashOnExit.label "Empty Trash on Exit">
- <!ENTITY emptyTrashOnExit.accesskey "x">
- <!ENTITY loginAtStartup.label "Check for new messages at startup">
- <!ENTITY loginAtStartup.accesskey "C">
- <!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency
-     maxMessengerStart.label will be followed by maxMessagesEnd.label with the number
--   of messages between them
-+    of messages between them
- -->
- <!ENTITY maxMessagesStart.label "Ask me before downloading more than">
- <!ENTITY maxMessagesStart.accesskey "m">
- <!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
- <!ENTITY maxMessagesEnd.label "messages">
- <!ENTITY alwaysAuthenticate.label "Always request authentication when connecting to this server">
- <!ENTITY alwaysAuthenticate.accesskey "w">
- <!ENTITY newsrcFilePath.label "newsrc file:">
-diff --git a/mail/locales/en-US/chrome/messenger/converterDialog.properties b/mail/locales/en-US/chrome/messenger/converterDialog.properties
---- a/mail/locales/en-US/chrome/messenger/converterDialog.properties
-+++ b/mail/locales/en-US/chrome/messenger/converterDialog.properties
-@@ -33,9 +33,9 @@ converterDialog.warningForDeferredToAcco
- 
- # LOCALIZATION NOTE (converterDialog.messageForDeferredAccount):
- # %1$S will be replaced by a comma separated list of names of accounts which are being converted.
- # %2$S will be replaced by the format into which the accounts will be converted.
- converterDialog.messageForDeferredAccount=Converting the accounts %1$S to %2$S…
- 
- # LOCALIZATION NOTE (converterDialog.percentDone):
- # %1$S will be replaced by the percentage of conversion that is complete.
--converterDialog.percentDone=%1$S%% done
-\ No newline at end of file
-+converterDialog.percentDone=%1$S%% done
-diff --git a/mail/locales/en-US/chrome/messenger/downloadheaders.dtd b/mail/locales/en-US/chrome/messenger/downloadheaders.dtd
---- a/mail/locales/en-US/chrome/messenger/downloadheaders.dtd
-+++ b/mail/locales/en-US/chrome/messenger/downloadheaders.dtd
-@@ -1,19 +1,19 @@
- <!-- 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/. -->
- 
- <!ENTITY all.label          "Download all headers">
- <!ENTITY all.accesskey      "D">
- <!--LOCALIZATION NOTE (download.label):
-     consider the download.label and headers.label as a single sentence
--   with the number of headers to be downloaded inserted between them:
--   EXAMPLE: "Download" <some number> "headers"
--   Either label could be set to null ("") if required grammatically.
-+    with the number of headers to be downloaded inserted between them:
-+    EXAMPLE: "Download" <some number> "headers"
-+    Either label could be set to null ("") if required grammatically.
- -->
- 
- <!ENTITY download.label     "Download">
- <!ENTITY download.accesskey "o">
- <!--LOCALIZATION NOTE (headers.label): see note for download.label -->
- <!ENTITY headers.label      "headers">
- <!ENTITY headers.accesskey  "h">
- <!ENTITY mark.label         "Mark remaining headers as read">
-diff --git a/mail/locales/en-US/chrome/messenger/messenger.dtd b/mail/locales/en-US/chrome/messenger/messenger.dtd
---- a/mail/locales/en-US/chrome/messenger/messenger.dtd
-+++ b/mail/locales/en-US/chrome/messenger/messenger.dtd
-@@ -866,17 +866,17 @@
- 
- <!-- Quick Search Bar -->
- <!-- LOCALIZATION NOTE (quickSearchCmd.key):
-      This is actually the key used for the global message search box; we have
-      not changed
-   -->
- <!ENTITY quickSearchCmd.key "k">
- <!-- LOCALIZATION NOTE (search.label.base1):
--      This is the base of the empty text for the global search box. We replace
-+     This is the base of the empty text for the global search box. We replace
-      #1 with the contents of the appropriate search.keyLabel.* value for the
-      platform.
-      The goal is to convey to the user that typing in the box will allow them
-      to search for messages globally and that there is a hotkey they can press
-      to get to the box faster. If the global indexer is disabled, the search
-      box will be collapsed and the user will never see this message.
-   -->
- <!ENTITY search.label.base1 "Search #1">
-diff --git a/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd b/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd
---- a/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd
-+++ b/mail/locales/en-US/chrome/messenger/msgSynchronize.dtd
-@@ -15,9 +15,9 @@
- <!ENTITY sendMessage.label "Send Unsent messages">
- <!ENTITY sendMessage.accesskey "S">
- <!ENTITY workOffline.label "Work offline once download and/or sync is complete">
- <!ENTITY workOffline.accesskey "W">
- <!ENTITY selectButton.label "Select…">
- <!ENTITY selectButton.accesskey "E">
- <!ENTITY MsgSelectDesc.label "Choose mail folders and newsgroups for offline use.">
- <!ENTITY MsgSelectInd.label "Download">
--<!ENTITY MsgSelectItems.label "Folders and Newsgroups">
-\ No newline at end of file
-+<!ENTITY MsgSelectItems.label "Folders and Newsgroups">

+ 0 - 458
comm-esr60/comm-esr60/patches/1399756-31-61a1.patch

@@ -1,458 +0,0 @@
-
-# HG changeset patch
-# User Jorg K <jorgk@jorgk.com>
-# Date 1521519660 -3600
-# Node ID 2e84d388d2c6fcd28b0dd03152fcf6945713c502
-# Parent  83ccc8ff5357700b37bc0e95ab9de28a6860ed9d
-Bug 1399756 - fix typos in chat/ using codespell. r=florian
-[skip-blame]
-
-diff --git a/chat/components/src/imAccounts.js b/chat/components/src/imAccounts.js
---- a/chat/components/src/imAccounts.js
-+++ b/chat/components/src/imAccounts.js
-@@ -369,17 +369,17 @@ imAccount.prototype = {
-   _reconnectTimer: null,
-   _startReconnectTimer: function() {
-     if (Services.io.offline) {
-       Cu.reportError("_startReconnectTimer called while offline");
-       return;
-     }
- 
-     /* If the last successful connection is older than 10 seconds, reset the
--       number of reconnection attemps. */
-+       number of reconnection attempts. */
-     const kTimeBeforeSuccessfulConnection = 10;
-     if (this.timeOfLastConnect &&
-         this.timeOfLastConnect + kTimeBeforeSuccessfulConnection * 1000 < Date.now()) {
-       delete this.reconnectAttempt;
-       delete this.timeOfLastConnect;
-     }
- 
-     let timers =
-diff --git a/chat/components/src/imContacts.js b/chat/components/src/imContacts.js
---- a/chat/components/src/imContacts.js
-+++ b/chat/components/src/imContacts.js
-@@ -87,17 +87,17 @@ function getDBConnection()
-     "CREATE INDEX IF NOT EXISTS account_buddy_buddyindex " +
-       "ON account_buddy (buddy_id)"
-   ].forEach(conn.executeSimpleSQL);
- 
-   return conn;
- }
- 
- // Wrap all the usage of DBConn inside a transaction that will be
--// commited automatically at the end of the event loop spin so that
-+// committed automatically at the end of the event loop spin so that
- // we flush buddy list data to disk only once per event loop spin.
- var gDBConnWithPendingTransaction = null;
- Object.defineProperty(this, "DBConn", {
-   configurable: true,
-   enumerable: true,
- 
-   get() {
-     if (gDBConnWithPendingTransaction)
-@@ -1510,17 +1510,17 @@ ContactsService.prototype = {
-       DBConn.createStatement("DELETE FROM accounts WHERE id = :accountId");
-     try {
-       statement.params.accountId = aId;
-       statement.execute();
-     } finally {
-       statement.finalize();
-     }
- 
--    // removing the account from the accounts table is not enought,
-+    // removing the account from the accounts table is not enough,
-     // we need to remove all the associated account_buddy entries too
-     statement = DBConn.createStatement("DELETE FROM account_buddy " +
-                                        "WHERE account_id = :accountId");
-     try {
-       statement.params.accountId = aId;
-       statement.execute();
-     } finally {
-       statement.finalize();
-diff --git a/chat/components/src/test/test_commands.js b/chat/components/src/test/test_commands.js
---- a/chat/components/src/test/test_commands.js
-+++ b/chat/components/src/test/test_commands.js
-@@ -68,17 +68,17 @@ function run_test() {
- 
-   // We test an array of different possible conversations.
-   // cmdlist lists all the available commands for the given conversation.
-   // results is an array which for each testCmd provides an array containing
-   // data with which the return value of _findCommands can be checked. In
-   // particular, the name of the command and whether the first (i.e. preferred)
-   // entry in the returned array of commands is a prpl command. (If the latter
-   // boolean is not given, false is assumed, if the name is not given, that
--  // corresponds to no commmands being returned.)
-+  // corresponds to no commands being returned.)
-   let testData = [
-     {
-       desc: "No conversation argument.",
-       cmdlist: "away, back, busy, dnd, help, offline, raw, say",
-       results: [[], [], ["back"], [], ["back"], ["help"], ["help"], ["offline"], ["offline"]]
-     },
-     {
-       desc: "Disconnected conversation with fakeAccount.",
-diff --git a/chat/content/convbrowser.xml b/chat/content/convbrowser.xml
---- a/chat/content/convbrowser.xml
-+++ b/chat/content/convbrowser.xml
-@@ -754,17 +754,17 @@
-         </body>
-       </method>
- 
-       <method name="browserScroll">
-         <parameter name="event"/>
-         <body>
-           <![CDATA[
-             if (this._scrollingIntoView) {
--              // We have explicitely requested a scrollIntoView, ignore the event
-+              // We have explicitly requested a scrollIntoView, ignore the event.
-               this._scrollingIntoView = false;
-               this._lastScrollHeight = this.scrollHeight;
-               this._lastScrollWidth = this.scrollWidth;
-               return;
-             }
- 
-             if (!("_lastScrollHeight" in this) ||
-                 this._lastScrollHeight != this.scrollHeight ||
-diff --git a/chat/locales/en-US/twitter.properties b/chat/locales/en-US/twitter.properties
---- a/chat/locales/en-US/twitter.properties
-+++ b/chat/locales/en-US/twitter.properties
-@@ -12,18 +12,18 @@ error.tooLong=Status is over 140 charact
- # LOCALIZATION NOTE (error.general, error.retweet, error.delete):
- #   %1$S will be either the error string returned by the twitter server,
- #   in English, inside parenthesis, or the empty string if we have no specific
- #   message for the error.
- #   %2$S is the message that caused the error.
- error.general=An error %1$S occurred while sending: %2$S
- error.retweet=An error %1$S occurred while retweeting: %2$S
- error.delete=An error %1$S occurred while deleting: %2$S
--error.like=An error %1$S occured while liking: %2$S
--error.unlike=An error %1$S occured while unliking: %2$S
-+error.like=An error %1$S occurred while liking: %2$S
-+error.unlike=An error %1$S occurred while unliking: %2$S
- # LOCALIZATION NOTE (error.descriptionTooLong)
- #   %S is the truncated string that was sent to the server.
- error.descriptionTooLong=Description is over the maximum length (160 characters), it was automatically truncated to: %S.
- 
- # LOCALIZATION NOTE (timeline):
- #   This is the title of the conversation tab, %S will be replaced by
- #   @<username>.
- timeline=%S timeline
-diff --git a/chat/modules/imContentSink.jsm b/chat/modules/imContentSink.jsm
---- a/chat/modules/imContentSink.jsm
-+++ b/chat/modules/imContentSink.jsm
-@@ -6,17 +6,17 @@ ChromeUtils.import("resource:///modules/
- 
- this.EXPORTED_SYMBOLS = [
-   "cleanupImMarkup", // used to clean up incoming IMs.
-                      // This will use the global ruleset of acceptable stuff
-                      // except if another (custom one) is provided
-   "createDerivedRuleset", // used to create a ruleset that inherits from the
-                           // default one
-                           // useful if you want to allow or forbid
--                          // an additionnal thing in a specific
-+                          // an additional thing in a specific
-                           // conversation but take into account all
-                           // the other global settings.
-   "addGlobalAllowedTag",
-   "removeGlobalAllowedTag",
-   "addGlobalAllowedAttribute",
-   "removeGlobalAllowedAttribute",
-   "addGlobalAllowedStyleRule",
-   "removeGlobalAllowedStyleRule"
-@@ -271,17 +271,17 @@ function cleanupNode(aNode, aRules, aTex
-       }
- 
-       // we are going to keep this child node, clean up its children
-       cleanupNode(node, aRules, aTextModifiers);
- 
-       // cleanup attributes
-       let attrs = node.attributes;
-       let acceptFunction = function(aAttrRules, aAttr) {
--        // an attribute is always accepted if its rule is true, or conditionnaly
-+        // an attribute is always accepted if its rule is true, or conditionally
-         // accepted if its rule is a function that evaluates to true
-         // if its rule does not exist, it is refused
-           let localName = aAttr.localName;
-           let rule = localName in aAttrRules && aAttrRules[localName];
-           return (rule === true ||
-                   (typeof rule == "function" && rule(aAttr.value)));
-       };
-       for (let j = 0; j < attrs.length; ++j) {
-diff --git a/chat/modules/imSmileys.jsm b/chat/modules/imSmileys.jsm
---- a/chat/modules/imSmileys.jsm
-+++ b/chat/modules/imSmileys.jsm
-@@ -11,17 +11,17 @@ XPCOMUtils.defineLazyGetter(this, "gText
- 
- ChromeUtils.defineModuleGetter(this, "NetUtil",
-                                "resource://gre/modules/NetUtil.jsm");
- 
- this.EXPORTED_SYMBOLS = [
-   "smileImMarkup", // used to add smile:// img tags into IM markup.
-   "smileTextNode", // used to add smile:// img tags to the content of a textnode
-   "smileString", // used to add smile:// img tags into a string without parsing it as HTML. Be sure the string doesn't contain HTML tags.
--  "getSmileRealURI", // used to retrive the chrome URI for a smile:// URI
-+  "getSmileRealURI", // used to retrieve the chrome URI for a smile:// URI
-   "getSmileyList" // used to display a list of smileys in the UI
- ];
- 
- var kEmoticonsThemePref = "messenger.options.emoticonsTheme";
- var kThemeFile = "theme.js";
- 
- Object.defineProperty(this, "gTheme", {
-   configurable: true,
-diff --git a/chat/protocols/irc/ircCommands.jsm b/chat/protocols/irc/ircCommands.jsm
---- a/chat/protocols/irc/ircCommands.jsm
-+++ b/chat/protocols/irc/ircCommands.jsm
-@@ -140,17 +140,17 @@ function simpleCommand(aConv, aCommand, 
-   if (!aParams || !aParams.length)
-     getAccount(aConv).sendMessage(aCommand);
-   else
-     getAccount(aConv).sendMessage(aCommand, aParams);
-   return true;
- }
- 
- // Sends a CTCP message to aTarget using the CTCP command aCommand and aMsg as
--// a CTCP paramter.
-+// a CTCP parameter.
- function ctcpCommand(aConv, aTarget, aCommand, aParams) {
-   return getAccount(aConv).sendCTCPMessage(aTarget, false, aCommand, aParams);
- }
- 
- // Replace the command name in the help string so translators do not attempt to
- // translate it.
- var commands = [
-   {
-diff --git a/chat/protocols/irc/ircDCC.jsm b/chat/protocols/irc/ircDCC.jsm
---- a/chat/protocols/irc/ircDCC.jsm
-+++ b/chat/protocols/irc/ircDCC.jsm
-@@ -24,17 +24,17 @@ function DCCMessage(aMessage, aAccount) 
-   if (params.length < 4) {
-     aAccount.ERROR("Not enough DCC parameters:\n" + JSON.stringify(aMessage));
-     return null;
-   }
- 
-   try {
-     // Address, port and size should be treated as unsigned long, unsigned short
-     // and unsigned long, respectively. The protocol is designed to handle
--    // further arguements, if necessary.
-+    // further arguments, if necessary.
-     message.ctcp.dcc = {
-       type: params[0],
-       argument: params[1],
-       address: Number(params[2]),
-       port: Number(params[3]),
-       size: params.length == 5 ? Number(params[4]) : null,
-       furtherArguments: params.length > 5 ? params.slice(5) : []
-     };
-diff --git a/chat/protocols/irc/ircISUPPORT.jsm b/chat/protocols/irc/ircISUPPORT.jsm
---- a/chat/protocols/irc/ircISUPPORT.jsm
-+++ b/chat/protocols/irc/ircISUPPORT.jsm
-@@ -22,17 +22,17 @@ ChromeUtils.import("resource:///modules/
-  *   <parameter>=<value> or -<value>
-  * The isupport field is added to the message and it has the following fields:
-  *   parameter  What is being configured by this ISUPPORT token.
-  *   useDefault Whether this parameter should be reset to the default value, as
-  *              defined by the RFC.
-  *   value      The new value for the parameter.
-  */
- function isupportMessage(aMessage) {
--  // Seperate the ISUPPORT parameters.
-+  // Separate the ISUPPORT parameters.
-   let tokens = aMessage.params.slice(1, -1);
- 
-   let message = aMessage;
-   message.isupport = {};
- 
-   return tokens.map(function(aToken) {
-     let newMessage = JSON.parse(JSON.stringify(message));
-     newMessage.isupport.useDefault = aToken[0] == "-";
-diff --git a/chat/protocols/irc/ircNonStandard.jsm b/chat/protocols/irc/ircNonStandard.jsm
---- a/chat/protocols/irc/ircNonStandard.jsm
-+++ b/chat/protocols/irc/ircNonStandard.jsm
-@@ -63,17 +63,17 @@ var ircNonStandard = {
-                                _("connection.error.passwordRequired"));
-         }
- 
-         // All done for ZNC.
-         return true;
-       }
- 
-       // Some servers, e.g. irc.umich.edu, use NOTICE during connection
--      // negotation to give directions to users, these MUST be shown to the
-+      // negotiation to give directions to users, these MUST be shown to the
-       // user. If the message starts with ***, we assume it is probably an AUTH
-       // message, which falls through to normal NOTICE processing.
-       // Note that if the user's nick is auth this COULD be a notice directed at
-       // them. For reference: moznet sends Auth (previously sent AUTH), freenode
-       // sends *.
-       let isAuth = target == "auth" && this._nickname.toLowerCase() != "auth";
-       if (!aMessage.params[1].startsWith("***") && !isAuth) {
-         this.getConversation(aMessage.origin)
-diff --git a/chat/protocols/irc/ircUtils.jsm b/chat/protocols/irc/ircUtils.jsm
---- a/chat/protocols/irc/ircUtils.jsm
-+++ b/chat/protocols/irc/ircUtils.jsm
-@@ -227,17 +227,17 @@ function conversationErrorMessage(aAccou
-   let conv = aAccount.getConversation(aMessage.params[1]);
-   conv.writeMessage(aMessage.origin, _(aError, aMessage.params[1],
-                                        aMessage.params[2] || undefined),
-                     {error: true, system: true});
-   delete conv._pendingMessage;
- 
-   // Channels have a couple extra things that can be done to them.
-   if (aAccount.isMUCName(aMessage.params[1])) {
--    // If a value for joining is explictly given, mark it.
-+    // If a value for joining is explicitly given, mark it.
-     if (aJoinFailed)
-       conv.joining = false;
-     // If the conversation cannot be rejoined automatically, delete
-     // chatRoomFields.
-     if (!aRejoinable)
-       delete conv.chatRoomFields;
-   }
- 
-diff --git a/chat/protocols/skype/skype.js b/chat/protocols/skype/skype.js
---- a/chat/protocols/skype/skype.js
-+++ b/chat/protocols/skype/skype.js
-@@ -414,17 +414,17 @@ SkypeAccount.prototype = {
-     if (!refreshToken) {
-       this.ERROR("skypetoken value not found.")
-       this._disconnectWithAuthFailure();
-       return;
-     }
- 
-     // All done!
-     this._skypeToken = refreshToken;
--    this.LOG("Recevied Skype token: " + this._skypeToken);
-+    this.LOG("Received Skype token: " + this._skypeToken);
- 
-     if (this._registrationToken) {
-       // Subscribe to receive particular events.
-       this._subscribe();
-       return;
-     }
- 
-     this.reportConnecting(_("connecting.registrationToken"));
-diff --git a/chat/protocols/twitter/twitter.js b/chat/protocols/twitter/twitter.js
---- a/chat/protocols/twitter/twitter.js
-+++ b/chat/protocols/twitter/twitter.js
-@@ -147,17 +147,17 @@ var GenericTwitterConversation = {
-     let flags = {system: true};
-     if (aIsError)
-       flags.error = true;
-     if (aDate)
-       flags.time = aDate;
-     this.writeMessage("twitter.com", aMessage, flags);
-   },
-   onSentCallback: function(aMsg, aData) {
--    // The conversation may have been unitialized in the time it takes for
-+    // The conversation may have been uninitialized in the time it takes for
-     // the async callback to fire.  Use `_observers` as a proxy for uninit'd.
-     if (!this._observers)
-       return;
- 
-     let tweet = JSON.parse(aData);
-     // The OTR extension requires that the protocol not modify the message
-     // (see the notes at `imIOutgoingMessage`).  That's the contract we made.
-     // Unfortunately, Twitter trims tweets and substitutes links.
-diff --git a/chat/protocols/xmpp/xmpp-authmechs.jsm b/chat/protocols/xmpp/xmpp-authmechs.jsm
---- a/chat/protocols/xmpp/xmpp-authmechs.jsm
-+++ b/chat/protocols/xmpp/xmpp-authmechs.jsm
-@@ -230,17 +230,17 @@ const RFC3454 = {
- [\u{1d552}-\u{1d6a3}]|[\u{1d6a8}-\u{1d7c9}]|[\u{20000}-\u{2a6d6}]|\
- [\u{2f800}-\u{2fa1d}]|[\u{f0000}-\u{ffffd}]|[\u{100000}-\u{10fffd}]"
- };
- 
- // Generates a random nonce and returns a base64 encoded string.
- // aLength in bytes.
- function createNonce(aLength) {
-   // RFC 5802 (5.1): Printable ASCII except ",".
--  // We guarantee a vaild nonce value using base64 encoding.
-+  // We guarantee a valid nonce value using base64 encoding.
-   return btoa(CryptoUtils.generateRandomBytes(aLength));
- }
- 
- // Parses the string of server's response (aChallenge) into an object.
- function parseChallenge(aChallenge) {
-   let attributes = {};
-   aChallenge.split(",").forEach(value => {
-     let match =  /^(\w)=([\s\S]*)$/.exec(value);
-diff --git a/chat/protocols/xmpp/xmpp.jsm b/chat/protocols/xmpp/xmpp.jsm
---- a/chat/protocols/xmpp/xmpp.jsm
-+++ b/chat/protocols/xmpp/xmpp.jsm
-@@ -417,17 +417,17 @@ var XMPPMUCConversationPrototype = {
-       }
-     }
-     else {
-       this._participants.get(nick).onPresenceStanza(aStanza);
-       this.notifyObservers(this._participants.get(nick), "chat-buddy-update");
-     }
-   },
- 
--  /* Called by the account when a messsage is received for this muc */
-+  /* Called by the account when a message is received for this muc */
-   incomingMessage: function(aMsg, aStanza, aDate) {
-     let from = this._account._parseJID(aStanza.attributes["from"]).resource;
-     let id = aStanza.attributes["id"];
-     let flags = {};
-     if (!from) {
-       flags.system = true;
-       from = this.name;
-     }
-@@ -752,17 +752,17 @@ var XMPPConversationPrototype = {
-   /* Perform entity escaping before displaying the message. We assume incoming
-      messages have already been escaped, and will otherwise be filtered. */
-   prepareForDisplaying: function(aMsg) {
-     if (aMsg.outgoing && !aMsg.system)
-       aMsg.displayMessage = TXTToHTML(aMsg.displayMessage);
-     GenericConversationPrototype.prepareForDisplaying.apply(this, arguments);
-   },
- 
--  /* Called by the account when a messsage is received from the buddy */
-+  /* Called by the account when a message is received from the buddy */
-   incomingMessage: function(aMsg, aStanza, aDate) {
-     let from = aStanza.attributes["from"];
-     this._targetResource = this._account._parseJID(from).resource;
-     let flags = {};
-     let error = this._account.parseError(aStanza);
-     if (error) {
-       let norm = this._account.normalize(from);
-       let muc = this._account._mucs.get(norm);
-@@ -2290,17 +2290,17 @@ var XMPPAccountPrototype = {
-     return this._setJID(result.domain, result.node, result.resource);
-   },
- 
-   // Constructs jid as an object from domain, node and resource parts.
-   // The object has properties (node, domain, resource and jid).
-   // aDomain is required, but aNode and aResource are optional.
-   _setJID: function(aDomain, aNode = null, aResource = null) {
-     if (!aDomain)
--      throw "aDomain must have a vaule";
-+      throw "aDomain must have a value";
- 
-     let result = {
-       node: aNode,
-       domain: aDomain.toLowerCase(),
-       resource: aResource
-     };
-     let jid = result.domain;
-     if (result.node) {
-@@ -2659,17 +2659,17 @@ var XMPPAccountPrototype = {
-   _sendVCard: function() {
-     if (!this._connection)
-       return;
- 
-     // We have to download the user's existing vCard before updating it.
-     // This lets us preserve the fields that we don't change or don't know.
-     // Some servers may reject a new vCard if we don't do this first.
-     if (!this.hasOwnProperty("_userVCard")) {
--      // The download of the vCard is asyncronous and will call _sendVCard back
-+      // The download of the vCard is asynchronous and will call _sendVCard back
-       // when the user's vCard has been received.
-       this._downloadUserVCard();
-       return;
-     }
- 
-     // Read the local user icon asynchronously from the disk.
-     // _cacheUserIcon will call _sendVCard back once the icon is ready.
-     if (!this.hasOwnProperty("_cachedUserIcon")) {

+ 0 - 63
comm-esr60/comm-esr60/patches/1399756-33-61a1.patch

@@ -1,63 +0,0 @@
-
-# HG changeset patch
-# User Onno Ekker <o.e.ekker@gmail.com>
-# Date 1522892580 -7200
-# Node ID 9852dfc1567514e130c4167d93c004fc21019809
-# Parent  6e19f2d1a83b14c6c11b065bb3745de767c4fd22
-Bug 1399756 - remove trailing empty lines in editor/. r=jorgk
-
-diff --git a/editor/ui/locales/en-US/chrome/composer/editorSmileyOverlay.dtd b/editor/ui/locales/en-US/chrome/composer/editorSmileyOverlay.dtd
---- a/editor/ui/locales/en-US/chrome/composer/editorSmileyOverlay.dtd
-+++ b/editor/ui/locales/en-US/chrome/composer/editorSmileyOverlay.dtd
-@@ -50,9 +50,8 @@
- <!ENTITY smiley14Cmd.tooltip "Insert an innocent face">
- <!ENTITY smiley15Cmd.label "Cry">
- <!ENTITY smiley15Cmd.accesskey "r">
- <!ENTITY smiley15Cmd.tooltip "Insert a crying face">
- <!ENTITY smiley16Cmd.label "Lips-are-Sealed">
- <!ENTITY smiley16Cmd.accesskey "a">
- <!ENTITY smiley16Cmd.tooltip "Insert a lips-are-sealed face">
- <!ENTITY SmileButton.tooltip "Insert a smiley face">
--
-diff --git a/editor/ui/locales/en-US/chrome/composer/pref-editing.dtd b/editor/ui/locales/en-US/chrome/composer/pref-editing.dtd
---- a/editor/ui/locales/en-US/chrome/composer/pref-editing.dtd
-+++ b/editor/ui/locales/en-US/chrome/composer/pref-editing.dtd
-@@ -24,9 +24,8 @@
- <!ENTITY background.label           "Background:">
- <!ENTITY background.accesskey       "B">
- <!ENTITY colon.character            ":">
- 
- <!ENTITY backgroundImage.label      "Background image:">
- <!ENTITY backgroundImage.accesskey  "m">
- <!ENTITY chooseFile.label           "Choose File…">
- <!ENTITY chooseFile.accesskey       "o">
--
-diff --git a/editor/ui/locales/en-US/chrome/dialogs/EdNamedAnchorProperties.dtd b/editor/ui/locales/en-US/chrome/dialogs/EdNamedAnchorProperties.dtd
---- a/editor/ui/locales/en-US/chrome/dialogs/EdNamedAnchorProperties.dtd
-+++ b/editor/ui/locales/en-US/chrome/dialogs/EdNamedAnchorProperties.dtd
-@@ -1,10 +1,8 @@
- <!-- 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/. -->
- 
- <!ENTITY windowTitle.label "Named Anchor Properties">
- <!ENTITY anchorNameEditField.label "Anchor Name:">
- <!ENTITY anchorNameEditField.accessKey "N">
- <!ENTITY nameInput.tooltip "Enter a unique name for this named anchor (target)">
--
--
-diff --git a/editor/ui/locales/en-US/chrome/dialogs/EditorSaveAsCharset.dtd b/editor/ui/locales/en-US/chrome/dialogs/EditorSaveAsCharset.dtd
---- a/editor/ui/locales/en-US/chrome/dialogs/EditorSaveAsCharset.dtd
-+++ b/editor/ui/locales/en-US/chrome/dialogs/EditorSaveAsCharset.dtd
-@@ -7,11 +7,8 @@
- <!-- This button is for the progressive disclosure of additional editing functionality -->
- 
- <!-- These strings are for use specifically in the editor's link dialog. -->
- <!ENTITY windowTitle2.label "Save And Change Text Encoding">
- <!ENTITY documentTitleTitle.label "Page Title">
- <!ENTITY documentCharsetTitle2.label "Text Encoding">
- <!ENTITY documentCharsetDesc2.label "Select the text encoding you want to save a document in:">
- <!ENTITY documentExportToText.label "Export to Text">
--
--
--

+ 0 - 1
comm-esr60/comm-esr60/patches/series

@@ -111,7 +111,6 @@ WIP-9999999-rss-cleanup.patch
 1628905-customizeToolbarAttributes-257.patch
 1633729-port-buildconfig-v1_1-257.patch
 1633729-local-repo-check-257.patch
-1470716-63a1.patch
 1512557-65a1.patch
 1048658-66a1.patch
 1481326-1-63a1.patch

+ 2 - 1
comm-esr60/comm-esr60/patches/1470716-63a1.patch → rel-257/comm-esr60/patches/1470716-cc-63a1.patch

@@ -2,7 +2,7 @@
 # User Jorg K <jorgk@jorgk.com>
 # Date 1530400434 -7200
 # Node ID 67e3d766d51549925745cc8353b1686800b61749
-# Parent  d0774def31bf7e4c3d73036865dd09960e01d617
+# Parent  864d0a94694073643a960113aacc43b5120007cf
 Bug 1470716 - C-C part: Replace call to LoadExtensibleBundle(). r=kmag DONTBUILD
 
 diff --git a/mailnews/build/nsMailModule.cpp b/mailnews/build/nsMailModule.cpp
@@ -123,3 +123,4 @@ diff --git a/mailnews/intl/nsCharsetConverterManager.h b/mailnews/intl/nsCharset
  
    NS_DECL_THREADSAFE_ISUPPORTS
    NS_DECL_NSICHARSETCONVERTERMANAGER
+

+ 1 - 0
rel-257/comm-esr60/patches/series

@@ -5,3 +5,4 @@
 1399756-30-61a1.patch
 1399756-31-61a1.patch
 1399756-33-61a1.patch
+1470716-cc-63a1.patch

+ 242 - 0
rel-257/mozilla-esr60/patches/1470716-63a1.patch

@@ -0,0 +1,242 @@
+# HG changeset patch
+# User Kris Maglione <maglione.k@gmail.com>
+# Date 1529820751 25200
+# Node ID f6b1c959442d70238ded401204860504eb3a601f
+# Parent  4ea98a4ddc3f85fb0581c42a621b55e0c41c73c2
+Bug 1470716: Remove unused ExtensibleStringBundle support. r=gandalf
+
+MozReview-Commit-ID: HpNjXK0IURv
+
+diff --git a/intl/strres/nsIStringBundle.idl b/intl/strres/nsIStringBundle.idl
+--- a/intl/strres/nsIStringBundle.idl
++++ b/intl/strres/nsIStringBundle.idl
+@@ -63,17 +63,16 @@ interface nsIStringBundle : nsISupports
+   // Preloads string bundle data asynchronously
+   void asyncPreload();
+ };
+ 
+ [scriptable, uuid(D85A17C0-AA7C-11d2-9B8C-00805F8A16D9)]
+ interface nsIStringBundleService : nsISupports
+ {
+   nsIStringBundle createBundle(in string aURLSpec);
+-  nsIStringBundle createExtensibleBundle(in string aRegistryKey);
+ 
+   /**
+    * Formats a message string from a status code and status arguments.
+    * @param aStatus - The status code. This is mapped into a string ID and
+    *            and used in the string lookup process (see nsIErrorService).
+    * @param aStatusArg - The status message argument(s). Multiple arguments
+    *            can be separated by newline ('\n') characters.
+    * @return the formatted message
+diff --git a/intl/strres/nsStringBundle.cpp b/intl/strres/nsStringBundle.cpp
+--- a/intl/strres/nsStringBundle.cpp
++++ b/intl/strres/nsStringBundle.cpp
+@@ -276,137 +276,16 @@ nsresult nsStringBundle::FormatString(co
+       aLength >= 4 ? aParams[3] : nullptr, aLength >= 5 ? aParams[4] : nullptr,
+       aLength >= 6 ? aParams[5] : nullptr, aLength >= 7 ? aParams[6] : nullptr,
+       aLength >= 8 ? aParams[7] : nullptr, aLength >= 9 ? aParams[8] : nullptr,
+       aLength >= 10 ? aParams[9] : nullptr);
+ 
+   return NS_OK;
+ }
+ 
+-NS_IMPL_ISUPPORTS(nsExtensibleStringBundle, nsIStringBundle)
+-
+-nsExtensibleStringBundle::nsExtensibleStringBundle() { mLoaded = false; }
+-
+-nsresult nsExtensibleStringBundle::Init(
+-    const char* aCategory, nsIStringBundleService* aBundleService) {
+-  nsresult rv;
+-  nsCOMPtr<nsICategoryManager> catman =
+-      do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
+-  if (NS_FAILED(rv)) return rv;
+-
+-  nsCOMPtr<nsISimpleEnumerator> enumerator;
+-  rv = catman->EnumerateCategory(aCategory, getter_AddRefs(enumerator));
+-  if (NS_FAILED(rv)) return rv;
+-
+-  bool hasMore;
+-  while (NS_SUCCEEDED(enumerator->HasMoreElements(&hasMore)) && hasMore) {
+-    nsCOMPtr<nsISupports> supports;
+-    rv = enumerator->GetNext(getter_AddRefs(supports));
+-    if (NS_FAILED(rv)) continue;
+-
+-    nsCOMPtr<nsISupportsCString> supStr = do_QueryInterface(supports, &rv);
+-    if (NS_FAILED(rv)) continue;
+-
+-    nsAutoCString name;
+-    rv = supStr->GetData(name);
+-    if (NS_FAILED(rv)) continue;
+-
+-    nsCOMPtr<nsIStringBundle> bundle;
+-    rv = aBundleService->CreateBundle(name.get(), getter_AddRefs(bundle));
+-    if (NS_FAILED(rv)) continue;
+-
+-    mBundles.AppendObject(bundle);
+-  }
+-
+-  return rv;
+-}
+-
+-NS_IMETHODIMP
+-nsExtensibleStringBundle::AsyncPreload() {
+-  nsresult rv = NS_OK;
+-  const uint32_t size = mBundles.Count();
+-  for (uint32_t i = 0; i < size; ++i) {
+-    nsIStringBundle* bundle = mBundles[i];
+-    if (bundle) {
+-      nsresult rv2 = bundle->AsyncPreload();
+-      rv = NS_FAILED(rv) ? rv : rv2;
+-    }
+-  }
+-  return rv;
+-}
+-
+-nsExtensibleStringBundle::~nsExtensibleStringBundle() {}
+-
+-nsresult nsExtensibleStringBundle::GetStringFromID(int32_t aID,
+-                                                   nsAString& aResult) {
+-  nsAutoCString idStr;
+-  idStr.AppendInt(aID, 10);
+-  return GetStringFromName(idStr.get(), aResult);
+-}
+-
+-nsresult nsExtensibleStringBundle::GetStringFromAUTF8Name(
+-    const nsACString& aName, nsAString& aResult) {
+-  return GetStringFromName(PromiseFlatCString(aName).get(), aResult);
+-}
+-
+-nsresult nsExtensibleStringBundle::GetStringFromName(const char* aName,
+-                                                     nsAString& aResult) {
+-  nsresult rv;
+-  const uint32_t size = mBundles.Count();
+-  for (uint32_t i = 0; i < size; ++i) {
+-    nsIStringBundle* bundle = mBundles[i];
+-    if (bundle) {
+-      rv = bundle->GetStringFromName(aName, aResult);
+-      if (NS_SUCCEEDED(rv)) return NS_OK;
+-    }
+-  }
+-
+-  return NS_ERROR_FAILURE;
+-}
+-
+-NS_IMETHODIMP
+-nsExtensibleStringBundle::FormatStringFromID(int32_t aID,
+-                                             const char16_t** aParams,
+-                                             uint32_t aLength,
+-                                             nsAString& aResult) {
+-  nsAutoCString idStr;
+-  idStr.AppendInt(aID, 10);
+-  return FormatStringFromName(idStr.get(), aParams, aLength, aResult);
+-}
+-
+-NS_IMETHODIMP
+-nsExtensibleStringBundle::FormatStringFromAUTF8Name(const nsACString& aName,
+-                                                    const char16_t** aParams,
+-                                                    uint32_t aLength,
+-                                                    nsAString& aResult) {
+-  return FormatStringFromName(PromiseFlatCString(aName).get(), aParams, aLength,
+-                              aResult);
+-}
+-
+-NS_IMETHODIMP
+-nsExtensibleStringBundle::FormatStringFromName(const char* aName,
+-                                               const char16_t** aParams,
+-                                               uint32_t aLength,
+-                                               nsAString& aResult) {
+-  nsAutoString formatStr;
+-  nsresult rv;
+-  rv = GetStringFromName(aName, formatStr);
+-  if (NS_FAILED(rv)) return rv;
+-
+-  return nsStringBundle::FormatString(formatStr.get(), aParams, aLength,
+-                                      aResult);
+-}
+-
+-nsresult nsExtensibleStringBundle::GetSimpleEnumeration(
+-    nsISimpleEnumerator** aResult) {
+-  // XXX write me
+-  *aResult = nullptr;
+-  return NS_ERROR_NOT_IMPLEMENTED;
+-}
+-
+   /////////////////////////////////////////////////////////////////////////////////////////
+ 
+ #define MAX_CACHED_BUNDLES 16
+ 
+ struct bundleCacheEntry_t final : public LinkedListElement<bundleCacheEntry_t> {
+   nsCString mHashKey;
+   nsCOMPtr<nsIStringBundle> mBundle;
+ 
+@@ -535,33 +414,16 @@ bundleCacheEntry_t* nsStringBundleServic
+ 
+ NS_IMETHODIMP
+ nsStringBundleService::CreateBundle(const char* aURLSpec,
+                                     nsIStringBundle** aResult) {
+   getStringBundle(aURLSpec, aResult);
+   return NS_OK;
+ }
+ 
+-NS_IMETHODIMP
+-nsStringBundleService::CreateExtensibleBundle(const char* aCategory,
+-                                              nsIStringBundle** aResult) {
+-  NS_ENSURE_ARG_POINTER(aResult);
+-  *aResult = nullptr;
+-
+-  RefPtr<nsExtensibleStringBundle> bundle = new nsExtensibleStringBundle();
+-
+-  nsresult res = bundle->Init(aCategory, this);
+-  if (NS_FAILED(res)) {
+-    return res;
+-  }
+-
+-  bundle.forget(aResult);
+-  return NS_OK;
+-}
+-
+ #define GLOBAL_PROPERTIES "chrome://global/locale/global-strres.properties"
+ 
+ nsresult nsStringBundleService::FormatWithBundle(nsIStringBundle* bundle,
+                                                  nsresult aStatus,
+                                                  uint32_t argCount,
+                                                  char16_t** argArray,
+                                                  nsAString& result) {
+   nsresult rv;
+diff --git a/intl/strres/nsStringBundle.h b/intl/strres/nsStringBundle.h
+--- a/intl/strres/nsStringBundle.h
++++ b/intl/strres/nsStringBundle.h
+@@ -40,33 +40,9 @@ class nsStringBundle : public nsIStringB
+   bool mLoaded;
+ 
+  public:
+   static nsresult FormatString(const char16_t* formatStr,
+                                const char16_t** aParams, uint32_t aLength,
+                                nsAString& aResult);
+ };
+ 
+-class nsExtensibleStringBundle;
+-
+-/**
+- * An extensible implementation of the StringBundle interface.
+- *
+- * @created         28/Dec/1999
+- * @author  Catalin Rotaru [CATA]
+- */
+-class nsExtensibleStringBundle final : public nsIStringBundle {
+-  NS_DECL_ISUPPORTS
+-  NS_DECL_NSISTRINGBUNDLE
+-
+-  nsresult Init(const char* aCategory, nsIStringBundleService*);
+-
+- public:
+-  nsExtensibleStringBundle();
+-
+- private:
+-  virtual ~nsExtensibleStringBundle();
+-
+-  nsCOMArray<nsIStringBundle> mBundles;
+-  bool mLoaded;
+-};
+-
+ #endif

+ 1 - 0
rel-257/mozilla-esr60/patches/series

@@ -0,0 +1 @@
+1470716-63a1.patch