Bug 1028588 - Fix dangerous public destructors in toolkit/ - r=ehsan

This commit is contained in:
Benoit Jacob 2014-06-23 18:40:02 -04:00
parent f5daf8e5a1
commit 210693da34
51 changed files with 165 additions and 37 deletions

View File

@ -1,4 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
// /* -*- 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/. */
@ -36,9 +36,10 @@ public:
NS_DECL_ISUPPORTS
nsAlertsService();
virtual ~nsAlertsService();
protected:
virtual ~nsAlertsService();
bool ShouldShowAlert();
nsXULAlerts mXULAlerts;
};

View File

@ -49,8 +49,9 @@ public:
void SetAlertWindow(nsIDOMWindow* aWindow) { mAlertWindow = aWindow; }
virtual ~nsXULAlertObserver() {}
protected:
virtual ~nsXULAlertObserver() {}
nsXULAlerts* mXULAlerts;
nsString mAlertName;
nsCOMPtr<nsIDOMWindow> mAlertWindow;

View File

@ -35,9 +35,10 @@ public:
NS_DECL_NSITIMERCALLBACK
nsAutoCompleteController();
virtual ~nsAutoCompleteController();
protected:
virtual ~nsAutoCompleteController();
nsresult OpenPopup();
nsresult ClosePopup();

View File

@ -84,7 +84,6 @@ public:
// Constructor and destructor.
PendingLookup(nsIApplicationReputationQuery* aQuery,
nsIApplicationReputationCallback* aCallback);
~PendingLookup();
// Start the lookup. The lookup may have 2 parts: local and remote. In the
// local lookup, PendingDBLookups are created to query the local allow and
@ -94,6 +93,8 @@ public:
nsresult StartLookup();
private:
~PendingLookup();
friend class PendingDBLookup;
// Telemetry states.
@ -210,13 +211,15 @@ public:
// Constructor and destructor
PendingDBLookup(PendingLookup* aPendingLookup);
~PendingDBLookup();
// Look up the given URI in the safebrowsing DBs, optionally on both the allow
// list and the blocklist. If there is a match, call
// PendingLookup::OnComplete. Otherwise, call PendingLookup::LookupNext.
nsresult LookupSpec(const nsACString& aSpec, bool aAllowlistOnly);
private:
~PendingDBLookup();
// The download appeared on the allowlist, blocklist, or no list (and thus
// could trigger a remote query.
enum LIST_TYPES {

View File

@ -24,6 +24,7 @@ namespace downloads {
*/
class GenerateGUIDFunction MOZ_FINAL : public mozIStorageFunction
{
~GenerateGUIDFunction() {}
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGEFUNCTION

View File

@ -53,7 +53,6 @@ public:
static nsDownloadManager *GetSingleton();
virtual ~nsDownloadManager();
nsDownloadManager()
#ifdef DOWNLOAD_SCANNER
: mScanner(nullptr)
@ -62,6 +61,8 @@ public:
}
protected:
virtual ~nsDownloadManager();
nsresult InitDB();
nsresult InitFileDB();
void CloseAllDBs();
@ -273,7 +274,6 @@ public:
NS_DECL_ISUPPORTS
nsDownload();
virtual ~nsDownload();
/**
* This method MUST be called when changing states on a download. It will
@ -283,6 +283,8 @@ public:
nsresult SetState(DownloadState aState);
protected:
virtual ~nsDownload();
/**
* Finish up the download by breaking reference cycles and clearing unneeded
* data. Additionally, the download removes itself from the download

View File

@ -23,10 +23,13 @@
// deriving from nsISupports will throw ambiguous base class errors.
class nsDownloadProxy : public nsITransfer
{
protected:
virtual ~nsDownloadProxy() { }
public:
nsDownloadProxy() { }
virtual ~nsDownloadProxy() { }
NS_DECL_ISUPPORTS

View File

@ -47,6 +47,8 @@ public:
nsTArray<nsString> mValues;
nsAutoString mSearchString;
uint16_t mSearchResult;
private:
~nsFileResult() {}
};
NS_IMPL_ISUPPORTS(nsFileResult, nsIAutoCompleteResult)
@ -185,6 +187,7 @@ NS_IMETHODIMP nsFileResult::RemoveValueAt(int32_t rowIndex, bool removeFromDb)
class nsFileComplete MOZ_FINAL : public nsIAutoCompleteSearch
{
~nsFileComplete() {}
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIAUTOCOMPLETESEARCH

View File

@ -18,6 +18,7 @@ class FinalizationWitnessService MOZ_FINAL : public nsIFinalizationWitnessServic
NS_DECL_ISUPPORTS
NS_DECL_NSIFINALIZATIONWITNESSSERVICE
private:
~FinalizationWitnessService() {}
void operator=(const FinalizationWitnessService* other) MOZ_DELETE;
};

View File

@ -27,14 +27,15 @@ class nsFindService : public nsIFindService
{
public:
nsFindService();
virtual ~nsFindService();
nsFindService();
NS_DECL_ISUPPORTS
NS_DECL_NSIFINDSERVICE
protected:
virtual ~nsFindService();
nsString mSearchString;
nsString mReplaceString;

View File

@ -14,13 +14,16 @@ class nsIFile;
class DownloadPlatform : public mozIDownloadPlatform
{
protected:
virtual ~DownloadPlatform() { }
public:
NS_DECL_ISUPPORTS
NS_DECL_MOZIDOWNLOADPLATFORM
DownloadPlatform() { }
virtual ~DownloadPlatform() { }
static DownloadPlatform *gDownloadPlatformService;

View File

@ -177,11 +177,6 @@ public:
MOZ_ASSERT(NS_IsMainThread());
mozilla::HoldJSObjects(this);
}
virtual ~AbstractResult() {
MOZ_ASSERT(NS_IsMainThread());
DropJSData();
mozilla::DropJSObjects(this);
}
/**
* Setup the AbstractResult once data is available.
@ -207,6 +202,12 @@ public:
}
protected:
virtual ~AbstractResult() {
MOZ_ASSERT(NS_IsMainThread());
DropJSData();
mozilla::DropJSObjects(this);
}
virtual nsresult GetCacheableResult(JSContext *cx, JS::MutableHandleValue aResult) = 0;
private:

View File

@ -15,6 +15,7 @@ public:
NS_DECL_ISUPPORTS
NS_DECL_NSINATIVEOSFILEINTERNALSSERVICE
private:
~NativeOSFileInternalsService() {}
// Avoid accidental use of built-in operator=
void operator=(const NativeOSFileInternalsService& other) MOZ_DELETE;
};

View File

@ -28,6 +28,8 @@ public:
NS_DECL_NSIPARENTALCONTROLSSERVICE
nsParentalControlsService();
protected:
virtual ~nsParentalControlsService();
private:

View File

@ -218,6 +218,8 @@ SetJournalMode(nsCOMPtr<mozIStorageConnection>& aDBConn,
class ConnectionCloseCallback MOZ_FINAL : public mozIStorageCompletionCallback {
bool mDone;
~ConnectionCloseCallback() {}
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGECOMPLETIONCALLBACK

View File

@ -221,6 +221,7 @@ public:
PlacesEvent(const char* aTopic);
protected:
~PlacesEvent() {}
void Notify();
const char* const mTopic;

View File

@ -1521,6 +1521,8 @@ public:
}
private:
~SetDownloadAnnotations() {}
nsCOMPtr<nsIURI> mDestination;
/**

View File

@ -33,6 +33,8 @@ public:
const VisitsArray& aVisits);
private:
~PlaceInfo() {}
const int64_t mId;
const nsCString mGUID;
nsCOMPtr<nsIURI> mURI;

View File

@ -182,6 +182,10 @@ namespace places {
//////////////////////////////////////////////////////////////////////////////
//// MatchAutoCompleteFunction
MatchAutoCompleteFunction::~MatchAutoCompleteFunction()
{
}
/* static */
nsresult
MatchAutoCompleteFunction::create(mozIStorageConnection *aDBConn)
@ -416,6 +420,10 @@ namespace places {
//////////////////////////////////////////////////////////////////////////////
//// CalculateFrecencyFunction
CalculateFrecencyFunction::~CalculateFrecencyFunction()
{
}
/* static */
nsresult
CalculateFrecencyFunction::create(mozIStorageConnection *aDBConn)
@ -608,6 +616,10 @@ namespace places {
////////////////////////////////////////////////////////////////////////////////
//// GUID Creation Function
GenerateGUIDFunction::~GenerateGUIDFunction()
{
}
//////////////////////////////////////////////////////////////////////////////
//// GenerateGUIDFunction
@ -647,6 +659,10 @@ namespace places {
////////////////////////////////////////////////////////////////////////////////
//// Get Unreversed Host Function
GetUnreversedHostFunction::~GetUnreversedHostFunction()
{
}
//////////////////////////////////////////////////////////////////////////////
//// GetUnreversedHostFunction
@ -701,6 +717,10 @@ namespace places {
////////////////////////////////////////////////////////////////////////////////
//// Fixup URL Function
FixupURLFunction::~FixupURLFunction()
{
}
//////////////////////////////////////////////////////////////////////////////
//// FixupURLFunction
@ -752,6 +772,10 @@ namespace places {
////////////////////////////////////////////////////////////////////////////////
//// Frecency Changed Notification Function
FrecencyNotificationFunction::~FrecencyNotificationFunction()
{
}
/* static */
nsresult
FrecencyNotificationFunction::create(mozIStorageConnection *aDBConn)

View File

@ -71,6 +71,8 @@ public:
static nsresult create(mozIStorageConnection *aDBConn);
private:
~MatchAutoCompleteFunction();
/**
* Argument Indexes
*/
@ -195,6 +197,7 @@ private:
*/
class CalculateFrecencyFunction MOZ_FINAL : public mozIStorageFunction
{
~CalculateFrecencyFunction();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGEFUNCTION
@ -216,6 +219,7 @@ public:
*/
class GenerateGUIDFunction MOZ_FINAL : public mozIStorageFunction
{
~GenerateGUIDFunction();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGEFUNCTION
@ -239,6 +243,7 @@ public:
*/
class GetUnreversedHostFunction MOZ_FINAL : public mozIStorageFunction
{
~GetUnreversedHostFunction();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGEFUNCTION
@ -267,6 +272,7 @@ public:
*/
class FixupURLFunction MOZ_FINAL : public mozIStorageFunction
{
~FixupURLFunction();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGEFUNCTION
@ -303,6 +309,7 @@ public:
*/
class FrecencyNotificationFunction MOZ_FINAL : public mozIStorageFunction
{
~FrecencyNotificationFunction();
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_MOZISTORAGEFUNCTION

View File

@ -22,6 +22,10 @@ VisitInfo::VisitInfo(int64_t aVisitId,
{
}
VisitInfo::~VisitInfo()
{
}
////////////////////////////////////////////////////////////////////////////////
//// mozIVisitInfo

View File

@ -24,6 +24,7 @@ public:
already_AddRefed<nsIURI> aReferrer);
private:
~VisitInfo();
const int64_t mVisitId;
const PRTime mVisitDate;
const uint32_t mTransitionType;

View File

@ -66,6 +66,10 @@ AnnotatedResult::AnnotatedResult(const nsCString& aGUID,
{
}
AnnotatedResult::~AnnotatedResult()
{
}
NS_IMETHODIMP
AnnotatedResult::GetGuid(nsACString& _guid)
{

View File

@ -31,6 +31,8 @@ public:
nsIVariant* aAnnotationValue);
private:
~AnnotatedResult();
const nsCString mGUID;
nsCOMPtr<nsIURI> mURI;
const int64_t mItemId;

View File

@ -415,6 +415,8 @@ private:
}
private:
~RemoveFolderTransaction() {}
int64_t mID;
int64_t mParent;
nsCString mTitle;

View File

@ -134,6 +134,7 @@ public:
nsresult Clone(nsNavHistoryQueryOptions **aResult);
private:
~nsNavHistoryQueryOptions() {}
nsNavHistoryQueryOptions(const nsNavHistoryQueryOptions& other) {} // no copy
// IF YOU ADD MORE ITEMS:

View File

@ -136,7 +136,6 @@ public:
public:
// two-stage init, use NewHistoryResult to construct
nsNavHistoryResult(nsNavHistoryContainerResultNode* mRoot);
virtual ~nsNavHistoryResult();
nsresult Init(nsINavHistoryQuery** aQueries,
uint32_t aQueryCount,
nsNavHistoryQueryOptions *aOptions);
@ -184,6 +183,9 @@ public:
ContainerObserverList mRefreshParticipants;
void requestRefresh(nsNavHistoryContainerResultNode* aContainer);
protected:
virtual ~nsNavHistoryResult();
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsNavHistoryResult, NS_NAVHISTORYRESULT_IID)
@ -257,7 +259,6 @@ public:
nsNavHistoryResultNode(const nsACString& aURI, const nsACString& aTitle,
uint32_t aAccessCount, PRTime aTime,
const nsACString& aIconURI);
virtual ~nsNavHistoryResultNode() {}
NS_DECLARE_STATIC_IID_ACCESSOR(NS_NAVHISTORYRESULTNODE_IID)
@ -290,6 +291,9 @@ public:
const nsACString& aGUID,
const nsACString& aParentGUID);
protected:
virtual ~nsNavHistoryResultNode() {}
public:
nsNavHistoryResult* GetResult();

View File

@ -48,6 +48,7 @@ public:
return 0; // the value shouldn't matter
}
protected:
~mock_Link() {
// Run the next test if we are supposed to.
if (mRunNextTest) {

View File

@ -136,6 +136,8 @@ public:
}
private:
~WaitForTopicSpinner() {}
bool mTopicReceived;
PRIntervalTime mStartTime;
};
@ -158,6 +160,8 @@ public:
uint16_t completionReason;
protected:
~AsyncStatementSpinner() {}
volatile bool mCompleted;
};
@ -371,6 +375,9 @@ static const char TOPIC_PLACES_CONNECTION_CLOSED[] = "places-connection-closed";
class WaitForConnectionClosed MOZ_FINAL : public nsIObserver
{
nsRefPtr<WaitForTopicSpinner> mSpinner;
~WaitForConnectionClosed() {}
public:
NS_DECL_ISUPPORTS

View File

@ -49,6 +49,8 @@ new_test_uri()
class VisitURIObserver MOZ_FINAL : public nsIObserver
{
~VisitURIObserver() {}
public:
NS_DECL_ISUPPORTS
@ -305,6 +307,8 @@ namespace test_observer_topic_dispatched_helpers {
#define URI_VISITED_RESOLUTION_TOPIC "visited-status-resolution"
class statusObserver MOZ_FINAL : public nsIObserver
{
~statusObserver() {}
public:
NS_DECL_ISUPPORTS

View File

@ -51,9 +51,10 @@ public:
nsresult MouseDown(nsIDOMEvent* aMouseEvent);
nsFormFillController();
virtual ~nsFormFillController();
protected:
virtual ~nsFormFillController();
void AddWindowListeners(nsIDOMWindow *aWindow);
void RemoveWindowListeners(nsIDOMWindow *aWindow);

View File

@ -16,6 +16,7 @@ public:
NS_DECL_ISUPPORTS
NS_DECL_NSIUSERINFO
protected:
virtual ~nsUserInfo();
};

View File

@ -25,13 +25,15 @@ class nsBrowserStatusFilter : public nsIWebProgress
{
public:
nsBrowserStatusFilter();
virtual ~nsBrowserStatusFilter();
NS_DECL_ISUPPORTS
NS_DECL_NSIWEBPROGRESS
NS_DECL_NSIWEBPROGRESSLISTENER
NS_DECL_NSIWEBPROGRESSLISTENER2
protected:
virtual ~nsBrowserStatusFilter();
private:
nsresult StartDelayTimer();
void ProcessTimeout();

View File

@ -557,8 +557,6 @@ class TelemetryImpl MOZ_FINAL
NS_DECL_NSIMEMORYREPORTER
public:
~TelemetryImpl();
void InitMemoryReporter();
static bool CanRecord();
@ -587,6 +585,7 @@ public:
private:
TelemetryImpl();
~TelemetryImpl();
static nsCString SanitizeSQL(const nsACString& sql);

View File

@ -30,7 +30,6 @@ class nsTypeAheadFind : public nsITypeAheadFind,
{
public:
nsTypeAheadFind();
virtual ~nsTypeAheadFind();
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_NSITYPEAHEADFIND
@ -39,6 +38,8 @@ public:
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(nsTypeAheadFind, nsITypeAheadFind)
protected:
virtual ~nsTypeAheadFind();
nsresult PrefsReset();
void SaveFind();

View File

@ -773,9 +773,9 @@ public:
, mCallback(c)
{}
private:
~nsUrlClassifierLookupCallback();
private:
nsresult HandleResults();
nsRefPtr<nsUrlClassifierDBService> mDBService;
@ -987,6 +987,8 @@ public:
{}
private:
~nsUrlClassifierClassifyCallback() {}
nsCOMPtr<nsIURIClassifierCallback> mCallback;
bool mCheckMalware;
bool mCheckPhishing;

View File

@ -26,7 +26,6 @@ class nsUrlClassifierPrefixSet
{
public:
nsUrlClassifierPrefixSet();
virtual ~nsUrlClassifierPrefixSet();
NS_IMETHOD Init(const nsACString& aName);
NS_IMETHOD SetPrefixes(const uint32_t* aArray, uint32_t aLength);
@ -43,6 +42,8 @@ public:
size_t SizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf);
protected:
virtual ~nsUrlClassifierPrefixSet();
static const uint32_t DELTAS_LIMIT = 100;
static const uint32_t MAX_INDEX_DIFF = (1 << 16);
static const uint32_t PREFIXSET_VERSION_MAGIC = 1;

View File

@ -151,6 +151,8 @@ public:
};
private:
~UrlClassifierDBServiceWorkerProxy() {}
nsCOMPtr<nsIUrlClassifierDBServiceWorker> mTarget;
};
@ -184,6 +186,8 @@ public:
};
private:
~UrlClassifierLookupCallbackProxy() {}
nsMainThreadPtrHandle<nsIUrlClassifierLookupCallback> mTarget;
};
@ -214,6 +218,8 @@ public:
};
private:
~UrlClassifierCallbackProxy() {}
nsMainThreadPtrHandle<nsIUrlClassifierCallback> mTarget;
};
@ -297,6 +303,8 @@ public:
};
private:
~UrlClassifierUpdateObserverProxy() {}
nsMainThreadPtrHandle<nsIUrlClassifierUpdateObserver> mTarget;
};

View File

@ -46,7 +46,6 @@ private:
public:
nsUrlClassifierUtils();
~nsUrlClassifierUtils() {}
NS_DECL_ISUPPORTS
NS_DECL_NSIURLCLASSIFIERUTILS
@ -74,6 +73,8 @@ public:
nsACString & _retval);
private:
~nsUrlClassifierUtils() {}
// Disallow copy constructor
nsUrlClassifierUtils(const nsUrlClassifierUtils&);

View File

@ -205,6 +205,7 @@ public:
}
private:
~IdentityCryptoService() { }
IdentityCryptoService(const KeyPair &) MOZ_DELETE;
void operator=(const IdentityCryptoService &) MOZ_DELETE;
};

View File

@ -22,7 +22,6 @@ class AddonPathService MOZ_FINAL : public amIAddonPathService
{
public:
AddonPathService();
virtual ~AddonPathService();
static AddonPathService* GetInstance();
@ -43,6 +42,8 @@ public:
};
private:
virtual ~AddonPathService();
// Paths are stored sorted in order of their mPath.
nsTArray<PathEntry> mPaths;

View File

@ -53,9 +53,9 @@ public:
nsRefPtr<nsToolkitProfile> mNext;
nsToolkitProfile *mPrev;
private:
~nsToolkitProfile() { }
private:
nsToolkitProfile(const nsACString& aName,
nsIFile* aRootDir,
nsIFile* aLocalDir,
@ -82,9 +82,10 @@ public:
nsIProfileUnlocker* *aUnlocker);
nsToolkitProfileLock() { }
~nsToolkitProfileLock();
private:
~nsToolkitProfileLock();
nsRefPtr<nsToolkitProfile> mProfile;
nsCOMPtr<nsIFile> mDirectory;
nsCOMPtr<nsIFile> mLocalDirectory;
@ -94,6 +95,7 @@ private:
class nsToolkitProfileFactory MOZ_FINAL : public nsIFactory
{
~nsToolkitProfileFactory() {}
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIFACTORY

View File

@ -42,9 +42,11 @@ public:
*/
class nsDBusService : public nsISupports
{
protected:
virtual ~nsDBusService();
public:
nsDBusService();
virtual ~nsDBusService();
NS_DECL_ISUPPORTS
NS_DECLARE_STATIC_IID_ACCESSOR(NS_DBUS_IID)

View File

@ -17,7 +17,6 @@ public:
NS_DECL_NSINETWORKLINKSERVICE
nsNetworkManagerListener();
virtual ~nsNetworkManagerListener();
nsresult Init();
@ -32,6 +31,9 @@ public:
*/
void UpdateNetworkStatus(DBusMessage* message);
protected:
virtual ~nsNetworkManagerListener();
private:
void NotifyNetworkStatusObservers();

View File

@ -47,9 +47,10 @@ public:
NS_DECL_NSIGIOMIMEAPP
nsGIOMimeApp(GAppInfo* aApp) : mApp(aApp) {}
~nsGIOMimeApp() { g_object_unref(mApp); }
private:
~nsGIOMimeApp() { g_object_unref(mApp); }
GAppInfo *mApp;
};
@ -107,9 +108,10 @@ nsGIOMimeApp::Launch(const nsACString& aUri)
class GIOUTF8StringEnumerator MOZ_FINAL : public nsIUTF8StringEnumerator
{
~GIOUTF8StringEnumerator() { }
public:
GIOUTF8StringEnumerator() : mIndex(0) { }
~GIOUTF8StringEnumerator() { }
NS_DECL_ISUPPORTS
NS_DECL_NSIUTF8STRINGENUMERATOR

View File

@ -13,6 +13,8 @@
class nsGIOService MOZ_FINAL : public nsIGIOService
{
~nsGIOService() {}
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIGIOSERVICE

View File

@ -85,9 +85,9 @@ public:
nsGSettingsCollection(GSettings* aSettings) : mSettings(aSettings),
mKeys(nullptr) {}
private:
~nsGSettingsCollection();
private:
bool KeyExists(const nsACString& aKey);
bool SetValue(const nsACString& aKey,
GVariant *aValue);

View File

@ -1284,9 +1284,9 @@ public:
NS_DECL_NSIFACTORY
nsSingletonFactory(nsISupports* aSingleton);
~nsSingletonFactory() { }
private:
~nsSingletonFactory() { }
nsCOMPtr<nsISupports> mSingleton;
};

View File

@ -17,10 +17,12 @@
class nsNativeAppSupportBase : public nsINativeAppSupport {
public:
nsNativeAppSupportBase();
virtual ~nsNativeAppSupportBase();
NS_DECL_ISUPPORTS
NS_DECL_NSINATIVEAPPSUPPORT
protected:
virtual ~nsNativeAppSupportBase();
};
#endif

View File

@ -1014,6 +1014,10 @@ nsUpdateProcessor::nsUpdateProcessor()
{
}
nsUpdateProcessor::~nsUpdateProcessor()
{
}
NS_IMETHODIMP
nsUpdateProcessor::ProcessUpdate(nsIUpdate* aUpdate)
{

View File

@ -71,6 +71,8 @@ public:
NS_DECL_NSIUPDATEPROCESSOR
private:
~nsUpdateProcessor();
struct StagedUpdateInfo {
StagedUpdateInfo()
: mArgc(0),