Bug 1317241 - Replace default bodies of special member functions with = default in dom/. r=baku
authorAndi-Bogdan Postelnicu <bpostelnicu@mozilla.com>
Mon, 14 Nov 2016 11:40:37 +0200
changeset 322613 c1c955254a8c363c238e7b30dc79747c214f2f6b
parent 322612 5b3a57978bd4270560d334dc08dec509643b4984
child 322614 de9b1fc4d31cabd498c970c08fc9aa0402655825
push id21
push usermaklebus@msu.edu
push dateThu, 01 Dec 2016 06:22:08 +0000
reviewersbaku
bugs1317241
milestone53.0a1
Bug 1317241 - Replace default bodies of special member functions with = default in dom/. r=baku MozReview-Commit-ID: 12AHOhrpaNO
dom/asmjscache/AsmJSCache.cpp
dom/base/nsContentUtils.cpp
dom/base/nsDOMWindowUtils.cpp
dom/base/nsFrameMessageManager.cpp
dom/base/nsGlobalWindow.cpp
dom/base/nsObjectLoadingContent.cpp
dom/base/nsObjectLoadingContent.h
dom/base/nsPluginArray.cpp
dom/canvas/ImageUtils.cpp
dom/events/EventStateManager.cpp
dom/geolocation/nsGeolocation.cpp
dom/html/PluginDocument.cpp
dom/indexedDB/ActorsParent.cpp
dom/indexedDB/FileManager.h
dom/ipc/Blob.cpp
dom/ipc/ContentChild.cpp
dom/ipc/ProcessHangMonitor.cpp
dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
dom/media/gmp/GMPLoader.cpp
dom/media/gmp/widevine-adapter/WidevineDecryptor.cpp
dom/media/ipc/VideoDecoderManagerParent.cpp
dom/media/ipc/VideoDecoderParent.cpp
dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h
dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
dom/plugins/base/nsPluginHost.cpp
dom/system/mac/CoreLocationLocationProvider.h
dom/system/mac/CoreLocationLocationProvider.mm
--- a/dom/asmjscache/AsmJSCache.cpp
+++ b/dom/asmjscache/AsmJSCache.cpp
@@ -1708,17 +1708,17 @@ CloseEntryForWrite(size_t aSize,
                     childRunnable->MappedMemory(),
                     childRunnable->FileSize()) == PR_SUCCESS) {
     *(AsmJSCookieType*)childRunnable->MappedMemory() = sAsmJSCookie;
   }
 }
 
 class Client : public quota::Client
 {
-  ~Client() {}
+  ~Client() = default;
 
 public:
   NS_IMETHOD_(MozExternalRefCountType)
   AddRef() override;
 
   NS_IMETHOD_(MozExternalRefCountType)
   Release() override;
 
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -379,17 +379,17 @@ static NS_DEFINE_CID(kParserServiceCID, 
 static NS_DEFINE_CID(kCParserCID, NS_PARSER_CID);
 
 static PLDHashTable* sEventListenerManagersHash;
 
 class DOMEventListenerManagersHashReporter final : public nsIMemoryReporter
 {
   MOZ_DEFINE_MALLOC_SIZE_OF(MallocSizeOf)
 
-  ~DOMEventListenerManagersHashReporter() {}
+  ~DOMEventListenerManagersHashReporter() = default;
 
 public:
   NS_DECL_ISUPPORTS
 
   NS_IMETHOD CollectReports(nsIHandleReportCallback* aHandleReport,
                             nsISupports* aData, bool aAnonymize) override
   {
     // We don't measure the |EventListenerManager| objects pointed to by the
@@ -445,17 +445,17 @@ EventListenerManagerHashClearEntry(PLDHa
 
   // Let the EventListenerManagerMapEntry clean itself up...
   lm->~EventListenerManagerMapEntry();
 }
 
 class SameOriginCheckerImpl final : public nsIChannelEventSink,
                                     public nsIInterfaceRequestor
 {
-  ~SameOriginCheckerImpl() {}
+  ~SameOriginCheckerImpl() = default;
 
   NS_DECL_ISUPPORTS
   NS_DECL_NSICHANNELEVENTSINK
   NS_DECL_NSIINTERFACEREQUESTOR
 };
 
 class CharsetDetectionObserver final : public nsICharsetDetectionObserver
 {
--- a/dom/base/nsDOMWindowUtils.cpp
+++ b/dom/base/nsDOMWindowUtils.cpp
@@ -147,17 +147,17 @@ public:
       delete item;
     }
     return result;
   }
 
 private:
   explicit OldWindowSize(nsIWeakReference* aWindowRef, const nsSize& aSize)
     : mWindowRef(aWindowRef), mSize(aSize) { }
-  ~OldWindowSize() { };
+  ~OldWindowSize() = default;;
 
   static OldWindowSize* GetItem(nsIWeakReference* aWindowRef)
   {
     OldWindowSize* item = sList.getFirst();
     while (item && item->mWindowRef != aWindowRef) {
       item = item->getNext();
     }
     return item;
--- a/dom/base/nsFrameMessageManager.cpp
+++ b/dom/base/nsFrameMessageManager.cpp
@@ -1511,17 +1511,17 @@ struct MessageManagerReferentCount
 
 } // namespace
 
 namespace mozilla {
 namespace dom {
 
 class MessageManagerReporter final : public nsIMemoryReporter
 {
-  ~MessageManagerReporter() {}
+  ~MessageManagerReporter() = default;
 
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSIMEMORYREPORTER
 
   static const size_t kSuspectReferentCount = 300;
 protected:
   void CountReferents(nsFrameMessageManager* aMessageManager,
--- a/dom/base/nsGlobalWindow.cpp
+++ b/dom/base/nsGlobalWindow.cpp
@@ -501,17 +501,17 @@ public:
   {
     if (mWindow && aIID.Equals(NS_GET_IID(nsIDOMWindow)) && mWindow) {
       return mWindow->QueryInterface(aIID, aResult);
     }
     return NS_NOINTERFACE;
   }
 
 private:
-  ~nsGlobalWindowObserver() {}
+  ~nsGlobalWindowObserver() = default;
 
   // This reference is non-owning and safe because it's cleared by
   // nsGlobalWindow::CleanUp().
   nsGlobalWindow* MOZ_NON_OWNING_REF mWindow;
 };
 
 NS_IMPL_ISUPPORTS(nsGlobalWindowObserver, nsIObserver, nsIInterfaceRequestor)
 
@@ -6385,17 +6385,17 @@ private:
   public:
     NS_DECL_ISUPPORTS
     NS_DECL_NSIOBSERVER
 
     explicit Observer(FullscreenTransitionTask* aTask)
       : mTask(aTask) { }
 
   private:
-    ~Observer() {}
+    ~Observer() = default;
 
     RefPtr<FullscreenTransitionTask> mTask;
   };
 
   static const char* const kPaintedTopic;
 
   RefPtr<nsGlobalWindow> mWindow;
   nsCOMPtr<nsIWidget> mWidget;
--- a/dom/base/nsObjectLoadingContent.cpp
+++ b/dom/base/nsObjectLoadingContent.cpp
@@ -152,17 +152,17 @@ InActiveDocument(nsIContent *aContent)
 /// Runnables and helper classes
 ///
 
 class nsAsyncInstantiateEvent : public Runnable {
 public:
   explicit nsAsyncInstantiateEvent(nsObjectLoadingContent* aContent)
   : mContent(aContent) {}
 
-  ~nsAsyncInstantiateEvent() {}
+  ~nsAsyncInstantiateEvent() = default;
 
   NS_IMETHOD Run();
 
 private:
   nsCOMPtr<nsIObjectLoadingContent> mContent;
 };
 
 NS_IMETHODIMP
@@ -185,17 +185,17 @@ nsAsyncInstantiateEvent::Run()
 // (outside an active document) or stopped (in a document but unrendered). This
 // is used to allow scripts to move a plugin around the document hierarchy
 // without re-instantiating it.
 class CheckPluginStopEvent : public Runnable {
 public:
   explicit CheckPluginStopEvent(nsObjectLoadingContent* aContent)
   : mContent(aContent) {}
 
-  ~CheckPluginStopEvent() {}
+  ~CheckPluginStopEvent() = default;
 
   NS_IMETHOD Run();
 
 private:
   nsCOMPtr<nsIObjectLoadingContent> mContent;
 };
 
 NS_IMETHODIMP
@@ -283,17 +283,17 @@ public:
                       const nsAString& aEvent)
     : mTarget(aTarget)
     , mDocument(aDocument)
     , mEvent(aEvent)
   {
     MOZ_ASSERT(aTarget && aDocument);
   }
 
-  ~nsSimplePluginEvent() {}
+  ~nsSimplePluginEvent() = default;
 
   NS_IMETHOD Run();
 
 private:
   nsCOMPtr<nsISupports> mTarget;
   nsCOMPtr<nsIDocument> mDocument;
   nsString mEvent;
 };
@@ -331,17 +331,17 @@ public:
     : mContent(aContent),
       mPluginDumpID(aPluginDumpID),
       mBrowserDumpID(aBrowserDumpID),
       mPluginName(aPluginName),
       mPluginFilename(aPluginFilename),
       mSubmittedCrashReport(submittedCrashReport)
   {}
 
-  ~nsPluginCrashedEvent() {}
+  ~nsPluginCrashedEvent() = default;
 
   NS_IMETHOD Run();
 };
 
 NS_IMETHODIMP
 nsPluginCrashedEvent::Run()
 {
   LOG(("OBJLC [%p]: Firing plugin crashed event\n",
@@ -388,17 +388,17 @@ public:
 
   // Runnable
   NS_IMETHOD Run() override;
 
   // nsITimerCallback
   NS_IMETHOD Notify(nsITimer* timer) override;
 
 protected:
-  virtual ~nsStopPluginRunnable() {}
+  virtual ~nsStopPluginRunnable() = default;
 
 private:
   nsCOMPtr<nsITimer> mTimer;
   RefPtr<nsPluginInstanceOwner> mInstanceOwner;
   nsCOMPtr<nsIObjectLoadingContent> mContent;
 };
 
 NS_IMPL_ISUPPORTS_INHERITED(nsStopPluginRunnable, Runnable, nsITimerCallback)
@@ -1376,17 +1376,17 @@ public:
   NS_FORWARD_NSIREQUESTOBSERVER (static_cast<nsObjectLoadingContent *>
                                  (mContent.get())->)
 
   explicit ObjectInterfaceRequestorShim(nsIObjectLoadingContent* aContent)
     : mContent(aContent)
   {}
 
 protected:
-  ~ObjectInterfaceRequestorShim() {}
+  ~ObjectInterfaceRequestorShim() = default;
   nsCOMPtr<nsIObjectLoadingContent> mContent;
 };
 
 NS_IMPL_CYCLE_COLLECTION(ObjectInterfaceRequestorShim, mContent)
 
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ObjectInterfaceRequestorShim)
   NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
   NS_INTERFACE_MAP_ENTRY(nsIChannelEventSink)
@@ -3886,20 +3886,16 @@ nsObjectLoadingContent::MaybeFireErrorEv
 
 // SetupProtoChainRunner implementation
 nsObjectLoadingContent::SetupProtoChainRunner::SetupProtoChainRunner(
     nsObjectLoadingContent* aContent)
   : mContent(aContent)
 {
 }
 
-nsObjectLoadingContent::SetupProtoChainRunner::~SetupProtoChainRunner()
-{
-}
-
 NS_IMETHODIMP
 nsObjectLoadingContent::SetupProtoChainRunner::Run()
 {
   AutoJSAPI jsapi;
   jsapi.Init();
   JSContext* cx = jsapi.cx();
 
   nsCOMPtr<nsIContent> content;
--- a/dom/base/nsObjectLoadingContent.h
+++ b/dom/base/nsObjectLoadingContent.h
@@ -560,17 +560,17 @@ class nsObjectLoadingContent : public ns
      */
     void MaybeRewriteYoutubeEmbed(nsIURI* aURI,
                                   nsIURI* aBaseURI,
                                   nsIURI** aRewrittenURI);
 
     // Helper class for SetupProtoChain
     class SetupProtoChainRunner final : public nsIRunnable
     {
-      ~SetupProtoChainRunner();
+      ~SetupProtoChainRunner() = default;
     public:
       NS_DECL_ISUPPORTS
 
       explicit SetupProtoChainRunner(nsObjectLoadingContent* aContent);
 
       NS_IMETHOD Run() override;
 
     private:
--- a/dom/base/nsPluginArray.cpp
+++ b/dom/base/nsPluginArray.cpp
@@ -38,19 +38,17 @@ nsPluginArray::Init()
 {
   nsCOMPtr<nsIObserverService> obsService =
     mozilla::services::GetObserverService();
   if (obsService) {
     obsService->AddObserver(this, "plugin-info-updated", true);
   }
 }
 
-nsPluginArray::~nsPluginArray()
-{
-}
+nsPluginArray::~nsPluginArray() = default;
 
 static bool
 ResistFingerprinting() {
   return !nsContentUtils::ThreadsafeIsCallerChrome() &&
          nsContentUtils::ResistFingerprinting();
 }
 
 nsPIDOMWindowInner*
@@ -410,19 +408,17 @@ NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(ns
 
 nsPluginElement::nsPluginElement(nsPIDOMWindowInner* aWindow,
                                  nsIInternalPluginTag* aPluginTag)
   : mWindow(aWindow),
     mPluginTag(aPluginTag)
 {
 }
 
-nsPluginElement::~nsPluginElement()
-{
-}
+nsPluginElement::~nsPluginElement() = default;
 
 nsPIDOMWindowInner*
 nsPluginElement::GetParentObject() const
 {
   MOZ_ASSERT(mWindow);
   return mWindow;
 }
 
--- a/dom/canvas/ImageUtils.cpp
+++ b/dom/canvas/ImageUtils.cpp
@@ -96,19 +96,17 @@ class ImageUtils::Impl
 {
 public:
   explicit Impl(layers::Image* aImage)
   : mImage(aImage)
   , mSurface(nullptr)
   {
   }
 
-  virtual ~Impl()
-  {
-  }
+  virtual ~Impl() = default;
 
   virtual ImageBitmapFormat
   GetFormat() const
   {
     return GetImageBitmapFormatFromSurfaceFromat(Surface()->GetFormat());
   }
 
   virtual uint32_t
--- a/dom/events/EventStateManager.cpp
+++ b/dom/events/EventStateManager.cpp
@@ -198,17 +198,17 @@ PrintDocTreeAll(nsIDocShellTreeItem* aIt
 
 class UITimerCallback final : public nsITimerCallback
 {
 public:
   UITimerCallback() : mPreviousCount(0) {}
   NS_DECL_ISUPPORTS
   NS_DECL_NSITIMERCALLBACK
 private:
-  ~UITimerCallback() {}
+  ~UITimerCallback() = default;
   uint32_t mPreviousCount;
 };
 
 NS_IMPL_ISUPPORTS(UITimerCallback, nsITimerCallback)
 
 // If aTimer is nullptr, this method always sends "user-interaction-inactive"
 // notification.
 NS_IMETHODIMP
@@ -237,19 +237,17 @@ UITimerCallback::Notify(nsITimer* aTimer
 /* mozilla::OverOutElementsWrapper                                */
 /******************************************************************/
 
 OverOutElementsWrapper::OverOutElementsWrapper()
   : mLastOverFrame(nullptr)
 {
 }
 
-OverOutElementsWrapper::~OverOutElementsWrapper()
-{
-}
+OverOutElementsWrapper::~OverOutElementsWrapper() = default;
 
 NS_IMPL_CYCLE_COLLECTION(OverOutElementsWrapper,
                          mLastOverElement,
                          mFirstOverEventElement,
                          mFirstOutEventElement)
 NS_IMPL_CYCLE_COLLECTING_ADDREF(OverOutElementsWrapper)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(OverOutElementsWrapper)
 
--- a/dom/geolocation/nsGeolocation.cpp
+++ b/dom/geolocation/nsGeolocation.cpp
@@ -100,17 +100,17 @@ class nsGeolocationRequest final
     NS_DECL_ISUPPORTS
     NS_DECL_NSITIMERCALLBACK
 
     explicit TimerCallbackHolder(nsGeolocationRequest* aRequest)
       : mRequest(aRequest)
     {}
 
   private:
-    ~TimerCallbackHolder() {}
+    ~TimerCallbackHolder() = default;
     WeakPtr<nsGeolocationRequest> mRequest;
   };
 
   void Notify();
 
   bool mIsWatchPositionRequest;
 
   nsCOMPtr<nsITimer> mTimeoutTimer;
@@ -218,17 +218,17 @@ NS_IMPL_CYCLE_COLLECTING_ADDREF(Position
 NS_IMPL_CYCLE_COLLECTING_RELEASE(PositionError)
 
 PositionError::PositionError(Geolocation* aParent, int16_t aCode)
   : mCode(aCode)
   , mParent(aParent)
 {
 }
 
-PositionError::~PositionError(){}
+PositionError::~PositionError() = default;
 
 
 NS_IMETHODIMP
 PositionError::GetCode(int16_t *aCode)
 {
   NS_ENSURE_ARG_POINTER(aCode);
   *aCode = Code();
   return NS_OK;
@@ -734,19 +734,17 @@ nsresult nsGeolocationService::Init()
     if (override) {
       mProvider = override;
     }
   }
 
   return NS_OK;
 }
 
-nsGeolocationService::~nsGeolocationService()
-{
-}
+nsGeolocationService::~nsGeolocationService() = default;
 
 NS_IMETHODIMP
 nsGeolocationService::Observe(nsISupports* aSubject,
                               const char* aTopic,
                               const char16_t* aData)
 {
   if (!strcmp("xpcom-shutdown", aTopic)) {
     nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
--- a/dom/html/PluginDocument.cpp
+++ b/dom/html/PluginDocument.cpp
@@ -103,18 +103,17 @@ PluginStreamListener::OnStartRequest(nsI
 }
 
   // NOTE! nsDocument::operator new() zeroes out all members, so don't
   // bother initializing members to 0.
 
 PluginDocument::PluginDocument()
 {}
 
-PluginDocument::~PluginDocument()
-{}
+PluginDocument::~PluginDocument() = default;
 
 
 NS_IMPL_CYCLE_COLLECTION_INHERITED(PluginDocument, MediaDocument,
                                    mPluginContent)
 
 NS_IMPL_ADDREF_INHERITED(PluginDocument, MediaDocument)
 NS_IMPL_RELEASE_INHERITED(PluginDocument, MediaDocument)
 
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -294,18 +294,17 @@ public:
     // This can happen either on the QuotaManager IO thread or on a
     // versionchange transaction thread. These threads can never race so this is
     // totally safe.
   }
 
   NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FullIndexMetadata)
 
 private:
-  ~FullIndexMetadata()
-  { }
+  ~FullIndexMetadata() = default;
 };
 
 typedef nsRefPtrHashtable<nsUint64HashKey, FullIndexMetadata> IndexTable;
 
 struct FullObjectStoreMetadata
 {
   ObjectStoreMetadata mCommonMetadata;
   IndexTable mIndexes;
@@ -329,18 +328,17 @@ public:
   }
 
   NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FullObjectStoreMetadata);
 
   bool
   HasLiveIndexes() const;
 
 private:
-  ~FullObjectStoreMetadata()
-  { }
+  ~FullObjectStoreMetadata() = default;
 };
 
 typedef nsRefPtrHashtable<nsUint64HashKey, FullObjectStoreMetadata>
   ObjectStoreTable;
 
 struct FullDatabaseMetadata
 {
   DatabaseMetadata mCommonMetadata;
@@ -361,18 +359,17 @@ public:
   }
 
   NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FullDatabaseMetadata)
 
   already_AddRefed<FullDatabaseMetadata>
   Duplicate() const;
 
 private:
-  ~FullDatabaseMetadata()
-  { }
+  ~FullDatabaseMetadata() = default;
 };
 
 template <class MetadataType>
 class MOZ_STACK_CLASS MetadataNameOrIdMatcher final
 {
   typedef MetadataNameOrIdMatcher<MetadataType> SelfType;
 
   const int64_t mId;
@@ -1937,18 +1934,17 @@ UpgradeSchemaFrom7To8(mozIStorageConnect
 
 class CompressDataBlobsFunction final
   : public mozIStorageFunction
 {
 public:
   NS_DECL_ISUPPORTS
 
 private:
-  ~CompressDataBlobsFunction()
-  { }
+  ~CompressDataBlobsFunction() = default;
 
   NS_IMETHOD
   OnFunctionCall(mozIStorageValueArray* aArguments,
                  nsIVariant** aResult) override
   {
     MOZ_ASSERT(aArguments);
     MOZ_ASSERT(aResult);
 
@@ -2271,18 +2267,17 @@ UpgradeSchemaFrom10_0To11_0(mozIStorageC
 
 class EncodeKeysFunction final
   : public mozIStorageFunction
 {
 public:
   NS_DECL_ISUPPORTS
 
 private:
-  ~EncodeKeysFunction()
-  { }
+  ~EncodeKeysFunction() = default;
 
   NS_IMETHOD
   OnFunctionCall(mozIStorageValueArray* aArguments,
                  nsIVariant** aResult) override
   {
     MOZ_ASSERT(aArguments);
     MOZ_ASSERT(aResult);
 
@@ -2728,18 +2723,17 @@ class UpgradeSchemaFrom17_0To18_0Helper:
 {
 public:
   InsertIndexDataValuesFunction()
   { }
 
   NS_DECL_ISUPPORTS
 
 private:
-  ~InsertIndexDataValuesFunction()
-  { }
+  ~InsertIndexDataValuesFunction() = default;
 
   NS_DECL_MOZISTORAGEFUNCTION
 };
 
 NS_IMPL_ISUPPORTS(UpgradeSchemaFrom17_0To18_0Helper::
                     InsertIndexDataValuesFunction,
                   mozIStorageFunction);
 
@@ -2850,18 +2844,17 @@ public:
                                            aDestination,
                                            0 /* aTagOffset */,
                                            0 /* aRecursionDepth */);
   }
 
   NS_DECL_ISUPPORTS
 
 private:
-  ~UpgradeKeyFunction()
-  { }
+  ~UpgradeKeyFunction() = default;
 
   static nsresult
   CopyAndUpgradeKeyBufferInternal(const uint8_t*& aSource,
                                   const uint8_t* aSourceEnd,
                                   uint8_t*& aDestination,
                                   uint8_t aTagOffset,
                                   uint8_t aRecursionDepth);
 
@@ -5239,18 +5232,17 @@ public:
 
   void
   RollbackSavepoint();
 
   void
   Reset();
 
 private:
-  ~UpdateRefcountFunction()
-  { }
+  ~UpdateRefcountFunction() = default;
 
   nsresult
   ProcessValue(mozIStorageValueArray* aValues,
                int32_t aIndex,
                UpdateType aUpdateType);
 
   nsresult
   CreateJournals();
@@ -5474,54 +5466,51 @@ class ConnectionPool::ConnectionRunnable
 protected:
   DatabaseInfo* mDatabaseInfo;
   nsCOMPtr<nsIEventTarget> mOwningThread;
 
   explicit
   ConnectionRunnable(DatabaseInfo* aDatabaseInfo);
 
   virtual
-  ~ConnectionRunnable()
-  { }
+  ~ConnectionRunnable() = default;
 };
 
 class ConnectionPool::IdleConnectionRunnable final
   : public ConnectionRunnable
 {
   bool mNeedsCheckpoint;
 
 public:
   IdleConnectionRunnable(DatabaseInfo* aDatabaseInfo, bool aNeedsCheckpoint)
     : ConnectionRunnable(aDatabaseInfo)
     , mNeedsCheckpoint(aNeedsCheckpoint)
   { }
 
   NS_DECL_ISUPPORTS_INHERITED
 
 private:
-  ~IdleConnectionRunnable()
-  { }
+  ~IdleConnectionRunnable() = default;
 
   NS_DECL_NSIRUNNABLE
 };
 
 class ConnectionPool::CloseConnectionRunnable final
   : public ConnectionRunnable
 {
 public:
   explicit
   CloseConnectionRunnable(DatabaseInfo* aDatabaseInfo)
     : ConnectionRunnable(aDatabaseInfo)
   { }
 
   NS_DECL_ISUPPORTS_INHERITED
 
 private:
-  ~CloseConnectionRunnable()
-  { }
+  ~CloseConnectionRunnable() = default;
 
   NS_DECL_NSIRUNNABLE
 };
 
 struct ConnectionPool::ThreadInfo
 {
   nsCOMPtr<nsIThread> mThread;
   RefPtr<ThreadRunnable> mRunnable;
@@ -5607,18 +5596,17 @@ public:
   // unblocked.
   virtual void
   TransactionFinishedAfterUnblock() = 0;
 
 protected:
   FinishCallback()
   { }
 
-  virtual ~FinishCallback()
-  { }
+  virtual ~FinishCallback() = default;
 };
 
 class ConnectionPool::FinishCallbackWrapper final
   : public Runnable
 {
   RefPtr<ConnectionPool> mConnectionPool;
   RefPtr<FinishCallback> mCallback;
   nsCOMPtr<nsIEventTarget> mOwningThread;
@@ -6622,18 +6610,17 @@ class Database::StartTransactionOp final
 
 private:
   explicit
   StartTransactionOp(TransactionBase* aTransaction)
     : TransactionDatabaseOperationBase(aTransaction,
                                        /* aLoggingSerialNumber */ 0)
   { }
 
-  ~StartTransactionOp()
-  { }
+  ~StartTransactionOp() = default;
 
   virtual void
   RunOnConnectionThread() override;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual nsresult
@@ -6702,18 +6689,17 @@ private:
     : mBlobImpl(aBlobImpl)
     , mFileInfo(aFileInfo)
   {
     AssertIsOnBackgroundThread();
     MOZ_ASSERT(aBlobImpl);
     MOZ_ASSERT(aFileInfo);
   }
 
-  ~DatabaseFile()
-  { }
+  ~DatabaseFile() = default;
 
   virtual void
   ActorDestroy(ActorDestroyReason aWhy) override
   {
     AssertIsOnBackgroundThread();
 
     mBlobImpl = nullptr;
     mFileInfo = nullptr;
@@ -6992,18 +6978,17 @@ class TransactionBase::CommitOp final
   friend class TransactionBase;
 
   RefPtr<TransactionBase> mTransaction;
   nsresult mResultCode;
 
 private:
   CommitOp(TransactionBase* aTransaction, nsresult aResultCode);
 
-  ~CommitOp()
-  { }
+  ~CommitOp() = default;
 
   // Writes new autoIncrement counts to database.
   nsresult
   WriteAutoIncrementCounts();
 
   // Updates counts after a database activity has finished.
   void
   CommitOrRollbackAutoIncrementCounts();
@@ -7038,18 +7023,17 @@ class NormalTransaction final
 
 private:
   // This constructor is only called by Database.
   NormalTransaction(Database* aDatabase,
                     TransactionBase::Mode aMode,
                     nsTArray<RefPtr<FullObjectStoreMetadata>>& aObjectStores);
 
   // Reference counted.
-  ~NormalTransaction()
-  { }
+  ~NormalTransaction() = default;
 
   bool
   IsSameProcessActor();
 
   // Only called by TransactionBase.
   virtual void
   SendCompleteNotification(nsresult aResult) override;
 
@@ -7677,18 +7661,17 @@ public:
   DeleteDatabaseOp(Factory* aFactory,
                    already_AddRefed<ContentParent> aContentParent,
                    const CommonFactoryRequestParams& aParams)
     : FactoryOp(aFactory, Move(aContentParent), aParams, /* aDeleting */ true)
     , mPreviousVersion(0)
   { }
 
 private:
-  ~DeleteDatabaseOp()
-  { }
+  ~DeleteDatabaseOp() = default;
 
   void
   LoadPreviousVersion(nsIFile* aDatabaseFile);
 
   virtual nsresult
   DatabaseOpen() override;
 
   virtual nsresult
@@ -7723,18 +7706,17 @@ private:
     : DatabaseOperationBase(aDeleteDatabaseOp->BackgroundChildLoggingId(),
                             aDeleteDatabaseOp->LoggingSerialNumber())
     , mDeleteDatabaseOp(aDeleteDatabaseOp)
   {
     MOZ_ASSERT(aDeleteDatabaseOp);
     MOZ_ASSERT(!aDeleteDatabaseOp->mDatabaseDirectoryPath.IsEmpty());
   }
 
-  ~VersionChangeOp()
-  { }
+  ~VersionChangeOp() = default;
 
   nsresult
   RunOnIOThread();
 
   void
   RunOnOwningThread();
 
   nsresult
@@ -7817,18 +7799,17 @@ class CreateFileOp final
 
   RefPtr<FileInfo> mFileInfo;
 
 public:
   CreateFileOp(Database* aDatabase,
                const DatabaseRequestParams& aParams);
 
 private:
-  ~CreateFileOp()
-  { }
+  ~CreateFileOp() = default;
 
   nsresult
   CreateMutableFile(MutableFile** aMutableFile);
 
   virtual nsresult
   DoDatabaseWork() override;
 
   virtual void
@@ -7843,18 +7824,17 @@ public:
   Cleanup() override;
 
 protected:
   explicit VersionChangeTransactionOp(VersionChangeTransaction* aTransaction)
     : TransactionDatabaseOperationBase(aTransaction)
   { }
 
   virtual
-  ~VersionChangeTransactionOp()
-  { }
+  ~VersionChangeTransactionOp() = default;
 
 private:
   virtual nsresult
   SendSuccessResult() override;
 
   virtual bool
   SendFailureResult(nsresult aResultCode) override;
 };
@@ -7871,18 +7851,17 @@ private:
   CreateObjectStoreOp(VersionChangeTransaction* aTransaction,
                       const ObjectStoreMetadata& aMetadata)
     : VersionChangeTransactionOp(aTransaction)
     , mMetadata(aMetadata)
   {
     MOZ_ASSERT(aMetadata.id());
   }
 
-  ~CreateObjectStoreOp()
-  { }
+  ~CreateObjectStoreOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 };
 
 class DeleteObjectStoreOp final
   : public VersionChangeTransactionOp
 {
@@ -7898,18 +7877,17 @@ private:
                       const bool aIsLastObjectStore)
     : VersionChangeTransactionOp(aTransaction)
     , mMetadata(aMetadata)
     , mIsLastObjectStore(aIsLastObjectStore)
   {
     MOZ_ASSERT(aMetadata->mCommonMetadata.id());
   }
 
-  ~DeleteObjectStoreOp()
-  { }
+  ~DeleteObjectStoreOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 };
 
 class RenameObjectStoreOp final
   : public VersionChangeTransactionOp
 {
@@ -7924,18 +7902,17 @@ private:
                       FullObjectStoreMetadata* const aMetadata)
     : VersionChangeTransactionOp(aTransaction)
     , mId(aMetadata->mCommonMetadata.id())
     , mNewName(aMetadata->mCommonMetadata.name())
   {
     MOZ_ASSERT(mId);
   }
 
-  ~RenameObjectStoreOp()
-  { }
+  ~RenameObjectStoreOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 };
 
 class CreateIndexOp final
   : public VersionChangeTransactionOp
 {
@@ -7956,18 +7933,17 @@ class CreateIndexOp final
   const uint64_t mObjectStoreId;
 
 private:
   // Only created by VersionChangeTransaction.
   CreateIndexOp(VersionChangeTransaction* aTransaction,
                 const int64_t aObjectStoreId,
                 const IndexMetadata& aMetadata);
 
-  ~CreateIndexOp()
-  { }
+  ~CreateIndexOp() = default;
 
   nsresult
   InsertDataFromObjectStore(DatabaseConnection* aConnection);
 
   nsresult
   InsertDataFromObjectStoreInternal(DatabaseConnection* aConnection);
 
   virtual bool
@@ -8065,18 +8041,17 @@ public:
     MOZ_ASSERT(aConnection);
     aConnection->AssertIsOnConnectionThread();
     MOZ_ASSERT(aCx);
   }
 
   NS_DECL_ISUPPORTS
 
 private:
-  ~UpdateIndexDataValuesFunction()
-  { }
+  ~UpdateIndexDataValuesFunction() = default;
 
   NS_DECL_MOZISTORAGEFUNCTION
 };
 
 class DeleteIndexOp final
   : public VersionChangeTransactionOp
 {
   friend class VersionChangeTransaction;
@@ -8089,18 +8064,17 @@ class DeleteIndexOp final
 private:
   // Only created by VersionChangeTransaction.
   DeleteIndexOp(VersionChangeTransaction* aTransaction,
                 const int64_t aObjectStoreId,
                 const int64_t aIndexId,
                 const bool aUnique,
                 const bool aIsLastIndex);
 
-  ~DeleteIndexOp()
-  { }
+  ~DeleteIndexOp() = default;
 
   nsresult
   RemoveReferencesToIndex(DatabaseConnection* aConnection,
                           const Key& aObjectDataKey,
                           nsTArray<IndexDataValue>& aIndexValues);
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
@@ -8123,18 +8097,17 @@ private:
     : VersionChangeTransactionOp(aTransaction)
     , mObjectStoreId(aObjectStoreId)
     , mIndexId(aMetadata->mCommonMetadata.id())
     , mNewName(aMetadata->mCommonMetadata.name())
   {
     MOZ_ASSERT(mIndexId);
   }
 
-  ~RenameIndexOp()
-  { }
+  ~RenameIndexOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 };
 
 class NormalTransactionOp
   : public TransactionDatabaseOperationBase
   , public PBackgroundIDBRequestParent
@@ -8151,18 +8124,17 @@ protected:
   explicit NormalTransactionOp(TransactionBase* aTransaction)
     : TransactionDatabaseOperationBase(aTransaction)
 #ifdef DEBUG
     , mResponseSent(false)
 #endif
   { }
 
   virtual
-  ~NormalTransactionOp()
-  { }
+  ~NormalTransactionOp() = default;
 
   // An overload of DatabaseOperationBase's function that can avoid doing extra
   // work on non-versionchange transactions.
   static nsresult
   ObjectStoreHasIndexes(NormalTransactionOp* aOp,
                         DatabaseConnection* aConnection,
                         const int64_t aObjectStoreId,
                         const bool aMayHaveIndexes,
@@ -8223,18 +8195,17 @@ class ObjectStoreAddOrPutRequestOp final
   bool mObjectStoreMayHaveIndexes;
   bool mDataOverThreshold;
 
 private:
   // Only created by TransactionBase.
   ObjectStoreAddOrPutRequestOp(TransactionBase* aTransaction,
                                const RequestParams& aParams);
 
-  ~ObjectStoreAddOrPutRequestOp()
-  { }
+  ~ObjectStoreAddOrPutRequestOp() = default;
 
   nsresult
   RemoveOldIndexDataValues(DatabaseConnection* aConnection);
 
   nsresult
   CopyFileData(nsIInputStream* aInputStream,
                nsIOutputStream* aOutputStream,
                char* aBuffer,
@@ -8322,18 +8293,17 @@ class ObjectStoreAddOrPutRequestOp::SCIn
 
 public:
   explicit SCInputStream(const JSStructuredCloneData& aData)
     : mData(aData)
     , mIter(aData.Iter())
   { }
 
 private:
-  virtual ~SCInputStream()
-  { }
+  virtual ~SCInputStream() = default;
 
   NS_DECL_THREADSAFE_ISUPPORTS
   NS_DECL_NSIINPUTSTREAM
 };
 
 class ObjectStoreGetRequestOp final
   : public NormalTransactionOp
 {
@@ -8349,18 +8319,17 @@ class ObjectStoreGetRequestOp final
   const bool mGetAll;
 
 private:
   // Only created by TransactionBase.
   ObjectStoreGetRequestOp(TransactionBase* aTransaction,
                           const RequestParams& aParams,
                           bool aGetAll);
 
-  ~ObjectStoreGetRequestOp()
-  { }
+  ~ObjectStoreGetRequestOp() = default;
 
   template <bool aForPreprocess, typename T>
   nsresult
   ConvertResponse(StructuredCloneReadInfo& aInfo, T& aResult);
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
@@ -8386,18 +8355,17 @@ class ObjectStoreGetKeyRequestOp final
   FallibleTArray<Key> mResponse;
 
 private:
   // Only created by TransactionBase.
   ObjectStoreGetKeyRequestOp(TransactionBase* aTransaction,
                              const RequestParams& aParams,
                              bool aGetAll);
 
-  ~ObjectStoreGetKeyRequestOp()
-  { }
+  ~ObjectStoreGetKeyRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override;
 };
 
@@ -8409,18 +8377,17 @@ class ObjectStoreDeleteRequestOp final
   const ObjectStoreDeleteParams mParams;
   ObjectStoreDeleteResponse mResponse;
   bool mObjectStoreMayHaveIndexes;
 
 private:
   ObjectStoreDeleteRequestOp(TransactionBase* aTransaction,
                              const ObjectStoreDeleteParams& aParams);
 
-  ~ObjectStoreDeleteRequestOp()
-  { }
+  ~ObjectStoreDeleteRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override
   {
     aResponse = Move(mResponse);
@@ -8435,18 +8402,17 @@ class ObjectStoreClearRequestOp final
   const ObjectStoreClearParams mParams;
   ObjectStoreClearResponse mResponse;
   bool mObjectStoreMayHaveIndexes;
 
 private:
   ObjectStoreClearRequestOp(TransactionBase* aTransaction,
                             const ObjectStoreClearParams& aParams);
 
-  ~ObjectStoreClearRequestOp()
-  { }
+  ~ObjectStoreClearRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override
   {
     aResponse = Move(mResponse);
@@ -8463,18 +8429,17 @@ class ObjectStoreCountRequestOp final
 
 private:
   ObjectStoreCountRequestOp(TransactionBase* aTransaction,
                             const ObjectStoreCountParams& aParams)
     : NormalTransactionOp(aTransaction)
     , mParams(aParams)
   { }
 
-  ~ObjectStoreCountRequestOp()
-  { }
+  ~ObjectStoreCountRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override
   {
     aResponse = Move(mResponse);
@@ -8490,18 +8455,17 @@ protected:
 protected:
   IndexRequestOpBase(TransactionBase* aTransaction,
                      const RequestParams& aParams)
     : NormalTransactionOp(aTransaction)
     , mMetadata(IndexMetadataForParams(aTransaction, aParams))
   { }
 
   virtual
-  ~IndexRequestOpBase()
-  { }
+  ~IndexRequestOpBase() = default;
 
 private:
   static already_AddRefed<FullIndexMetadata>
   IndexMetadataForParams(TransactionBase* aTransaction,
                          const RequestParams& aParams);
 };
 
 class IndexGetRequestOp final
@@ -8517,18 +8481,17 @@ class IndexGetRequestOp final
   const bool mGetAll;
 
 private:
   // Only created by TransactionBase.
   IndexGetRequestOp(TransactionBase* aTransaction,
                     const RequestParams& aParams,
                     bool aGetAll);
 
-  ~IndexGetRequestOp()
-  { }
+  ~IndexGetRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override;
 };
 
@@ -8543,18 +8506,17 @@ class IndexGetKeyRequestOp final
   const bool mGetAll;
 
 private:
   // Only created by TransactionBase.
   IndexGetKeyRequestOp(TransactionBase* aTransaction,
                        const RequestParams& aParams,
                        bool aGetAll);
 
-  ~IndexGetKeyRequestOp()
-  { }
+  ~IndexGetKeyRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override;
 };
 
@@ -8569,18 +8531,17 @@ class IndexCountRequestOp final
 private:
   // Only created by TransactionBase.
   IndexCountRequestOp(TransactionBase* aTransaction,
                       const RequestParams& aParams)
     : IndexRequestOpBase(aTransaction, aParams)
     , mParams(aParams.get_IndexCountParams())
   { }
 
-  ~IndexCountRequestOp()
-  { }
+  ~IndexCountRequestOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual void
   GetResponse(RequestResponse& aResponse) override
   {
     aResponse = Move(mResponse);
@@ -8703,18 +8664,17 @@ protected:
     , mResponseSent(false)
 #endif
   {
     AssertIsOnBackgroundThread();
     MOZ_ASSERT(aCursor);
   }
 
   virtual
-  ~CursorOpBase()
-  { }
+  ~CursorOpBase() = default;
 
   virtual bool
   SendFailureResult(nsresult aResultCode) override;
 
   virtual void
   Cleanup() override;
 
   nsresult
@@ -8733,18 +8693,17 @@ private:
   // Only created by Cursor.
   OpenOp(Cursor* aCursor,
          const OptionalKeyRange& aOptionalKeyRange)
     : CursorOpBase(aCursor)
     , mOptionalKeyRange(aOptionalKeyRange)
   { }
 
   // Reference counted.
-  ~OpenOp()
-  { }
+  ~OpenOp() = default;
 
   void
   GetRangeKeyInfo(bool aLowerBound, Key* aKey, bool* aOpen);
 
   nsresult
   DoObjectStoreDatabaseWork(DatabaseConnection* aConnection);
 
   nsresult
@@ -8776,18 +8735,17 @@ private:
              const CursorRequestParams& aParams)
     : CursorOpBase(aCursor)
     , mParams(aParams)
   {
     MOZ_ASSERT(aParams.type() != CursorRequestParams::T__None);
   }
 
   // Reference counted.
-  ~ContinueOp()
-  { }
+  ~ContinueOp() = default;
 
   virtual nsresult
   DoDatabaseWork(DatabaseConnection* aConnection) override;
 
   virtual nsresult
   SendSuccessResult() override;
 };
 
@@ -8861,27 +8819,26 @@ public:
 
   nsresult
   DispatchAndReturnFileReferences(int32_t* aMemRefCnt,
                                   int32_t* aDBRefCnt,
                                   int32_t* aSliceRefCnt,
                                   bool* aResult);
 
 private:
-  ~GetFileReferencesHelper() {}
+  ~GetFileReferencesHelper() = default;
 
   NS_DECL_NSIRUNNABLE
 };
 
 class FlushPendingFileDeletionsRunnable final
   : public Runnable
 {
 private:
-  ~FlushPendingFileDeletionsRunnable()
-  { }
+  ~FlushPendingFileDeletionsRunnable() = default;
 
   NS_DECL_NSIRUNNABLE
 };
 
 class PermissionRequestHelper final
   : public PermissionRequestBase
   , public PIndexedDBPermissionRequestParent
 {
@@ -8890,18 +8847,17 @@ class PermissionRequestHelper final
 public:
   PermissionRequestHelper(Element* aOwnerElement,
                           nsIPrincipal* aPrincipal)
     : PermissionRequestBase(aOwnerElement, aPrincipal)
     , mActorDestroyed(false)
   { }
 
 protected:
-  ~PermissionRequestHelper()
-  { }
+  ~PermissionRequestHelper() = default;
 
 private:
   virtual void
   OnPromptComplete(PermissionValue aPermissionValue) override;
 
   virtual void
   ActorDestroy(ActorDestroyReason aWhy) override;
 };
@@ -9041,18 +8997,17 @@ public:
   GetFileInfo() const
   {
     AssertIsOnBackgroundThread();
 
     return mFileInfo;
   }
 
 private:
-  ~BlobImplStoredFile()
-  { }
+  ~BlobImplStoredFile() = default;
 
   NS_DECL_ISUPPORTS_INHERITED
   NS_DECLARE_STATIC_IID_ACCESSOR(BLOB_IMPL_STORED_FILE_IID)
 
   virtual int64_t
   GetFileId() override
   {
     MOZ_ASSERT(mFileInfo);
@@ -9498,18 +9453,17 @@ public:
   {
     AssertIsOnBackgroundThread();
     MOZ_ASSERT(!mCompleteCallback);
 
     mCompleteCallback = aCallback;
   }
 
 private:
-  ~DatabaseMaintenance()
-  { }
+  ~DatabaseMaintenance() = default;
 
   // Runs on maintenance thread pool. Does maintenance on the database.
   void
   PerformMaintenanceOnDatabase();
 
   // Runs on maintenance thread pool as part of PerformMaintenanceOnDatabase.
   nsresult
   CheckIntegrity(mozIStorageConnection* aConnection, bool* aOk);
@@ -16806,19 +16760,16 @@ FileManager::FileManager(PersistenceType
   , mOrigin(aOrigin)
   , mDatabaseName(aDatabaseName)
   , mLastFileId(0)
   , mIsApp(aIsApp)
   , mEnforcingQuota(aEnforcingQuota)
   , mInvalidated(false)
 { }
 
-FileManager::~FileManager()
-{ }
-
 nsresult
 FileManager::Init(nsIFile* aDirectory,
                   mozIStorageConnection* aConnection)
 {
   AssertIsOnIOThread();
   MOZ_ASSERT(aDirectory);
   MOZ_ASSERT(aConnection);
 
--- a/dom/indexedDB/FileManager.h
+++ b/dom/indexedDB/FileManager.h
@@ -135,16 +135,16 @@ public:
   GetFileInfo(int64_t aId);
 
   already_AddRefed<FileInfo>
   GetNewFileInfo();
 
   NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FileManager)
 
 private:
-  ~FileManager();
+  ~FileManager() = default;
 };
 
 } // namespace indexedDB
 } // namespace dom
 } // namespace mozilla
 
 #endif // mozilla_dom_indexeddb_filemanager_h__
--- a/dom/ipc/Blob.cpp
+++ b/dom/ipc/Blob.cpp
@@ -236,18 +236,17 @@ public:
   {
     MOZ_ASSERT(aRunnable);
     MOZ_ASSERT(aEventTarget);
   }
 
   NS_DECL_ISUPPORTS_INHERITED
 
 private:
-  ~CancelableRunnableWrapper()
-  { }
+  ~CancelableRunnableWrapper() = default;
 
   NS_DECL_NSIRUNNABLE
   nsresult Cancel() override;
 };
 
 NS_IMPL_ISUPPORTS_INHERITED0(CancelableRunnableWrapper, CancelableRunnable)
 
 NS_IMETHODIMP
@@ -462,18 +461,17 @@ public:
     nsCOMPtr<nsIFileMetadata> fileMetadata = do_QueryInterface(aStream);
     if (fileMetadata) {
       MOZ_ASSERT(SameCOMIdentity(aStream, fileMetadata));
       mWeakFileMetadata = fileMetadata;
     }
   }
 
 private:
-  ~BlobInputStreamTether()
-  { }
+  ~BlobInputStreamTether() = default;
 };
 
 NS_IMPL_ADDREF(BlobInputStreamTether)
 NS_IMPL_RELEASE(BlobInputStreamTether)
 
 NS_INTERFACE_MAP_BEGIN(BlobInputStreamTether)
   NS_INTERFACE_MAP_ENTRY(nsIInputStream)
   NS_INTERFACE_MAP_ENTRY_CONDITIONAL(nsIMultiplexInputStream,
@@ -572,18 +570,17 @@ public:
   {
     MOZ_ASSERT(aRemoteStream);
     aRemoteStream->AssertIsOnOwningThread();
   }
 
   InputStreamChild()
   { }
 
-  ~InputStreamChild()
-  { }
+  ~InputStreamChild() = default;
 
 private:
   // This method is only called by the IPDL message machinery.
   virtual bool
   Recv__delete__(const InputStreamParams& aParams,
                  const OptionalFileDescriptorSet& aFDs) override;
 };
 
@@ -1614,18 +1611,17 @@ public:
     NS_ENSURE_SUCCESS(rv, rv);
 
     return NS_OK;
   }
 
   NS_DECL_ISUPPORTS_INHERITED
 
 private:
-  ~OpenStreamRunnable()
-  { }
+  ~OpenStreamRunnable() = default;
 
   bool
   IsOnOwningThread() const
   {
     return EventTargetIsOnCurrentThread(mActorTarget);
   }
 
   void
@@ -2040,18 +2036,17 @@ public:
   }
 
   NS_DECL_ISUPPORTS_INHERITED
 
   virtual BlobChild*
   GetBlobChild() override;
 
 private:
-  ~RemoteBlobSliceImpl()
-  { }
+  ~RemoteBlobSliceImpl() = default;
 
   void
   EnsureActorWasCreatedInternal();
 };
 
 /*******************************************************************************
  * BlobParent::RemoteBlobImpl Declaration
  ******************************************************************************/
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -362,17 +362,17 @@ class AlertObserver
 public:
 
   AlertObserver(nsIObserver *aObserver, const nsString& aData)
     : mObserver(aObserver)
     , mData(aData)
   {
   }
 
-  ~AlertObserver() {}
+  ~AlertObserver() = default;
 
   bool ShouldRemoveFrom(nsIObserver* aObserver,
                         const nsString& aData) const
   {
     return (mObserver == aObserver && mData == aData);
   }
 
   bool Observes(const nsString& aData) const
@@ -396,17 +396,17 @@ class ConsoleListener final : public nsI
 public:
   explicit ConsoleListener(ContentChild* aChild)
   : mChild(aChild) {}
 
   NS_DECL_ISUPPORTS
   NS_DECL_NSICONSOLELISTENER
 
 private:
-  ~ConsoleListener() {}
+  ~ConsoleListener() = default;
 
   ContentChild* mChild;
   friend class ContentChild;
 };
 
 NS_IMPL_ISUPPORTS(ConsoleListener, nsIConsoleListener)
 
 // Before we send the error to the parent process (which
@@ -471,18 +471,17 @@ class BackgroundChildPrimer final :
 {
 public:
   BackgroundChildPrimer()
   { }
 
   NS_DECL_ISUPPORTS
 
 private:
-  ~BackgroundChildPrimer()
-  { }
+  ~BackgroundChildPrimer() = default;
 
   virtual void
   ActorCreated(PBackgroundChild* aActor) override
   {
     MOZ_ASSERT(aActor, "Failed to create a PBackgroundChild actor!");
   }
 
   virtual void
@@ -1003,17 +1002,17 @@ public:
                       nsISupports* aUnused) override
   {
     MemoryReport memreport(mProcess, nsCString(aPath), aKind, aUnits,
                            aAmount, nsCString(aDescription));
     mActor->SendReport(memreport);
     return NS_OK;
   }
 private:
-  ~HandleReportCallback() {}
+  ~HandleReportCallback() = default;
 
   RefPtr<MemoryReportRequestChild> mActor;
   const nsCString mProcess;
 };
 
 NS_IMPL_ISUPPORTS(
   HandleReportCallback
 , nsIHandleReportCallback
@@ -1031,17 +1030,17 @@ public:
 
   NS_IMETHOD Callback(nsISupports* aUnused) override
   {
     bool sent = PMemoryReportRequestChild::Send__delete__(mActor);
     return sent ? NS_OK : NS_ERROR_FAILURE;
   }
 
 private:
-  ~FinishReportingCallback() {}
+  ~FinishReportingCallback() = default;
 
   RefPtr<MemoryReportRequestChild> mActor;
 };
 
 NS_IMPL_ISUPPORTS(
   FinishReportingCallback
 , nsIFinishReportingCallback
 )
--- a/dom/ipc/ProcessHangMonitor.cpp
+++ b/dom/ipc/ProcessHangMonitor.cpp
@@ -190,17 +190,17 @@ public:
   }
 
   void ClearHang() {
     mHangData = HangData();
     mDumpId.Truncate();
   }
 
 private:
-  ~HangMonitoredProcess() {}
+  ~HangMonitoredProcess() = default;
 
   // Everything here is main thread-only.
   HangMonitorParent* mActor;
   ContentParent* mContentParent;
   HangData mHangData;
   nsAutoString mDumpId;
 };
 
--- a/dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
+++ b/dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
@@ -282,18 +282,17 @@ class FakeDecoderTask : public GMPTask {
 };
 
 class FakeVideoDecoder : public GMPVideoDecoder {
  public:
   explicit FakeVideoDecoder (GMPVideoHost* hostAPI) :
     host_ (hostAPI),
     callback_ (NULL) {}
 
-  virtual ~FakeVideoDecoder() {
-  }
+  virtual ~FakeVideoDecoder() = default;
 
   virtual void InitDecode (const GMPVideoCodec& codecSettings,
                              const uint8_t* aCodecSpecific,
                              uint32_t aCodecSpecificSize,
                              GMPVideoDecoderCallback* callback,
                              int32_t coreCount) {
     GMPLOG (GL_INFO, "InitDecode");
 
--- a/dom/media/gmp/GMPLoader.cpp
+++ b/dom/media/gmp/GMPLoader.cpp
@@ -23,17 +23,17 @@ namespace mozilla {
 namespace gmp {
 
 class GMPLoaderImpl : public GMPLoader {
 public:
   explicit GMPLoaderImpl(SandboxStarter* aStarter)
     : mSandboxStarter(aStarter)
     , mAdapter(nullptr)
   {}
-  virtual ~GMPLoaderImpl() {}
+  virtual ~GMPLoaderImpl() = default;
 
   bool Load(const char* aUTF8LibPath,
             uint32_t aUTF8LibPathLen,
             char* aOriginSalt,
             uint32_t aOriginSaltLen,
             const GMPPlatformAPI* aPlatformAPI,
             GMPAdapter* aAdapter) override;
 
--- a/dom/media/gmp/widevine-adapter/WidevineDecryptor.cpp
+++ b/dom/media/gmp/widevine-adapter/WidevineDecryptor.cpp
@@ -269,17 +269,17 @@ public:
   TimerTask(WidevineDecryptor* aDecryptor,
             RefPtr<CDMWrapper> aCDM,
             void* aContext)
     : mDecryptor(aDecryptor)
     , mCDM(aCDM)
     , mContext(aContext)
   {
   }
-  ~TimerTask() override {}
+  ~TimerTask() override = default;
   void Run() override {
     mCDM->GetCDM()->TimerExpired(mContext);
   }
   void Destroy() override { delete this; }
 private:
   RefPtr<WidevineDecryptor> mDecryptor;
   RefPtr<CDMWrapper> mCDM;
   void* mContext;
--- a/dom/media/ipc/VideoDecoderManagerParent.cpp
+++ b/dom/media/ipc/VideoDecoderManagerParent.cpp
@@ -39,17 +39,17 @@ VideoDecoderManagerParent::StoreImage(Im
   return SurfaceDescriptorGPUVideo(aTexture->GetSerial());
 }
 
 StaticRefPtr<nsIThread> sVideoDecoderManagerThread;
 StaticRefPtr<TaskQueue> sManagerTaskQueue;
 
 class ManagerThreadShutdownObserver : public nsIObserver
 {
-  virtual ~ManagerThreadShutdownObserver() {}
+  virtual ~ManagerThreadShutdownObserver() = default;
 public:
   ManagerThreadShutdownObserver() {}
 
   NS_DECL_ISUPPORTS
 
   NS_IMETHOD Observe(nsISupports* aSubject, const char* aTopic,
                      const char16_t* aData) override
   {
--- a/dom/media/ipc/VideoDecoderParent.cpp
+++ b/dom/media/ipc/VideoDecoderParent.cpp
@@ -33,17 +33,17 @@ public:
   {
     return VideoBridgeChild::GetSingleton();
   }
   layers::LayersIPCActor* GetLayersIPCActor() override
   {
     return VideoBridgeChild::GetSingleton();
   }
 private:
-  virtual ~KnowsCompositorVideo() {}
+  virtual ~KnowsCompositorVideo() = default;
 };
 
 VideoDecoderParent::VideoDecoderParent(VideoDecoderManagerParent* aParent,
                                        TaskQueue* aManagerTaskQueue,
                                        TaskQueue* aDecodeTaskQueue)
   : mParent(aParent)
   , mManagerTaskQueue(aManagerTaskQueue)
   , mDecodeTaskQueue(aDecodeTaskQueue)
--- a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h
+++ b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.h
@@ -25,17 +25,17 @@ public:
   bool Init();
 
   static OSXSpeechSynthesizerService* GetInstance();
   static already_AddRefed<OSXSpeechSynthesizerService> GetInstanceForService();
   static void Shutdown();
 
 private:
   OSXSpeechSynthesizerService();
-  virtual ~OSXSpeechSynthesizerService();
+  virtual ~OSXSpeechSynthesizerService() = default;
 
   bool RegisterVoices();
 
   bool mInitialized;
   static mozilla::StaticRefPtr<OSXSpeechSynthesizerService> sSingleton;
 };
 
 } // namespace dom
--- a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
+++ b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
@@ -226,19 +226,17 @@ public:
     : mSpeechService(aSpeechService)
     , mVoices(aList)
   {
   }
 
   NS_IMETHOD Run() override;
 
 private:
-  ~RegisterVoicesRunnable()
-  {
-  }
+  ~RegisterVoicesRunnable() = default;
 
   // This runnable always use sync mode.  It is unnecesarry to reference object
   OSXSpeechSynthesizerService* mSpeechService;
   nsTArray<OSXVoice>& mVoices;
 };
 
 NS_IMETHODIMP
 RegisterVoicesRunnable::Run()
@@ -272,19 +270,17 @@ public:
   explicit EnumVoicesRunnable(OSXSpeechSynthesizerService* aSpeechService)
     : mSpeechService(aSpeechService)
   {
   }
 
   NS_IMETHOD Run() override;
 
 private:
-  ~EnumVoicesRunnable()
-  {
-  }
+  ~EnumVoicesRunnable() = default;
 
   RefPtr<OSXSpeechSynthesizerService> mSpeechService;
 };
 
 NS_IMETHODIMP
 EnumVoicesRunnable::Run()
 {
   NS_OBJC_BEGIN_TRY_ABORT_BLOCK_NSRESULT;
@@ -338,19 +334,16 @@ NS_INTERFACE_MAP_END
 NS_IMPL_ADDREF(OSXSpeechSynthesizerService)
 NS_IMPL_RELEASE(OSXSpeechSynthesizerService)
 
 OSXSpeechSynthesizerService::OSXSpeechSynthesizerService()
   : mInitialized(false)
 {
 }
 
-OSXSpeechSynthesizerService::~OSXSpeechSynthesizerService()
-{
-}
 
 bool
 OSXSpeechSynthesizerService::Init()
 {
   if (Preferences::GetBool("media.webspeech.synth.test") ||
       !Preferences::GetBool("media.webspeech.synth.enabled")) {
     // When test is enabled, we shouldn't add OS backend (Bug 1160844)
     return false;
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -201,18 +201,17 @@ busy_beaver_PR_Read(PRFileDesc *fd, void
 NS_IMPL_ISUPPORTS0(nsInvalidPluginTag)
 
 nsInvalidPluginTag::nsInvalidPluginTag(const char* aFullPath, int64_t aLastModifiedTime)
 : mFullPath(aFullPath),
   mLastModifiedTime(aLastModifiedTime),
   mSeen(false)
 {}
 
-nsInvalidPluginTag::~nsInvalidPluginTag()
-{}
+nsInvalidPluginTag::~nsInvalidPluginTag() = default;
 
 // Helper to check for a MIME in a comma-delimited preference
 static bool
 IsTypeInList(const nsCString& aMimeType, nsCString aTypeList)
 {
   nsAutoCString searchStr;
   searchStr.Assign(',');
   searchStr.Append(aTypeList);
@@ -1672,17 +1671,17 @@ public:
   nsCOMPtr<nsIClearSiteDataCallback> callback;
   InfallibleTArray<nsCString> matches;
   nsIPluginTag* tag;
   uint64_t flags;
   int64_t maxAge;
   nsPluginHost* host;
   NS_DECLARE_STATIC_IID_ACCESSOR(ClearDataFromSitesClosure_CID)
   private:
-  virtual ~ClearDataFromSitesClosure() {}
+  virtual ~ClearDataFromSitesClosure() = default;
 };
 
 NS_DEFINE_STATIC_IID_ACCESSOR(ClearDataFromSitesClosure, ClearDataFromSitesClosure_CID)
 
 NS_IMPL_ADDREF(ClearDataFromSitesClosure)
 NS_IMPL_RELEASE(ClearDataFromSitesClosure)
 
 NS_INTERFACE_MAP_BEGIN(ClearDataFromSitesClosure)
@@ -1778,18 +1777,17 @@ public:
 
   nsCString domain;
   RefPtr<nsPluginHost> host;
   bool result;
   bool keepWaiting;
   nsresult retVal;
   NS_DECLARE_STATIC_IID_ACCESSOR(GetSitesClosure_CID)
   private:
-  virtual ~GetSitesClosure() {
-  }
+  virtual ~GetSitesClosure() = default;
 };
 
 NS_DEFINE_STATIC_IID_ACCESSOR(GetSitesClosure, GetSitesClosure_CID)
 
 NS_IMPL_ISUPPORTS(GetSitesClosure, GetSitesClosure, nsIGetSitesWithDataCallback)
 
 // This will spin the event loop while waiting on an async
 // call to GetSitesWithData
--- a/dom/system/mac/CoreLocationLocationProvider.h
+++ b/dom/system/mac/CoreLocationLocationProvider.h
@@ -34,27 +34,27 @@ public:
 
   CoreLocationLocationProvider();
   void NotifyError(uint16_t aErrorCode);
   void Update(nsIDOMGeoPosition* aSomewhere);
   void CreateMLSFallbackProvider();
   void CancelMLSFallbackProvider();
 
 private:
-  virtual ~CoreLocationLocationProvider();
+  virtual ~CoreLocationLocationProvider() = default;
 
   CoreLocationObjects* mCLObjects;
   nsCOMPtr<nsIGeolocationUpdate> mCallback;
   RefPtr<MLSFallback> mMLSFallbackProvider;
 
   class MLSUpdate : public nsIGeolocationUpdate
   {
   public:
     NS_DECL_ISUPPORTS
     NS_DECL_NSIGEOLOCATIONUPDATE
 
     explicit MLSUpdate(CoreLocationLocationProvider& parentProvider);
 
   private:
     CoreLocationLocationProvider& mParentLocationProvider;
-    virtual ~MLSUpdate();
+    virtual ~MLSUpdate() = default;
   };
 };
--- a/dom/system/mac/CoreLocationLocationProvider.mm
+++ b/dom/system/mac/CoreLocationLocationProvider.mm
@@ -109,20 +109,16 @@ static const CLLocationAccuracy kDEFAULT
 
 NS_IMPL_ISUPPORTS(CoreLocationLocationProvider::MLSUpdate, nsIGeolocationUpdate);
 
 CoreLocationLocationProvider::MLSUpdate::MLSUpdate(CoreLocationLocationProvider& parentProvider)
   : mParentLocationProvider(parentProvider)
 {
 }
 
-CoreLocationLocationProvider::MLSUpdate::~MLSUpdate()
-{
-}
-
 NS_IMETHODIMP
 CoreLocationLocationProvider::MLSUpdate::Update(nsIDOMGeoPosition *position)
 {
   nsCOMPtr<nsIDOMGeoPositionCoords> coords;
   position->GetCoords(getter_AddRefs(coords));
   if (!coords) {
     return NS_ERROR_FAILURE;
   }
@@ -167,20 +163,16 @@ public:
 
 NS_IMPL_ISUPPORTS(CoreLocationLocationProvider, nsIGeolocationProvider)
 
 CoreLocationLocationProvider::CoreLocationLocationProvider()
   : mCLObjects(nullptr), mMLSFallbackProvider(nullptr)
 {
 }
 
-CoreLocationLocationProvider::~CoreLocationLocationProvider()
-{
-}
-
 NS_IMETHODIMP
 CoreLocationLocationProvider::Startup()
 {
   if (!mCLObjects) {
     nsAutoPtr<CoreLocationObjects> clObjs(new CoreLocationObjects());
 
     nsresult rv = clObjs->Init(this);
     NS_ENSURE_SUCCESS(rv, rv);