Bug 703068 - Annotate 196 methods with MOZ_OVERRIDE in mailnews/addrbook. r=mconley
authorArnaud Sourioux <six.dsn@gmail.com>
Tue, 16 Jul 2013 11:32:15 -0400
changeset 16094 e6fdf34bd2225f9558d7a1f4915fe11d773c1b13
parent 16093 4b57451b431906eefc9edbbcc427bb2c357e61ba
child 16095 d3949b664af87690986b036e4ccf453e3b1c7945
push id1
push userhg
push dateTue, 08 Jul 2014 14:20:55 +0000
treeherdercomm-esr31@1665b2be5642 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmconley
bugs703068
Bug 703068 - Annotate 196 methods with MOZ_OVERRIDE in mailnews/addrbook. r=mconley
mailnews/addrbook/src/nsAbBSDirectory.h
mailnews/addrbook/src/nsAbLDAPChangeLogData.h
mailnews/addrbook/src/nsAbLDAPChangeLogQuery.h
mailnews/addrbook/src/nsAbLDAPDirectory.h
mailnews/addrbook/src/nsAbLDAPListenerBase.h
mailnews/addrbook/src/nsAbLDAPReplicationData.h
mailnews/addrbook/src/nsAbMDBCard.h
mailnews/addrbook/src/nsAbMDBDirectory.h
mailnews/addrbook/src/nsAbOSXCard.h
mailnews/addrbook/src/nsAbOSXDirectory.h
mailnews/addrbook/src/nsAbOutlookDirectory.h
mailnews/addrbook/src/nsAddrDatabase.h
mailnews/addrbook/src/nsLDAPAutoCompleteSession.h
mailnews/addrbook/src/nsMapiAddressBook.h
mailnews/addrbook/src/nsWabAddressBook.h
--- a/mailnews/addrbook/src/nsAbBSDirectory.h
+++ b/mailnews/addrbook/src/nsAbBSDirectory.h
@@ -2,43 +2,44 @@
 /* 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/. */
 
 
 #ifndef nsAbBSDirectory_h__
 #define nsAbBSDirectory_h__
 
+#include "mozilla/Attributes.h"
 #include "nsAbDirProperty.h"
 
 #include "nsDataHashtable.h"
 #include "nsCOMArray.h"
 
 class nsAbBSDirectory : public nsAbDirProperty
 {
 public:
 	NS_DECL_ISUPPORTS_INHERITED
 
 	nsAbBSDirectory();
 	virtual ~nsAbBSDirectory();
 
 	// nsIAbDirectory methods
-  NS_IMETHOD Init(const char *aURI);
-	NS_IMETHOD GetChildNodes(nsISimpleEnumerator* *result);
+  NS_IMETHOD Init(const char *aURI) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildNodes(nsISimpleEnumerator* *result) MOZ_OVERRIDE;
   NS_IMETHOD CreateNewDirectory(const nsAString &aDirName,
                                 const nsACString &aURI,
                                 uint32_t aType,
                                 const nsACString &aPrefName,
-                                nsACString &aResult);
+                                nsACString &aResult) MOZ_OVERRIDE;
   NS_IMETHOD CreateDirectoryByURI(const nsAString &aDisplayName,
-                                  const nsACString &aURI);
-  NS_IMETHOD DeleteDirectory(nsIAbDirectory *directory);
-  NS_IMETHOD HasDirectory(nsIAbDirectory *dir, bool *hasDir);
-  NS_IMETHOD UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult);
-  NS_IMETHOD GetURI(nsACString &aURI);
+                                  const nsACString &aURI) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteDirectory(nsIAbDirectory *directory) MOZ_OVERRIDE;
+  NS_IMETHOD HasDirectory(nsIAbDirectory *dir, bool *hasDir) MOZ_OVERRIDE;
+  NS_IMETHOD UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD GetURI(nsACString &aURI) MOZ_OVERRIDE;
 
 protected:
   nsresult EnsureInitialized();
 	nsresult CreateDirectoriesFromFactory(const nsACString &aURI,
                                         DIR_Server* aServer, bool aNotify);
 
 protected:
 	bool mInitialized;
--- a/mailnews/addrbook/src/nsAbLDAPChangeLogData.h
+++ b/mailnews/addrbook/src/nsAbLDAPChangeLogData.h
@@ -1,15 +1,16 @@
 /* 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/. */
 
 #ifndef nsAbLDAPChangeLogData_h__
 #define nsAbLDAPChangeLogData_h__
 
+#include "mozilla/Attributes.h"
 #include "nsAbLDAPReplicationData.h"
 #include "nsAbLDAPChangeLogQuery.h"
 #include "nsVoidArray.h"
 
 typedef struct {
   nsCString     changeLogDN;
   int32_t       firstChangeNumber;
   int32_t       lastChangeNumber;
@@ -25,18 +26,18 @@ public :
 
   NS_IMETHOD Init(nsIAbLDAPReplicationQuery * query, nsIWebProgressListener *progressListener);
 
 protected :
 
   nsCOMPtr <nsIAbLDAPChangeLogQuery> mChangeLogQuery;
 
   nsresult OnLDAPBind(nsILDAPMessage *aMessage);
-  nsresult OnLDAPSearchEntry(nsILDAPMessage *aMessage);
-  nsresult OnLDAPSearchResult(nsILDAPMessage *aMessage);
+  nsresult OnLDAPSearchEntry(nsILDAPMessage *aMessage) MOZ_OVERRIDE;
+  nsresult OnLDAPSearchResult(nsILDAPMessage *aMessage) MOZ_OVERRIDE;
 
   nsresult ParseChangeLogEntries(nsILDAPMessage *aMessage);
   nsresult ParseRootDSEEntry(nsILDAPMessage *aMessage);
 
   nsresult  GetAuthData(); // displays username and password prompt
   nsCString mAuthUserID;   // user id of the user making the connection
 
   nsresult OnSearchAuthDNDone();
--- a/mailnews/addrbook/src/nsAbLDAPChangeLogQuery.h
+++ b/mailnews/addrbook/src/nsAbLDAPChangeLogQuery.h
@@ -2,26 +2,27 @@
  *
  * 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/. */
 
 #ifndef nsAbLDAPChangeLogQuery_h__
 #define nsAbLDAPChangeLogQuery_h__
 
+#include "mozilla/Attributes.h"
 #include "nsAbLDAPReplicationQuery.h"
 #include "nsStringGlue.h"
 
 class nsAbLDAPChangeLogQuery : public nsIAbLDAPChangeLogQuery,
                                public nsAbLDAPReplicationQuery
 {
 public :
   NS_DECL_ISUPPORTS
   NS_DECL_NSIABLDAPCHANGELOGQUERY
 
   nsAbLDAPChangeLogQuery();
   virtual ~nsAbLDAPChangeLogQuery();
 
-  NS_IMETHOD DoReplicationQuery();
+  NS_IMETHOD DoReplicationQuery() MOZ_OVERRIDE;
   NS_IMETHOD Init(const nsACString & aPrefName, nsIWebProgressListener *aProgressListener);
 };
 
 #endif // nsAbLDAPChangeLogQuery_h__
--- a/mailnews/addrbook/src/nsAbLDAPDirectory.h
+++ b/mailnews/addrbook/src/nsAbLDAPDirectory.h
@@ -1,16 +1,17 @@
 /* -*- 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/. */
 
 #ifndef nsAbLDAPDirectory_h__
 #define nsAbLDAPDirectory_h__
 
+#include "mozilla/Attributes.h"
 #include "nsAbDirProperty.h"
 #include "nsAbLDAPDirectoryModify.h"
 #include "nsIAbDirectoryQuery.h"
 #include "nsIAbDirectorySearch.h"
 #include "nsIAbDirSearchListener.h"
 #include "nsIAbLDAPDirectory.h"
 #include "nsIMutableArray.h"
 #include "nsInterfaceHashtable.h"
@@ -24,33 +25,33 @@ class nsAbLDAPDirectory :
   public nsIAbDirSearchListener
 {
 public:
   NS_DECL_ISUPPORTS_INHERITED
 
   nsAbLDAPDirectory();
   virtual ~nsAbLDAPDirectory();
 
-  NS_IMETHOD Init(const char *aUri);
+  NS_IMETHOD Init(const char *aUri) MOZ_OVERRIDE;
 
   // nsIAbDirectory methods
-  NS_IMETHOD GetPropertiesChromeURI(nsACString &aResult);
-  NS_IMETHOD GetURI(nsACString &aURI);
-  NS_IMETHOD GetChildNodes(nsISimpleEnumerator* *result);
-  NS_IMETHOD GetChildCards(nsISimpleEnumerator* *result);
-  NS_IMETHOD GetIsQuery(bool *aResult);
-  NS_IMETHOD HasCard(nsIAbCard *cards, bool *hasCard);
-  NS_IMETHOD GetSupportsMailingLists(bool *aSupportsMailingsLists);
-  NS_IMETHOD GetReadOnly(bool *aReadOnly);
-  NS_IMETHOD GetIsRemote(bool *aIsRemote);
-  NS_IMETHOD GetIsSecure(bool *aIsRemote);
-  NS_IMETHOD UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult);
-  NS_IMETHOD AddCard(nsIAbCard *aChildCard, nsIAbCard **aAddedCard);
-  NS_IMETHOD ModifyCard(nsIAbCard *aModifiedCard);
-  NS_IMETHOD DeleteCards(nsIArray *aCards);
+  NS_IMETHOD GetPropertiesChromeURI(nsACString &aResult) MOZ_OVERRIDE;
+  NS_IMETHOD GetURI(nsACString &aURI) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildNodes(nsISimpleEnumerator* *result) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildCards(nsISimpleEnumerator* *result) MOZ_OVERRIDE;
+  NS_IMETHOD GetIsQuery(bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD HasCard(nsIAbCard *cards, bool *hasCard) MOZ_OVERRIDE;
+  NS_IMETHOD GetSupportsMailingLists(bool *aSupportsMailingsLists) MOZ_OVERRIDE;
+  NS_IMETHOD GetReadOnly(bool *aReadOnly) MOZ_OVERRIDE;
+  NS_IMETHOD GetIsRemote(bool *aIsRemote) MOZ_OVERRIDE;
+  NS_IMETHOD GetIsSecure(bool *aIsRemote) MOZ_OVERRIDE;
+  NS_IMETHOD UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD AddCard(nsIAbCard *aChildCard, nsIAbCard **aAddedCard) MOZ_OVERRIDE;
+  NS_IMETHOD ModifyCard(nsIAbCard *aModifiedCard) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteCards(nsIArray *aCards) MOZ_OVERRIDE;
 
   // nsIAbDirectorySearch methods
   NS_DECL_NSIABDIRECTORYSEARCH
   NS_DECL_NSIABLDAPDIRECTORY
   NS_DECL_NSIABDIRSEARCHLISTENER
 
 protected:
   nsresult Initiate();
--- a/mailnews/addrbook/src/nsAbLDAPListenerBase.h
+++ b/mailnews/addrbook/src/nsAbLDAPListenerBase.h
@@ -1,16 +1,17 @@
 /* -*- 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/. */
 
 #ifndef nsAbLDAPListenerBase_h__
 #define nsAbLDAPListenerBase_h__
 
+#include "mozilla/Attributes.h"
 #include "nsCOMPtr.h"
 #include "nsILDAPMessageListener.h"
 #include "nsILDAPURL.h"
 #include "nsILDAPConnection.h"
 #include "nsILDAPOperation.h"
 #include "nsStringGlue.h"
 #include "mozilla/Mutex.h"
 
@@ -20,17 +21,17 @@ public:
   // Note that the directoryUrl is the details of the ldap directory
   // without any search params or attributes specified.
   nsAbLDAPListenerBase(nsILDAPURL* directoryUrl = nullptr,
                        nsILDAPConnection* connection = nullptr,
                        const nsACString &login = EmptyCString(),
                        const int32_t timeOut = 0);
   virtual ~nsAbLDAPListenerBase();
 
-  NS_IMETHOD OnLDAPInit(nsILDAPConnection *aConn, nsresult aStatus);
+  NS_IMETHOD OnLDAPInit(nsILDAPConnection *aConn, nsresult aStatus) MOZ_OVERRIDE;
 
 protected:
   nsresult OnLDAPMessageBind(nsILDAPMessage *aMessage);
 
   nsresult Initiate();
 
   // Called if an LDAP initialization fails.
   virtual void InitFailed(bool aCancelled = false) = 0;
--- a/mailnews/addrbook/src/nsAbLDAPReplicationData.h
+++ b/mailnews/addrbook/src/nsAbLDAPReplicationData.h
@@ -1,16 +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/. */
 
 
 #ifndef nsAbLDAPReplicationData_h__
 #define nsAbLDAPReplicationData_h__
 
+#include "mozilla/Attributes.h"
 #include "nsIAbLDAPReplicationData.h"
 #include "nsIWebProgressListener.h"
 #include "nsIAbLDAPReplicationQuery.h"
 #include "nsAbLDAPListenerBase.h"
 #include "nsIAddrDatabase.h"
 #include "nsIFile.h"
 #include "nsDirPrefs.h"
 #include "nsIAbLDAPAttributeMap.h"
@@ -23,21 +24,21 @@ class nsAbLDAPProcessReplicationData : p
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSIABLDAPPROCESSREPLICATIONDATA
 
   nsAbLDAPProcessReplicationData();
   virtual ~nsAbLDAPProcessReplicationData();
 
   // nsILDAPMessageListener
-  NS_IMETHOD OnLDAPMessage(nsILDAPMessage *aMessage);
+  NS_IMETHOD OnLDAPMessage(nsILDAPMessage *aMessage) MOZ_OVERRIDE;
 
 protected:
-  virtual nsresult DoTask();
-  virtual void InitFailed(bool aCancelled = false);
+  virtual nsresult DoTask() MOZ_OVERRIDE;
+  virtual void InitFailed(bool aCancelled = false) MOZ_OVERRIDE;
 
   // pointer to the interfaces used by this object
   nsCOMPtr<nsIWebProgressListener> mListener;
   // pointer to the query to call back to once we've finished
   nsCOMPtr<nsIAbLDAPReplicationQuery> mQuery;
 
   nsCOMPtr<nsIAddrDatabase> mReplicationDB;
   nsCOMPtr <nsIFile> mReplicationFile;
--- a/mailnews/addrbook/src/nsAbMDBCard.h
+++ b/mailnews/addrbook/src/nsAbMDBCard.h
@@ -1,23 +1,24 @@
 /* -*- 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/. */
 
 #ifndef nsAbMDBCard_h__
 #define nsAbMDBCard_h__
 
+#include "mozilla/Attributes.h"
 #include "nsAbCardProperty.h"
 #include "nsCOMPtr.h"
 
 class nsAbMDBCard: public nsAbCardProperty
 {
 public:
   NS_DECL_ISUPPORTS_INHERITED
 
   nsAbMDBCard(void);
   virtual ~nsAbMDBCard(void);
 
-  NS_IMETHOD Equals(nsIAbCard *card, bool *result);
+  NS_IMETHOD Equals(nsIAbCard *card, bool *result) MOZ_OVERRIDE;
 };
 
 #endif
--- a/mailnews/addrbook/src/nsAbMDBDirectory.h
+++ b/mailnews/addrbook/src/nsAbMDBDirectory.h
@@ -7,16 +7,17 @@
  
    Interface for representing Address Book Directory
  
 *********************************************************************************************************/
 
 #ifndef nsAbMDBDirectory_h__
 #define nsAbMDBDirectory_h__
 
+#include "mozilla/Attributes.h"
 #include "nsAbMDBDirProperty.h"  
 #include "nsIAbCard.h"
 #include "nsCOMArray.h"
 #include "nsCOMPtr.h"
 #include "nsDirPrefs.h"
 #include "nsIAbDirectorySearch.h"
 #include "nsIAbDirSearchListener.h"
 #include "nsInterfaceHashtable.h"
@@ -35,50 +36,50 @@ class nsAbMDBDirectory:
 public: 
   nsAbMDBDirectory(void);
   virtual ~nsAbMDBDirectory(void);
 
   NS_DECL_ISUPPORTS_INHERITED
   NS_DECL_NSIADDRDBLISTENER
 
   // Override nsAbMDBDirProperty::Init
-  NS_IMETHOD Init(const char *aUri);
+  NS_IMETHOD Init(const char *aUri) MOZ_OVERRIDE;
 
   // nsIAbMDBDirectory methods
-  NS_IMETHOD GetURI(nsACString &aURI);
-  NS_IMETHOD ClearDatabase();
-  NS_IMETHOD NotifyDirItemAdded(nsISupports *item) { return NotifyItemAdded(item);}
-  NS_IMETHOD RemoveElementsFromAddressList();
-  NS_IMETHOD RemoveEmailAddressAt(uint32_t aIndex);
-  NS_IMETHOD AddDirectory(const char *uriName, nsIAbDirectory **childDir);
-  NS_IMETHOD GetDatabaseFile(nsIFile **aResult);
-  NS_IMETHOD GetDatabase(nsIAddrDatabase **aResult);
+  NS_IMETHOD GetURI(nsACString &aURI) MOZ_OVERRIDE;
+  NS_IMETHOD ClearDatabase() MOZ_OVERRIDE;
+  NS_IMETHOD NotifyDirItemAdded(nsISupports *item) MOZ_OVERRIDE { return NotifyItemAdded(item);}
+  NS_IMETHOD RemoveElementsFromAddressList() MOZ_OVERRIDE;
+  NS_IMETHOD RemoveEmailAddressAt(uint32_t aIndex) MOZ_OVERRIDE;
+  NS_IMETHOD AddDirectory(const char *uriName, nsIAbDirectory **childDir) MOZ_OVERRIDE;
+  NS_IMETHOD GetDatabaseFile(nsIFile **aResult) MOZ_OVERRIDE;
+  NS_IMETHOD GetDatabase(nsIAddrDatabase **aResult) MOZ_OVERRIDE;
 
   // nsIAbDirectory methods:
-  NS_IMETHOD GetChildNodes(nsISimpleEnumerator* *result);
-  NS_IMETHOD GetChildCards(nsISimpleEnumerator* *result);
-  NS_IMETHOD GetIsQuery(bool *aResult);
-  NS_IMETHOD DeleteDirectory(nsIAbDirectory *directory);
-  NS_IMETHOD DeleteCards(nsIArray *cards);
-  NS_IMETHOD HasCard(nsIAbCard *cards, bool *hasCard);
-  NS_IMETHOD HasDirectory(nsIAbDirectory *dir, bool *hasDir);
-  NS_IMETHOD AddMailList(nsIAbDirectory *list, nsIAbDirectory **addedList);
-  NS_IMETHOD AddCard(nsIAbCard *card, nsIAbCard **addedCard);
-  NS_IMETHOD ModifyCard(nsIAbCard *aModifiedCard);
-  NS_IMETHOD DropCard(nsIAbCard *card, bool needToCopyCard);
-  NS_IMETHOD EditMailListToDatabase(nsIAbCard *listCard);
+  NS_IMETHOD GetChildNodes(nsISimpleEnumerator* *result) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildCards(nsISimpleEnumerator* *result) MOZ_OVERRIDE;
+  NS_IMETHOD GetIsQuery(bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteDirectory(nsIAbDirectory *directory) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteCards(nsIArray *cards) MOZ_OVERRIDE;
+  NS_IMETHOD HasCard(nsIAbCard *cards, bool *hasCard) MOZ_OVERRIDE;
+  NS_IMETHOD HasDirectory(nsIAbDirectory *dir, bool *hasDir) MOZ_OVERRIDE;
+  NS_IMETHOD AddMailList(nsIAbDirectory *list, nsIAbDirectory **addedList) MOZ_OVERRIDE;
+  NS_IMETHOD AddCard(nsIAbCard *card, nsIAbCard **addedCard) MOZ_OVERRIDE;
+  NS_IMETHOD ModifyCard(nsIAbCard *aModifiedCard) MOZ_OVERRIDE;
+  NS_IMETHOD DropCard(nsIAbCard *card, bool needToCopyCard) MOZ_OVERRIDE;
+  NS_IMETHOD EditMailListToDatabase(nsIAbCard *listCard) MOZ_OVERRIDE;
   NS_IMETHOD CardForEmailAddress(const nsACString &aEmailAddress,
-                                 nsIAbCard ** aAbCard);
+                                 nsIAbCard ** aAbCard) MOZ_OVERRIDE;
   NS_IMETHOD GetCardFromProperty(const char *aProperty,
                                  const nsACString &aValue,
-                                 bool caseSensitive, nsIAbCard **result);
+                                 bool caseSensitive, nsIAbCard **result) MOZ_OVERRIDE;
   NS_IMETHOD GetCardsFromProperty(const char *aProperty,
                                   const nsACString &aValue,
                                   bool caseSensitive,
-                                  nsISimpleEnumerator **result);
+                                  nsISimpleEnumerator **result) MOZ_OVERRIDE;
 
   // nsIAbDirectorySearch methods
   NS_DECL_NSIABDIRECTORYSEARCH
 
   // nsIAbDirSearchListener methods
   NS_DECL_NSIABDIRSEARCHLISTENER
 
 protected:
--- a/mailnews/addrbook/src/nsAbOSXCard.h
+++ b/mailnews/addrbook/src/nsAbOSXCard.h
@@ -1,16 +1,17 @@
 /* -*- 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/. */
 
 #ifndef nsAbOSXCard_h___
 #define nsAbOSXCard_h___
 
+#include "mozilla/Attributes.h"
 #include "nsAbCardProperty.h"
 
 #define NS_ABOSXCARD_URI_PREFIX NS_ABOSXCARD_PREFIX "://"
 
 #define NS_IABOSXCARD_IID \
   { 0xa7e5b697, 0x772d, 0x4fb5, \
     { 0x81, 0x16, 0x23, 0xb7, 0x5a, 0xac, 0x94, 0x56 } }
 
@@ -27,19 +28,19 @@ public:
 NS_DEFINE_STATIC_IID_ACCESSOR(nsIAbOSXCard, NS_IABOSXCARD_IID)
 
 class nsAbOSXCard : public nsAbCardProperty,
                     public nsIAbOSXCard
 {
 public:
   NS_DECL_ISUPPORTS_INHERITED
     
-  nsresult Update(bool aNotify);
-  nsresult GetURI(nsACString &aURI);
-  nsresult Init(const char *aUri);
+  nsresult Update(bool aNotify) MOZ_OVERRIDE;
+  nsresult GetURI(nsACString &aURI) MOZ_OVERRIDE;
+  nsresult Init(const char *aUri) MOZ_OVERRIDE;
   // this is needed so nsAbOSXUtils.mm can get at nsAbCardProperty
   friend class nsAbOSXUtils;
 private:
   nsCString mURI;
 
 };
 
 #endif // nsAbOSXCard_h___
--- a/mailnews/addrbook/src/nsAbOSXDirectory.h
+++ b/mailnews/addrbook/src/nsAbOSXDirectory.h
@@ -1,16 +1,17 @@
 /* -*- 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/. */
 
 #ifndef nsAbOSXDirectory_h___
 #define nsAbOSXDirectory_h___
 
+#include "mozilla/Attributes.h"
 #include "nsISupports.h"
 #include "nsAbBaseCID.h"
 #include "nsAbDirProperty.h"
 #include "nsIAbDirectoryQuery.h"
 #include "nsIAbDirectorySearch.h"
 #include "nsIAbDirSearchListener.h"
 #include "nsIMutableArray.h"
 #include "nsInterfaceHashtable.h"
@@ -57,54 +58,54 @@ public nsIAbOSXDirectory
 public:
   nsAbOSXDirectory();
   ~nsAbOSXDirectory();
   
   NS_DECL_ISUPPORTS_INHERITED
   NS_DECL_NSIABDIRSEARCHLISTENER
     
   // nsIAbOSXDirectory method
-  NS_IMETHOD Init(const char *aUri);
+  NS_IMETHOD Init(const char *aUri) MOZ_OVERRIDE;
   
   // nsAbDirProperty methods
-  NS_IMETHOD GetReadOnly(bool *aReadOnly);
-  NS_IMETHOD GetChildCards(nsISimpleEnumerator **aCards);
-  NS_IMETHOD GetChildNodes(nsISimpleEnumerator **aNodes);
-  NS_IMETHOD GetIsQuery(bool *aResult);
-  NS_IMETHOD HasCard(nsIAbCard *aCard, bool *aHasCard);
-  NS_IMETHOD HasDirectory(nsIAbDirectory *aDirectory, bool *aHasDirectory);
-  NS_IMETHOD GetURI(nsACString &aURI);
+  NS_IMETHOD GetReadOnly(bool *aReadOnly) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildCards(nsISimpleEnumerator **aCards) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildNodes(nsISimpleEnumerator **aNodes) MOZ_OVERRIDE;
+  NS_IMETHOD GetIsQuery(bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD HasCard(nsIAbCard *aCard, bool *aHasCard) MOZ_OVERRIDE;
+  NS_IMETHOD HasDirectory(nsIAbDirectory *aDirectory, bool *aHasDirectory) MOZ_OVERRIDE;
+  NS_IMETHOD GetURI(nsACString &aURI) MOZ_OVERRIDE;
   NS_IMETHOD GetCardFromProperty(const char *aProperty,
                                  const nsACString &aValue,
                                  bool caseSensitive,
-                                 nsIAbCard **aResult);
+                                 nsIAbCard **aResult) MOZ_OVERRIDE;
   NS_IMETHOD GetCardsFromProperty(const char *aProperty,
                                   const nsACString &aValue,
                                   bool aCaseSensitive,
-                                  nsISimpleEnumerator **aResult);
+                                  nsISimpleEnumerator **aResult) MOZ_OVERRIDE;
   NS_IMETHOD CardForEmailAddress(const nsACString &aEmailAddress,
-                                 nsIAbCard **aResult);
+                                 nsIAbCard **aResult) MOZ_OVERRIDE;
 
   // nsIAbOSXDirectory
-  nsresult AssertChildNodes();
+  nsresult AssertChildNodes() MOZ_OVERRIDE;
   nsresult AssertDirectory(nsIAbManager *aManager,
-                           nsIAbDirectory *aDirectory);
+                           nsIAbDirectory *aDirectory) MOZ_OVERRIDE;
   nsresult AssertCard(nsIAbManager *aManager,
-                      nsIAbCard *aCard);
+                      nsIAbCard *aCard) MOZ_OVERRIDE;
   nsresult UnassertCard(nsIAbManager *aManager,
                         nsIAbCard *aCard,
-                        nsIMutableArray *aCardList);
+                        nsIMutableArray *aCardList) MOZ_OVERRIDE;
   nsresult UnassertDirectory(nsIAbManager *aManager,
-                             nsIAbDirectory *aDirectory);
+                             nsIAbDirectory *aDirectory) MOZ_OVERRIDE;
   
-  nsresult Update();
+  nsresult Update() MOZ_OVERRIDE;
 
-  nsresult DeleteUid(const nsACString &aUid);
+  nsresult DeleteUid(const nsACString &aUid) MOZ_OVERRIDE;
 
-  nsresult GetCardByUri(const nsACString &aUri, nsIAbOSXCard **aResult);
+  nsresult GetCardByUri(const nsACString &aUri, nsIAbOSXCard **aResult) MOZ_OVERRIDE;
 
   nsresult GetRootOSXDirectory(nsIAbOSXDirectory **aResult);
 
 private:
   nsresult FallbackSearch(nsIAbBooleanExpression *aExpression,
                           nsISimpleEnumerator **aCards);
 
   // This is a list of nsIAbCards, kept separate from m_AddressList because:
--- a/mailnews/addrbook/src/nsAbOutlookDirectory.h
+++ b/mailnews/addrbook/src/nsAbOutlookDirectory.h
@@ -1,15 +1,16 @@
 /* -*- 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/. */
 #ifndef nsAbOutlookDirectory_h___
 #define nsAbOutlookDirectory_h___
 
+#include "mozilla/Attributes.h"
 #include "nsAbDirProperty.h"
 #include "nsIAbDirectoryQuery.h"
 #include "nsIAbDirectorySearch.h"
 #include "nsIAbDirSearchListener.h"
 #include "nsDataHashtable.h"
 #include "nsInterfaceHashtable.h"
 #include "nsIMutableArray.h"
 #include "nsAbWinHelper.h"
@@ -26,34 +27,34 @@ public:
   NS_DECL_ISUPPORTS_INHERITED
   NS_DECL_NSIABDIRSEARCHLISTENER
   NS_DECL_NSIABDIRECTORYQUERYRESULTLISTENER
 
   nsAbOutlookDirectory(void);
   virtual ~nsAbOutlookDirectory(void);
 
   // nsAbDirProperty methods
-  NS_IMETHOD GetDirType(int32_t *aDirType);
-  NS_IMETHOD GetURI(nsACString &aURI);
-  NS_IMETHOD GetChildCards(nsISimpleEnumerator **aCards);
-  NS_IMETHOD GetChildNodes(nsISimpleEnumerator **aNodes);
-  NS_IMETHOD GetIsQuery(bool *aResult);
-  NS_IMETHOD HasCard(nsIAbCard *aCard, bool *aHasCard);
-  NS_IMETHOD HasDirectory(nsIAbDirectory *aDirectory, bool *aHasDirectory);
-  NS_IMETHOD DeleteCards(nsIArray *aCardList);
-  NS_IMETHOD DeleteDirectory(nsIAbDirectory *aDirectory);
-  NS_IMETHOD UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult);
-  NS_IMETHOD AddCard(nsIAbCard *aData, nsIAbCard **addedCard);
-  NS_IMETHOD ModifyCard(nsIAbCard *aModifiedCard);
-  NS_IMETHOD DropCard(nsIAbCard *aData, bool needToCopyCard);
-  NS_IMETHOD AddMailList(nsIAbDirectory *aMailList, nsIAbDirectory **addedList);
-  NS_IMETHOD EditMailListToDatabase(nsIAbCard *listCard);
+  NS_IMETHOD GetDirType(int32_t *aDirType) MOZ_OVERRIDE;
+  NS_IMETHOD GetURI(nsACString &aURI) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildCards(nsISimpleEnumerator **aCards) MOZ_OVERRIDE;
+  NS_IMETHOD GetChildNodes(nsISimpleEnumerator **aNodes) MOZ_OVERRIDE;
+  NS_IMETHOD GetIsQuery(bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD HasCard(nsIAbCard *aCard, bool *aHasCard) MOZ_OVERRIDE;
+  NS_IMETHOD HasDirectory(nsIAbDirectory *aDirectory, bool *aHasDirectory) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteCards(nsIArray *aCardList) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteDirectory(nsIAbDirectory *aDirectory) MOZ_OVERRIDE;
+  NS_IMETHOD UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult) MOZ_OVERRIDE;
+  NS_IMETHOD AddCard(nsIAbCard *aData, nsIAbCard **addedCard) MOZ_OVERRIDE;
+  NS_IMETHOD ModifyCard(nsIAbCard *aModifiedCard) MOZ_OVERRIDE;
+  NS_IMETHOD DropCard(nsIAbCard *aData, bool needToCopyCard) MOZ_OVERRIDE;
+  NS_IMETHOD AddMailList(nsIAbDirectory *aMailList, nsIAbDirectory **addedList) MOZ_OVERRIDE;
+  NS_IMETHOD EditMailListToDatabase(nsIAbCard *listCard) MOZ_OVERRIDE;
   
   // nsAbDirProperty method
-  NS_IMETHOD Init(const char *aUri);
+  NS_IMETHOD Init(const char *aUri) MOZ_OVERRIDE;
   // nsIAbDirectoryQuery methods
   NS_DECL_NSIABDIRECTORYQUERY
   // nsIAbDirectorySearch methods
   NS_DECL_NSIABDIRECTORYSEARCH
   // Perform a MAPI query (function executed in a separate thread)
   nsresult ExecuteQuery(SRestriction &aRestriction,
                         nsIAbDirSearchListener *aListener,
                         int32_t aResultLimit, int32_t aTimeout,
--- a/mailnews/addrbook/src/nsAddrDatabase.h
+++ b/mailnews/addrbook/src/nsAddrDatabase.h
@@ -1,16 +1,17 @@
 /* -*- 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/. */
 
 #ifndef _nsAddrDatabase_H_
 #define _nsAddrDatabase_H_
 
+#include "mozilla/Attributes.h"
 #include "nsIAddrDatabase.h"
 #include "mdb.h"
 #include "nsStringGlue.h"
 #include "nsIAddrDBListener.h"
 #include "nsCOMPtr.h"
 #include "nsTObserverArray.h"
 #include "nsWeakPtr.h"
 #include "nsIWeakReferenceUtils.h"
@@ -25,233 +26,233 @@ typedef enum
 class nsAddrDatabase : public nsIAddrDatabase
 {
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSIADDRDBANNOUNCER
   //////////////////////////////////////////////////////////////////////////////
   // nsIAddrDatabase methods:
 
-  NS_IMETHOD GetDbPath(nsIFile * *aDbPath);
-  NS_IMETHOD SetDbPath(nsIFile * aDbPath);
-  NS_IMETHOD Open(nsIFile *aMabFile, bool aCreate, bool upgrading, nsIAddrDatabase **pCardDB);
-  NS_IMETHOD Close(bool forceCommit);
-  NS_IMETHOD OpenMDB(nsIFile *dbName, bool create);
-  NS_IMETHOD CloseMDB(bool commit);
-  NS_IMETHOD Commit(uint32_t commitType);
-  NS_IMETHOD ForceClosed();
+  NS_IMETHOD GetDbPath(nsIFile * *aDbPath) MOZ_OVERRIDE;
+  NS_IMETHOD SetDbPath(nsIFile * aDbPath) MOZ_OVERRIDE;
+  NS_IMETHOD Open(nsIFile *aMabFile, bool aCreate, bool upgrading, nsIAddrDatabase **pCardDB) MOZ_OVERRIDE;
+  NS_IMETHOD Close(bool forceCommit) MOZ_OVERRIDE;
+  NS_IMETHOD OpenMDB(nsIFile *dbName, bool create) MOZ_OVERRIDE;
+  NS_IMETHOD CloseMDB(bool commit) MOZ_OVERRIDE;
+  NS_IMETHOD Commit(uint32_t commitType) MOZ_OVERRIDE;
+  NS_IMETHOD ForceClosed() MOZ_OVERRIDE;
 
-  NS_IMETHOD CreateNewCardAndAddToDB(nsIAbCard *newCard, bool notify, nsIAbDirectory *parent);
-  NS_IMETHOD CreateNewListCardAndAddToDB(nsIAbDirectory *list, uint32_t listRowID, nsIAbCard *newCard, bool notify);
-  NS_IMETHOD CreateMailListAndAddToDB(nsIAbDirectory *newList, bool notify, nsIAbDirectory *parent);
-  NS_IMETHOD EnumerateCards(nsIAbDirectory *directory, nsISimpleEnumerator **result);
-  NS_IMETHOD GetMailingListsFromDB(nsIAbDirectory *parentDir);
-  NS_IMETHOD EnumerateListAddresses(nsIAbDirectory *directory, nsISimpleEnumerator **result);
-  NS_IMETHOD DeleteCard(nsIAbCard *newCard, bool notify, nsIAbDirectory *parent);
-  NS_IMETHOD EditCard(nsIAbCard *card, bool notify, nsIAbDirectory *parent);
-  NS_IMETHOD ContainsCard(nsIAbCard *card, bool *hasCard);
-  NS_IMETHOD DeleteMailList(nsIAbDirectory *aMailList, nsIAbDirectory *aParent);
-  NS_IMETHOD EditMailList(nsIAbDirectory *mailList, nsIAbCard *listCard, bool notify);
-  NS_IMETHOD ContainsMailList(nsIAbDirectory *mailList, bool *hasCard);
-  NS_IMETHOD DeleteCardFromMailList(nsIAbDirectory *mailList, nsIAbCard *card, bool aNotify);
+  NS_IMETHOD CreateNewCardAndAddToDB(nsIAbCard *newCard, bool notify, nsIAbDirectory *parent) MOZ_OVERRIDE;
+  NS_IMETHOD CreateNewListCardAndAddToDB(nsIAbDirectory *list, uint32_t listRowID, nsIAbCard *newCard, bool notify) MOZ_OVERRIDE;
+  NS_IMETHOD CreateMailListAndAddToDB(nsIAbDirectory *newList, bool notify, nsIAbDirectory *parent) MOZ_OVERRIDE;
+  NS_IMETHOD EnumerateCards(nsIAbDirectory *directory, nsISimpleEnumerator **result) MOZ_OVERRIDE;
+  NS_IMETHOD GetMailingListsFromDB(nsIAbDirectory *parentDir) MOZ_OVERRIDE;
+  NS_IMETHOD EnumerateListAddresses(nsIAbDirectory *directory, nsISimpleEnumerator **result) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteCard(nsIAbCard *newCard, bool notify, nsIAbDirectory *parent) MOZ_OVERRIDE;
+  NS_IMETHOD EditCard(nsIAbCard *card, bool notify, nsIAbDirectory *parent) MOZ_OVERRIDE;
+  NS_IMETHOD ContainsCard(nsIAbCard *card, bool *hasCard) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteMailList(nsIAbDirectory *aMailList, nsIAbDirectory *aParent) MOZ_OVERRIDE;
+  NS_IMETHOD EditMailList(nsIAbDirectory *mailList, nsIAbCard *listCard, bool notify) MOZ_OVERRIDE;
+  NS_IMETHOD ContainsMailList(nsIAbDirectory *mailList, bool *hasCard) MOZ_OVERRIDE;
+  NS_IMETHOD DeleteCardFromMailList(nsIAbDirectory *mailList, nsIAbCard *card, bool aNotify) MOZ_OVERRIDE;
   NS_IMETHOD GetCardFromAttribute(nsIAbDirectory *aDirectory, const char *aName,
                                   const nsACString &aValue,
-                                  bool aCaseInsensitive, nsIAbCard **card);
+                                  bool aCaseInsensitive, nsIAbCard **card) MOZ_OVERRIDE;
   NS_IMETHOD GetCardsFromAttribute(nsIAbDirectory *aDirectory,
                                    const char *aName,
                                    const nsACString & uUTF8Value,
                                    bool aCaseInsensitive,
-                                   nsISimpleEnumerator **cards);
-  NS_IMETHOD GetNewRow(nsIMdbRow * *newRow);
-  NS_IMETHOD GetNewListRow(nsIMdbRow * *newRow);
-  NS_IMETHOD AddCardRowToDB(nsIMdbRow *newRow);
-  NS_IMETHOD AddLdifListMember(nsIMdbRow* row, const char * value);
+                                   nsISimpleEnumerator **cards) MOZ_OVERRIDE;
+  NS_IMETHOD GetNewRow(nsIMdbRow * *newRow) MOZ_OVERRIDE;
+  NS_IMETHOD GetNewListRow(nsIMdbRow * *newRow) MOZ_OVERRIDE;
+  NS_IMETHOD AddCardRowToDB(nsIMdbRow *newRow) MOZ_OVERRIDE;
+  NS_IMETHOD AddLdifListMember(nsIMdbRow* row, const char * value) MOZ_OVERRIDE;
 
-  NS_IMETHOD GetDeletedCardList(nsIArray **aResult);
-  NS_IMETHOD GetDeletedCardCount(uint32_t *aCount);
+  NS_IMETHOD GetDeletedCardList(nsIArray **aResult) MOZ_OVERRIDE;
+  NS_IMETHOD GetDeletedCardCount(uint32_t *aCount) MOZ_OVERRIDE;
   NS_IMETHOD PurgeDeletedCardTable();
 
-  NS_IMETHOD AddFirstName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddFirstName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_FirstNameColumnToken, value); }
 
-  NS_IMETHOD AddLastName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddLastName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_LastNameColumnToken, value); }
 
-  NS_IMETHOD AddPhoneticFirstName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddPhoneticFirstName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_PhoneticFirstNameColumnToken, value); }
 
-  NS_IMETHOD AddPhoneticLastName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddPhoneticLastName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_PhoneticLastNameColumnToken, value); }
 
-  NS_IMETHOD AddDisplayName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddDisplayName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_DisplayNameColumnToken, value); }
 
-  NS_IMETHOD AddNickName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddNickName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_NickNameColumnToken, value); }
 
-  NS_IMETHOD AddPrimaryEmail(nsIMdbRow * row, const char * value);
+  NS_IMETHOD AddPrimaryEmail(nsIMdbRow * row, const char * value) MOZ_OVERRIDE;
 
-  NS_IMETHOD Add2ndEmail(nsIMdbRow * row, const char * value)
+  NS_IMETHOD Add2ndEmail(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_2ndEmailColumnToken, value); }
 
-  NS_IMETHOD AddPreferMailFormat(nsIMdbRow * row, uint32_t value)
+  NS_IMETHOD AddPreferMailFormat(nsIMdbRow * row, uint32_t value) MOZ_OVERRIDE
   { return AddIntColumn(row, m_MailFormatColumnToken, value); }
 
-  NS_IMETHOD AddPopularityIndex(nsIMdbRow * row, uint32_t value)
+  NS_IMETHOD AddPopularityIndex(nsIMdbRow * row, uint32_t value) MOZ_OVERRIDE
   { return AddIntColumn(row, m_PopularityIndexColumnToken, value); }
 
-  NS_IMETHOD AddAllowRemoteContent(nsIMdbRow * row, bool value)
+  NS_IMETHOD AddAllowRemoteContent(nsIMdbRow * row, bool value) MOZ_OVERRIDE
   { return AddBoolColumn(row, m_AllowRemoteContentColumnToken, value); }
 
-  NS_IMETHOD AddWorkPhone(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkPhone(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkPhoneColumnToken, value); }
 
-  NS_IMETHOD AddHomePhone(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomePhone(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomePhoneColumnToken, value); }
 
-  NS_IMETHOD AddFaxNumber(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddFaxNumber(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_FaxColumnToken, value); }
 
-  NS_IMETHOD AddPagerNumber(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddPagerNumber(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_PagerColumnToken, value); }
 
-  NS_IMETHOD AddCellularNumber(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCellularNumber(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_CellularColumnToken, value); }
 
-  NS_IMETHOD AddWorkPhoneType(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkPhoneType(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkPhoneTypeColumnToken, value); }
 
-  NS_IMETHOD AddHomePhoneType(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomePhoneType(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomePhoneTypeColumnToken, value); }
 
-  NS_IMETHOD AddFaxNumberType(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddFaxNumberType(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_FaxTypeColumnToken, value); }
 
-  NS_IMETHOD AddPagerNumberType(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddPagerNumberType(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_PagerTypeColumnToken, value); }
 
-  NS_IMETHOD AddCellularNumberType(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCellularNumberType(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_CellularTypeColumnToken, value); }
 
-  NS_IMETHOD AddHomeAddress(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomeAddress(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomeAddressColumnToken, value); }
 
-  NS_IMETHOD AddHomeAddress2(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomeAddress2(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomeAddress2ColumnToken, value); }
 
-  NS_IMETHOD AddHomeCity(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomeCity(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomeCityColumnToken, value); }
 
-  NS_IMETHOD AddHomeState(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomeState(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomeStateColumnToken, value); }
 
-  NS_IMETHOD AddHomeZipCode(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomeZipCode(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomeZipCodeColumnToken, value); }
 
-  NS_IMETHOD AddHomeCountry(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddHomeCountry(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_HomeCountryColumnToken, value); }
 
-  NS_IMETHOD AddWorkAddress(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkAddress(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkAddressColumnToken, value); }
 
-  NS_IMETHOD AddWorkAddress2(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkAddress2(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkAddress2ColumnToken, value); }
 
-  NS_IMETHOD AddWorkCity(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkCity(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkCityColumnToken, value); }
 
-  NS_IMETHOD AddWorkState(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkState(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkStateColumnToken, value); }
 
-  NS_IMETHOD AddWorkZipCode(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkZipCode(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkZipCodeColumnToken, value); }
 
-  NS_IMETHOD AddWorkCountry(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWorkCountry(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WorkCountryColumnToken, value); }
 
-  NS_IMETHOD AddJobTitle(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddJobTitle(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_JobTitleColumnToken, value); }
 
-  NS_IMETHOD AddDepartment(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddDepartment(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_DepartmentColumnToken, value); }
 
-  NS_IMETHOD AddCompany(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCompany(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_CompanyColumnToken, value); }
 
-  NS_IMETHOD AddAimScreenName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddAimScreenName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_AimScreenNameColumnToken, value); }
 
-  NS_IMETHOD AddAnniversaryYear(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddAnniversaryYear(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_AnniversaryYearColumnToken, value); }
 
-  NS_IMETHOD AddAnniversaryMonth(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddAnniversaryMonth(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_AnniversaryMonthColumnToken, value); }
 
-  NS_IMETHOD AddAnniversaryDay(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddAnniversaryDay(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_AnniversaryDayColumnToken, value); }
 
-  NS_IMETHOD AddSpouseName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddSpouseName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_SpouseNameColumnToken, value); }
 
-  NS_IMETHOD AddFamilyName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddFamilyName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_FamilyNameColumnToken, value); }
 
-  NS_IMETHOD AddDefaultAddress(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddDefaultAddress(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_DefaultAddressColumnToken, value); }
 
-  NS_IMETHOD AddCategory(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCategory(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_CategoryColumnToken, value); }
 
-  NS_IMETHOD AddWebPage1(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWebPage1(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WebPage1ColumnToken, value); }
 
-  NS_IMETHOD AddWebPage2(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddWebPage2(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_WebPage2ColumnToken, value); }
 
-  NS_IMETHOD AddBirthYear(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddBirthYear(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_BirthYearColumnToken, value); }
 
-  NS_IMETHOD AddBirthMonth(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddBirthMonth(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_BirthMonthColumnToken, value); }
 
-  NS_IMETHOD AddBirthDay(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddBirthDay(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_BirthDayColumnToken, value); }
 
-  NS_IMETHOD AddCustom1(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCustom1(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_Custom1ColumnToken, value); }
 
-  NS_IMETHOD AddCustom2(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCustom2(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_Custom2ColumnToken, value); }
 
-  NS_IMETHOD AddCustom3(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCustom3(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_Custom3ColumnToken, value); }
 
-  NS_IMETHOD AddCustom4(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddCustom4(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_Custom4ColumnToken, value); }
 
-  NS_IMETHOD AddNotes(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddNotes(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_NotesColumnToken, value); }
 
-  NS_IMETHOD AddListName(nsIMdbRow * row, const char * value);
+  NS_IMETHOD AddListName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE;
 
-  NS_IMETHOD AddListNickName(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddListNickName(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_ListNickNameColumnToken, value); }
 
-  NS_IMETHOD AddListDescription(nsIMdbRow * row, const char * value)
+  NS_IMETHOD AddListDescription(nsIMdbRow * row, const char * value) MOZ_OVERRIDE
   { return AddCharStringColumn(row, m_ListDescriptionColumnToken, value); }
 
 
-  NS_IMETHOD AddListDirNode(nsIMdbRow * listRow);
+  NS_IMETHOD AddListDirNode(nsIMdbRow * listRow) MOZ_OVERRIDE;
 
-  NS_IMETHOD FindMailListbyUnicodeName(const PRUnichar *listName, bool *exist);
+  NS_IMETHOD FindMailListbyUnicodeName(const PRUnichar *listName, bool *exist) MOZ_OVERRIDE;
 
-  NS_IMETHOD GetCardCount(uint32_t *count);
+  NS_IMETHOD GetCardCount(uint32_t *count) MOZ_OVERRIDE;
 
-  NS_IMETHOD SetCardValue(nsIAbCard *card, const char *name, const PRUnichar *value, bool notify);
-  NS_IMETHOD GetCardValue(nsIAbCard *card, const char *name, PRUnichar **value);
+  NS_IMETHOD SetCardValue(nsIAbCard *card, const char *name, const PRUnichar *value, bool notify) MOZ_OVERRIDE;
+  NS_IMETHOD GetCardValue(nsIAbCard *card, const char *name, PRUnichar **value) MOZ_OVERRIDE;
   // nsAddrDatabase methods:
 
   nsAddrDatabase();
   virtual ~nsAddrDatabase();
 
   void GetMDBFactory(nsIMdbFactory ** aMdbFactory);
   nsIMdbEnv    *GetEnv() {return m_mdbEnv;}
   uint32_t    GetCurVersion();
@@ -270,20 +271,20 @@ public:
   bool IsCardRowScopeToken(mdb_scope scope) { return (scope == m_CardRowScopeToken) ? true: false;  }
   bool IsDataRowScopeToken(mdb_scope scope) { return (scope == m_DataRowScopeToken) ? true: false; }
   nsresult GetCardRowByRowID(mdb_id rowID, nsIMdbRow **dbRow);
   nsresult GetListRowByRowID(mdb_id rowID, nsIMdbRow **dbRow);
 
   uint32_t GetListAddressTotal(nsIMdbRow* listRow);
   nsresult GetAddressRowByPos(nsIMdbRow* listRow, uint16_t pos, nsIMdbRow** cardRow);
 
-    NS_IMETHOD AddListCardColumnsToRow(nsIAbCard *aPCard, nsIMdbRow *aPListRow, uint32_t aPos, nsIAbCard** aPNewCard, bool aInMailingList, nsIAbDirectory *aParent, nsIAbDirectory *aRoot);
-    NS_IMETHOD InitCardFromRow(nsIAbCard *aNewCard, nsIMdbRow* aCardRow);
-    NS_IMETHOD SetListAddressTotal(nsIMdbRow* aListRow, uint32_t aTotal);
-    NS_IMETHOD FindRowByCard(nsIAbCard * card,nsIMdbRow **aRow);
+    NS_IMETHOD AddListCardColumnsToRow(nsIAbCard *aPCard, nsIMdbRow *aPListRow, uint32_t aPos, nsIAbCard** aPNewCard, bool aInMailingList, nsIAbDirectory *aParent, nsIAbDirectory *aRoot) MOZ_OVERRIDE;
+    NS_IMETHOD InitCardFromRow(nsIAbCard *aNewCard, nsIMdbRow* aCardRow) MOZ_OVERRIDE;
+    NS_IMETHOD SetListAddressTotal(nsIMdbRow* aListRow, uint32_t aTotal) MOZ_OVERRIDE;
+    NS_IMETHOD FindRowByCard(nsIAbCard * card,nsIMdbRow **aRow) MOZ_OVERRIDE;
 
 protected:
 
   static void RemoveFromCache(nsAddrDatabase* pAddrDB);
   bool MatchDbName(nsIFile *dbName); // returns TRUE if they match
 
   void YarnToUInt32(struct mdbYarn *yarn, uint32_t *pResult);
   void GetCharStringYarn(char* str, struct mdbYarn* strYarn);
--- a/mailnews/addrbook/src/nsLDAPAutoCompleteSession.h
+++ b/mailnews/addrbook/src/nsLDAPAutoCompleteSession.h
@@ -1,14 +1,15 @@
 /* -*- 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/. */
 
+#include "mozilla/Attributes.h"
 #include "nsCOMPtr.h"
 #include "nsIAutoCompleteSession.h"
 #include "nsILDAPConnection.h"
 #include "nsILDAPOperation.h"
 #include "nsILDAPAutoCompleteSession.h"
 #include "nsILDAPAutoCompFormatter.h"
 #include "nsILDAPURL.h"
 #include "nsStringGlue.h"
@@ -29,25 +30,25 @@ class nsLDAPAutoCompleteSession : public
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSIAUTOCOMPLETESESSION
   NS_DECL_NSILDAPAUTOCOMPLETESESSION
 
   nsLDAPAutoCompleteSession();
   virtual ~nsLDAPAutoCompleteSession();
 
-  NS_IMETHOD OnLDAPMessage(nsILDAPMessage *aMessage);
-  NS_IMETHOD OnLDAPInit(nsILDAPConnection *aConn, nsresult aStatus);
+  NS_IMETHOD OnLDAPMessage(nsILDAPMessage *aMessage) MOZ_OVERRIDE;
+  NS_IMETHOD OnLDAPInit(nsILDAPConnection *aConn, nsresult aStatus) MOZ_OVERRIDE;
 
 protected:
   // Called if an LDAP initialization fails.
-  virtual void InitFailed(bool aCancelled = false);
+  virtual void InitFailed(bool aCancelled = false) MOZ_OVERRIDE;
 
   // Called to start off the required task after a bind.
-  virtual nsresult DoTask();
+  virtual nsresult DoTask() MOZ_OVERRIDE;
 
     enum SessionState { 
         UNBOUND = nsILDAPAutoCompFormatter::STATE_UNBOUND,
         INITIALIZING = nsILDAPAutoCompFormatter::STATE_INITIALIZING, 
         BINDING = nsILDAPAutoCompFormatter::STATE_BINDING, 
         BOUND = nsILDAPAutoCompFormatter::STATE_BOUND, 
         SEARCHING = nsILDAPAutoCompFormatter::STATE_SEARCHING 
     } mState;
--- a/mailnews/addrbook/src/nsMapiAddressBook.h
+++ b/mailnews/addrbook/src/nsMapiAddressBook.h
@@ -1,15 +1,16 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* 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/. */
 #ifndef nsMapiAddressBook_h___
 #define nsMapiAddressBook_h___
 
+#include "mozilla/Attributes.h"
 #include "nsAbWinHelper.h"
  
 class nsMapiAddressBook : public nsAbWinHelper
 {
 public :
     nsMapiAddressBook(void) ;
     virtual ~nsMapiAddressBook(void) ;
 
@@ -34,19 +35,19 @@ protected :
     static BOOL mInitialized ;
     static BOOL mLogonDone ;
     static LPMAPISESSION mRootSession ;
     static LPADRBOOK mRootBook ;
 
     // Load the MAPI environment
     BOOL Initialize(void) ;
     // Allocation of a buffer for transmission to interfaces
-    virtual void AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) ;
+    virtual void AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) MOZ_OVERRIDE;
     // Destruction of a buffer provided by the interfaces
-    virtual void FreeBuffer(LPVOID aBuffer) ;
+    virtual void FreeBuffer(LPVOID aBuffer) MOZ_OVERRIDE;
     // Library management 
     static BOOL LoadMapiLibrary(void) ;
     static void FreeMapiLibrary(void) ;
 
 private :
 } ;
 
 #endif // nsMapiAddressBook_h___
--- a/mailnews/addrbook/src/nsWabAddressBook.h
+++ b/mailnews/addrbook/src/nsWabAddressBook.h
@@ -1,15 +1,16 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* 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/. */
 #ifndef nsWabAddressBook_h___
 #define nsWabAddressBook_h___
 
+#include "mozilla/Attributes.h"
 #include "nsAbWinHelper.h"
 #include <wab.h>
 
 class nsWabAddressBook : public nsAbWinHelper
 {
 public :
     nsWabAddressBook(void) ;
     virtual ~nsWabAddressBook(void) ;
@@ -22,19 +23,19 @@ protected :
     // Class members to handle library loading/entry points
     static int32_t mLibUsage ;
     static HMODULE mLibrary ;
     static LPWABOPEN mWABOpen ;
 
     // Load the WAB environment
     BOOL Initialize(void) ;
     // Allocation of a buffer for transmission to interfaces
-    virtual void AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) ;
+    virtual void AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) MOZ_OVERRIDE;
     // Destruction of a buffer provided by the interfaces
-    virtual void FreeBuffer(LPVOID aBuffer) ;
+    virtual void FreeBuffer(LPVOID aBuffer) MOZ_OVERRIDE;
     // Manage the library
     static BOOL LoadWabLibrary(void) ;
     static void FreeWabLibrary(void) ;
 
 private :
 } ;
 
 // Additional definitions for WAB stuff. These properties are