Bug 1487082 - Resolve potential for build bustage regarding bad implicit conversion constructors

* Part 1: make conversion CTORs explicit.
  Minor tweaks to conform with new(ish) static analysis rule which flags up implicit single-argument conversion constructors.
* Part 2: fix a couple of double-mRefCnt declaration errors.
* Part 3: Fix unsafe use of NS_ConvertASCIItoUTF16().

Tag #1273
This commit is contained in:
Matt A. Tobin 2019-11-10 19:11:03 -05:00 • committed by Roy Tam
commit eaac1c967d
57 changed files with 71 additions and 69 deletions

View file

@ -20,7 +20,7 @@ class DelegateList : public msgIDelegateList
public:
NS_DECL_ISUPPORTS
NS_DECL_MSGIDELEGATELIST
DelegateList(const char *aWindowsPrefix) :
explicit DelegateList(const char *aWindowsPrefix) :
mPrefix(aWindowsPrefix)
{ }
nsDataHashtable<nsCStringHashKey, bool> mMethods;

View file

@ -56,7 +56,7 @@ private:
public nsIInterfaceRequestor
{
public:
Super(JaCppAbDirectoryDelegator* aFakeThis) {mFakeThis = aFakeThis;}
explicit Super(JaCppAbDirectoryDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS
NS_FORWARD_NSIABDIRECTORY(mFakeThis->JaBaseCppAbDirectory::)
NS_FORWARD_NSIABCOLLECTION(mFakeThis->JaBaseCppAbDirectory::)

View file

@ -60,7 +60,7 @@ private:
public nsIInterfaceRequestor
{
public:
Super(JaCppComposeDelegator* aFakeThis) {mFakeThis = aFakeThis;}
explicit Super(JaCppComposeDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS
// Forward all overridable methods, bypassing JS override.
NS_FORWARD_NSIMSGCOMPOSE(mFakeThis->JaBaseCppCompose::)

View file

@ -63,7 +63,7 @@ private:
public nsIInterfaceRequestor
{
public:
Super(JaCppIncomingServerDelegator* aFakeThis) {mFakeThis = aFakeThis;}
explicit Super(JaCppIncomingServerDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS
// Forward all overridable methods, bypassing JS override.
NS_FORWARD_NSIMSGINCOMINGSERVER(mFakeThis->JaBaseCppIncomingServer::)

View file

@ -89,7 +89,7 @@ private:
// Why fake this? Because this method is fully owned by
// JaCppMsgFolderDelegator, and this reference is to the "this" of the
// main method. But it is not really the local "this".
Super(JaCppMsgFolderDelegator* aFakeThis) {mFakeThis = aFakeThis;}
explicit Super(JaCppMsgFolderDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS
NS_FORWARD_NSIMSGFOLDER(mFakeThis->JaBaseCppMsgFolder::)
NS_FORWARD_NSIRDFRESOURCE(mFakeThis->JaBaseCppMsgFolder::)

View file

@ -63,7 +63,7 @@ private:
public nsIInterfaceRequestor
{
public:
Super(JaCppSendDelegator* aFakeThis) {mFakeThis = aFakeThis;}
explicit Super(JaCppSendDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS
// Forward all overridable methods, bypassing JS override.
NS_FORWARD_NSIMSGSEND(mFakeThis->JaBaseCppSend::)

View file

@ -79,7 +79,7 @@ public:
public nsIInterfaceRequestor
{
public:
Super(JaCppUrlDelegator *aFakeThis) {mFakeThis = aFakeThis;}
explicit Super(JaCppUrlDelegator *aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS
NS_FORWARD_NSIMSGMAILNEWSURL(mFakeThis->JaBaseCppUrl::)
NS_FORWARD_NSIURI(mFakeThis->JaBaseCppUrl::)