Backed out 4 changesets (bug 525063) on request from Andi. a=backout
authorSebastian Hengst <archaeopteryx@coole-files.de>
Fri, 13 Apr 2018 16:01:28 +0300
changeset 413143 8a94faa5cc60495da5d80d4b3c07bf5877d2e6d8
parent 413142 cf543bdd424f24f5320d6284c19cb5c51eda054a
child 413166 d4974439aa6b2db8794faec2dbfb697b13bc6784
child 413182 c51da7704570d4819da64d33dc7bf8ec9d2639d5
push id33835
push userarchaeopteryx@coole-files.de
push dateFri, 13 Apr 2018 13:02:46 +0000
treeherdermozilla-central@8a94faa5cc60 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs525063
milestone61.0a1
backs out516c4fb1e4b862b78a40c472e4d61dea79d51890
6ff8aaef28669cc3945291a182232680481256da
bf13e41031509f912c8170d9d244b4628908aec0
d7d2f08e051c3c355d41dc5c1ce1bd3ca55a43b9
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 4 changesets (bug 525063) on request from Andi. a=backout Backed out changeset 516c4fb1e4b8 (bug 525063) Backed out changeset 6ff8aaef2866 (bug 525063) Backed out changeset bf13e4103150 (bug 525063) Backed out changeset d7d2f08e051c (bug 525063)
accessible/base/TextAttrs.h
devtools/shared/heapsnapshot/AutoMemMap.h
devtools/shared/heapsnapshot/CoreDump.pb.h
devtools/shared/heapsnapshot/HeapSnapshot.cpp
docshell/base/SerializedLoadContext.cpp
docshell/base/nsDocShell.cpp
dom/animation/ComputedTimingFunction.h
dom/asmjscache/AsmJSCache.cpp
dom/base/DOMException.cpp
dom/base/EventSource.cpp
dom/base/NodeIterator.h
dom/base/TextInputProcessor.cpp
dom/base/nsContentList.h
dom/base/nsContentPermissionHelper.cpp
dom/base/nsDocument.cpp
dom/base/nsDocumentEncoder.cpp
dom/base/nsFrameLoader.cpp
dom/base/nsGlobalWindowOuter.cpp
dom/base/nsJSEnvironment.cpp
dom/base/nsPlainTextSerializer.cpp
dom/base/nsQueryContentEventResult.cpp
dom/base/nsSyncLoadService.cpp
dom/base/nsXHTMLContentSerializer.cpp
dom/base/nsXMLContentSerializer.cpp
dom/base/nsXMLNameSpaceMap.h
dom/bindings/BindingDeclarations.h
dom/bindings/BindingUtils.cpp
dom/bindings/ErrorResult.h
dom/bindings/FakeString.h
dom/bindings/TypedArray.h
dom/cache/SavedTypes.h
dom/canvas/CanvasRenderingContext2D.cpp
dom/canvas/WebGLContext.cpp
dom/canvas/WebGLStrongTypes.h
dom/canvas/WebGLTexture.cpp
dom/canvas/WebGLTransformFeedback.cpp
dom/canvas/WebGLVertexAttribData.h
dom/commandhandler/nsCommandParams.h
dom/crypto/WebCryptoTask.cpp
dom/events/EventStateManager.cpp
dom/events/IMEContentObserver.cpp
dom/events/TextComposition.h
dom/events/XULCommandEvent.cpp
dom/fetch/FetchDriver.cpp
dom/fetch/InternalRequest.cpp
dom/filesystem/FileSystemTaskBase.h
dom/filesystem/GetFilesHelper.h
dom/gamepad/GamepadHapticActuator.h
dom/grid/GridLine.cpp
dom/ipc/ContentBridgeParent.cpp
dom/ipc/FilePickerParent.h
dom/ipc/ProcessHangMonitor.cpp
dom/ipc/TabChild.cpp
dom/ipc/TabParent.cpp
dom/media/BufferReader.h
dom/media/DOMMediaStream.cpp
dom/media/GetUserMediaRequest.cpp
dom/media/MediaCache.cpp
dom/media/MediaCache.h
dom/media/MediaDecoderStateMachine.cpp
dom/media/MediaRecorder.cpp
dom/media/MediaStreamGraph.cpp
dom/media/StreamTracks.h
dom/media/VideoUtils.h
dom/media/eme/MediaKeyMessageEvent.cpp
dom/media/encoder/TrackEncoder.h
dom/media/gmp/GMPContentParent.cpp
dom/media/gmp/GMPTimerParent.h
dom/media/ipc/RemoteVideoDecoder.cpp
dom/media/mp4/Box.cpp
dom/media/mp4/MP4Demuxer.cpp
dom/media/mp4/MP4Metadata.cpp
dom/media/mp4/MoofParser.cpp
dom/media/ogg/OggWriter.cpp
dom/media/ogg/OpusParser.cpp
dom/media/platforms/agnostic/TheoraDecoder.cpp
dom/media/platforms/apple/AppleATDecoder.cpp
dom/media/systemservices/CamerasChild.cpp
dom/media/systemservices/CamerasParent.cpp
dom/media/systemservices/MediaSystemResourceManagerChild.cpp
dom/media/systemservices/VideoEngine.cpp
dom/media/systemservices/VideoEngine.h
dom/media/wave/WaveDemuxer.cpp
dom/media/webaudio/AudioBufferSourceNode.cpp
dom/media/webaudio/AudioEventTimeline.cpp
dom/media/webaudio/AudioProcessingEvent.cpp
dom/media/webaudio/DelayBuffer.h
dom/media/webaudio/blink/HRTFPanner.cpp
dom/media/webaudio/blink/PeriodicWave.cpp
dom/media/webm/EbmlComposer.cpp
dom/media/webm/NesteggPacketHolder.h
dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
dom/media/webspeech/synth/ipc/SpeechSynthesisChild.cpp
dom/media/webspeech/synth/ipc/SpeechSynthesisParent.h
dom/media/webspeech/synth/nsSynthVoiceRegistry.cpp
dom/messagechannel/MessagePort.cpp
dom/payments/PaymentActionResponse.cpp
dom/performance/Performance.cpp
dom/plugins/base/nsPluginHost.cpp
dom/plugins/base/nsPluginInstanceOwner.cpp
dom/plugins/base/nsPluginManifestLineReader.h
dom/plugins/base/nsPluginStreamListenerPeer.cpp
dom/plugins/base/nsPluginTags.cpp
dom/plugins/base/nsPluginsDirDarwin.cpp
dom/plugins/ipc/PluginInstanceChild.cpp
dom/plugins/ipc/PluginModuleParent.cpp
dom/presentation/PresentationReceiver.cpp
dom/security/SRICheck.cpp
dom/serviceworkers/ServiceWorkerUpdateJob.cpp
dom/smil/nsSMILKeySpline.h
dom/smil/nsSMILValue.cpp
dom/storage/StorageIPC.cpp
dom/svg/DOMSVGPathSegList.h
dom/svg/SVGAnimatedNumberList.h
dom/svg/SVGGeometryElement.h
dom/svg/SVGLength.h
dom/svg/SVGLengthList.h
dom/svg/SVGMotionSMILType.cpp
dom/svg/nsSVGViewBox.h
dom/vr/VRDisplay.cpp
dom/websocket/WebSocket.cpp
dom/workers/WorkerScope.cpp
dom/xbl/nsXBLBinding.cpp
dom/xbl/nsXBLProtoImplField.cpp
dom/xbl/nsXBLPrototypeBinding.cpp
dom/xbl/nsXBLPrototypeHandler.cpp
dom/xbl/nsXBLResourceLoader.cpp
dom/xhr/XMLHttpRequestMainThread.cpp
dom/xml/nsXMLContentSink.cpp
dom/xslt/xpath/txExprLexer.cpp
dom/xslt/xslt/txExecutionState.cpp
dom/xslt/xslt/txStylesheetCompiler.cpp
dom/xul/nsXULContentSink.h
dom/xul/nsXULSortService.h
editor/libeditor/SelectionState.cpp
editor/spellchecker/nsFilteredContentIterator.h
extensions/auth/nsAuthSambaNTLM.cpp
extensions/auth/nsHttpNegotiateAuth.cpp
extensions/pref/autoconfig/src/nsAutoConfig.cpp
extensions/spellcheck/src/mozInlineSpellChecker.cpp
extensions/spellcheck/src/mozSpellChecker.cpp
extensions/universalchardet/src/base/CharDistribution.h
extensions/universalchardet/src/base/nsCodingStateMachine.h
extensions/universalchardet/src/base/nsUniversalDetector.cpp
extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.cpp
gfx/2d/2D.h
gfx/2d/Blur.cpp
gfx/2d/DrawTargetCairo.cpp
gfx/2d/DrawTargetSkia.cpp
gfx/2d/FilterNodeSoftware.cpp
gfx/2d/ImageScaling.h
gfx/2d/JobScheduler_posix.cpp
gfx/2d/Logging.h
gfx/2d/Matrix.h
gfx/2d/RecordedEventImpl.h
gfx/2d/SVGTurbulenceRenderer-inl.h
gfx/2d/SourceSurfaceSkia.cpp
gfx/2d/Tools.h
gfx/gl/ForceDiscreteGPUHelperCGL.h
gfx/gl/GLLibraryEGL.cpp
gfx/gl/GLTextureImage.cpp
gfx/gl/ScopedGLHelpers.cpp
gfx/layers/AnimationHelper.h
gfx/layers/AtomicRefCountedWithFinalize.h
gfx/layers/LayerTreeInvalidation.cpp
gfx/layers/SourceSurfaceSharedData.h
gfx/layers/apz/src/KeyboardMap.cpp
gfx/layers/basic/BasicLayerManager.cpp
gfx/layers/client/ClientLayerManager.cpp
gfx/layers/composite/TextureHost.h
gfx/layers/ipc/CompositorBridgeParent.cpp
gfx/layers/ipc/LayerTransactionParent.cpp
gfx/layers/ipc/ShadowLayers.cpp
gfx/layers/mlgpu/ContainerLayerMLGPU.cpp
gfx/layers/mlgpu/LayerMLGPU.cpp
gfx/layers/mlgpu/MLGDevice.cpp
gfx/layers/mlgpu/RenderPassMLGPU.cpp
gfx/layers/mlgpu/SharedBufferMLGPU.cpp
gfx/layers/mlgpu/TexturedLayerMLGPU.cpp
gfx/layers/opengl/CompositingRenderTargetOGL.h
gfx/layers/opengl/CompositorOGL.cpp
gfx/layers/opengl/TextureHostOGL.h
gfx/layers/protobuf/LayerScopePacket.pb.cc
gfx/layers/wr/WebRenderCommandBuilder.cpp
gfx/src/nsDeviceContext.cpp
gfx/src/nsRegion.h
gfx/thebes/PrintTargetSkPDF.cpp
gfx/thebes/gfxContext.h
gfx/thebes/gfxFont.cpp
gfx/thebes/gfxFontEntry.cpp
gfx/thebes/gfxFontFamilyList.h
gfx/thebes/gfxFontInfoLoader.h
gfx/thebes/gfxGlyphExtents.h
gfx/thebes/gfxGraphiteShaper.cpp
gfx/thebes/gfxHarfBuzzShaper.cpp
gfx/thebes/gfxImageSurface.cpp
gfx/thebes/gfxMacPlatformFontList.mm
gfx/thebes/gfxMathTable.cpp
gfx/thebes/gfxSkipChars.h
gfx/thebes/gfxTextRun.h
gfx/thebes/gfxUserFontSet.cpp
gfx/vr/gfxVR.h
gfx/vr/gfxVROpenVR.cpp
gfx/webrender_bindings/RenderBufferTextureHost.cpp
gfx/webrender_bindings/RenderSharedSurfaceTextureHost.cpp
gfx/webrender_bindings/WebRenderTypes.h
image/CopyOnWrite.h
image/Downscaler.cpp
image/RasterImage.cpp
image/VectorImage.cpp
image/decoders/nsGIFDecoder2.cpp
image/decoders/nsJPEGDecoder.cpp
image/encoders/bmp/nsBMPEncoder.cpp
image/encoders/ico/nsICOEncoder.cpp
image/imgFrame.cpp
image/imgFrame.h
intl/chardet/nsCyrillicDetector.cpp
ipc/glue/ProtocolUtils.cpp
ipc/glue/ProtocolUtils.h
js/xpconnect/loader/ChromeScriptLoader.cpp
js/xpconnect/src/BackstagePass.h
js/xpconnect/src/XPCCallContext.cpp
js/xpconnect/src/XPCJSRuntime.cpp
js/xpconnect/src/xpcprivate.h
layout/base/PresShell.cpp
layout/base/nsBidiPresUtils.cpp
layout/base/nsLayoutUtils.cpp
layout/forms/nsButtonFrameRenderer.cpp
layout/generic/BlockReflowInput.h
layout/generic/ReflowInput.cpp
layout/generic/TextDrawTarget.h
layout/generic/TextOverflow.cpp
layout/generic/TextOverflow.h
layout/generic/nsBlockReflowContext.cpp
layout/generic/nsBulletFrame.cpp
layout/generic/nsFlexContainerFrame.cpp
layout/generic/nsFloatManager.cpp
layout/generic/nsFloatManager.h
layout/generic/nsFrameSelection.h
layout/generic/nsGfxScrollFrame.cpp
layout/generic/nsGridContainerFrame.cpp
layout/generic/nsLineBox.h
layout/generic/nsLineLayout.cpp
layout/generic/nsTextFrame.cpp
layout/generic/nsTextFrameUtils.h
layout/inspector/inDeepTreeWalker.cpp
layout/mathml/nsMathMLChar.cpp
layout/mathml/nsMathMLChar.h
layout/mathml/nsMathMLContainerFrame.cpp
layout/painting/DisplayItemClipChain.h
layout/painting/DottedCornerFinder.cpp
layout/painting/FrameLayerBuilder.cpp
layout/painting/nsCSSRendering.cpp
layout/painting/nsCSSRenderingGradients.h
layout/painting/nsDisplayList.h
layout/painting/nsImageRenderer.h
layout/printing/nsPrintObject.cpp
layout/style/StyleAnimationValue.h
layout/style/nsCSSScanner.h
layout/style/nsCSSValue.h
layout/style/nsComputedDOMStyle.cpp
layout/style/nsFontFaceLoader.cpp
layout/style/nsStyleCoord.h
layout/style/nsStyleStruct.cpp
layout/style/nsStyleStruct.h
layout/style/nsStyleTransformMatrix.h
layout/style/nsTimingFunction.h
layout/svg/SVGContextPaint.h
layout/svg/SVGTextFrame.cpp
layout/svg/nsSVGFilterInstance.cpp
layout/tables/nsCellMap.h
layout/tables/nsTableFrame.cpp
layout/tables/nsTableFrame.h
layout/xul/nsImageBoxFrame.cpp
layout/xul/nsMenuPopupFrame.h
layout/xul/nsSplitterFrame.cpp
layout/xul/tree/nsTreeBodyFrame.h
layout/xul/tree/nsTreeColumns.cpp
media/gmp-clearkey/0.1/RefCounted.h
media/mtransport/nricectx.h
media/mtransport/nriceresolverfake.h
media/mtransport/test/buffered_stun_socket_unittest.cpp
media/mtransport/test/dummysocket.h
media/mtransport/test/gtest_utils.h
media/mtransport/test/proxy_tunnel_socket_unittest.cpp
media/mtransport/test/test_nr_socket_ice_unittest.cpp
media/mtransport/test_nr_socket.cpp
media/webrtc/signaling/gtest/sdp_unittests.cpp
media/webrtc/signaling/src/jsep/JsepCodecDescription.h
media/webrtc/signaling/src/jsep/JsepSessionImpl.h
media/webrtc/signaling/src/media-conduit/RtpSourceObserver.cpp
media/webrtc/signaling/src/media-conduit/RunningStat.h
media/webrtc/signaling/src/media-conduit/WebrtcGmpVideoCodec.cpp
media/webrtc/signaling/src/media-conduit/WebrtcMediaDataDecoderCodec.cpp
media/webrtc/signaling/src/mediapipeline/MediaPipeline.cpp
media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
media/webrtc/signaling/src/sdp/SipccSdpMediaSection.h
mfbt/EnumSet.h
mfbt/SegmentedVector.h
mfbt/SmallPointerArray.h
mfbt/tests/TestPair.cpp
modules/libjar/nsZipArchive.cpp
modules/libjar/zipwriter/nsDeflateConverter.h
netwerk/base/Dashboard.cpp
netwerk/base/MemoryDownloader.cpp
netwerk/base/Predictor.cpp
netwerk/base/RequestContextService.cpp
netwerk/base/TCPFastOpenLayer.cpp
netwerk/base/nsAsyncStreamCopier.cpp
netwerk/base/nsBaseChannel.cpp
netwerk/base/nsBufferedStreams.cpp
netwerk/base/nsIURIMutatorUtils.cpp
netwerk/base/nsInputStreamPump.cpp
netwerk/base/nsPACMan.cpp
netwerk/base/nsProtocolProxyService.h
netwerk/base/nsServerSocket.cpp
netwerk/base/nsSocketTransport2.cpp
netwerk/base/nsStandardURL.h
netwerk/base/nsUDPSocket.cpp
netwerk/cache/nsCacheEntry.cpp
netwerk/cache/nsCacheEntryDescriptor.h
netwerk/cache/nsCacheService.cpp
netwerk/cache/nsDiskCacheStreams.h
netwerk/cache2/CacheFileIOManager.cpp
netwerk/cache2/CacheIndex.h
netwerk/cache2/CacheStorageService.cpp
netwerk/cookie/nsCookieService.h
netwerk/dns/DNS.cpp
netwerk/dns/TRR.h
netwerk/dns/nsDNSService2.cpp
netwerk/dns/nsHostResolver.cpp
netwerk/dns/nsIDNService.cpp
netwerk/ipc/NeckoMessageUtils.h
netwerk/protocol/file/nsFileChannel.cpp
netwerk/protocol/ftp/nsFtpConnectionThread.cpp
netwerk/protocol/ftp/nsFtpControlConnection.cpp
netwerk/protocol/http/AlternateServices.cpp
netwerk/protocol/http/Http2Compression.cpp
netwerk/protocol/http/Http2Compression.h
netwerk/protocol/http/Http2Session.cpp
netwerk/protocol/http/HttpBaseChannel.cpp
netwerk/protocol/http/NullHttpChannel.cpp
netwerk/protocol/http/TunnelUtils.cpp
netwerk/protocol/http/nsCORSListenerProxy.cpp
netwerk/protocol/http/nsHttpAuthCache.h
netwerk/protocol/http/nsHttpAuthManager.cpp
netwerk/protocol/http/nsHttpChannel.cpp
netwerk/protocol/http/nsHttpConnection.cpp
netwerk/protocol/http/nsHttpConnectionMgr.cpp
netwerk/protocol/http/nsHttpHandler.cpp
netwerk/protocol/http/nsHttpNTLMAuth.h
netwerk/protocol/http/nsHttpTransaction.cpp
netwerk/protocol/viewsource/nsViewSourceChannel.h
netwerk/protocol/websocket/WebSocketChannel.cpp
netwerk/sctp/datachannel/DataChannel.cpp
netwerk/sctp/datachannel/DataChannel.h
netwerk/socket/nsSOCKSIOLayer.cpp
netwerk/streamconv/converters/nsDirIndexParser.cpp
netwerk/streamconv/converters/nsHTTPCompressConv.cpp
netwerk/streamconv/converters/nsHTTPCompressConv.h
netwerk/streamconv/converters/nsIndexedToHTML.cpp
netwerk/streamconv/converters/nsMultiMixedConv.cpp
netwerk/test/TestUDPSocket.cpp
parser/html/nsHtml5SpeculativeLoad.cpp
parser/html/nsHtml5SpeculativeLoad.h
parser/html/nsHtml5StackNode.cpp
parser/html/nsHtml5Tokenizer.cpp
parser/html/nsHtml5TreeBuilderCppSupplement.h
parser/html/nsHtml5TreeOperation.cpp
parser/htmlparser/CParserContext.cpp
parser/htmlparser/nsParser.cpp
parser/htmlparser/nsScannerString.h
rdf/base/nsRDFXMLSerializer.cpp
security/certverifier/CertVerifier.h
security/manager/ssl/nsCertOverrideService.cpp
security/manager/ssl/nsNSSCallbacks.cpp
security/manager/ssl/nsNSSComponent.cpp
security/pkix/include/pkix/Time.h
security/pkix/lib/pkixbuild.cpp
security/pkix/lib/pkixutil.h
security/sandbox/mac/Sandbox.h
storage/StorageBaseStatementInternal.cpp
storage/mozStorageStatement.cpp
testing/gtest/gtest/include/gtest/internal/gtest-internal.h
testing/gtest/gtest/include/gtest/internal/gtest-linked_ptr.h
toolkit/components/alerts/AlertNotification.cpp
toolkit/components/backgroundhangmonitor/ThreadStackHelper.cpp
toolkit/components/extensions/webrequest/StreamFilterChild.h
toolkit/components/perfmonitoring/nsPerformanceStats.cpp
toolkit/components/places/History.h
toolkit/components/places/nsFaviconService.h
toolkit/components/places/nsNavHistory.cpp
toolkit/components/places/nsNavHistory.h
toolkit/components/places/nsNavHistoryResult.cpp
toolkit/components/printingui/ipc/PrintSettingsDialogChild.cpp
toolkit/components/protobuf/src/google/protobuf/arena.h
toolkit/components/protobuf/src/google/protobuf/extension_set.h
toolkit/components/protobuf/src/google/protobuf/io/coded_stream.cc
toolkit/components/protobuf/src/google/protobuf/io/gzip_stream.cc
toolkit/components/protobuf/src/google/protobuf/map.h
toolkit/components/protobuf/src/google/protobuf/map_entry_lite.h
toolkit/components/reputationservice/chromium/chrome/common/safe_browsing/csd.pb.cc
toolkit/components/url-classifier/Classifier.cpp
toolkit/components/url-classifier/HashStore.cpp
toolkit/components/url-classifier/ProtocolParser.cpp
toolkit/components/url-classifier/nsUrlClassifierDBService.cpp
toolkit/crashreporter/breakpad-client/mac/crash_generation/crash_generation_server.cc
toolkit/crashreporter/breakpad-client/mac/handler/exception_handler.cc
toolkit/mozapps/update/updater/updater.cpp
tools/power/rapl.cpp
tools/profiler/core/platform-macos.cpp
uriloader/base/nsDocLoader.h
uriloader/base/nsURILoader.cpp
uriloader/exthandler/ExternalHelperAppParent.cpp
uriloader/exthandler/HandlerServiceParent.cpp
uriloader/exthandler/nsExternalHelperAppService.cpp
widget/IMEData.h
widget/InputData.cpp
widget/MiscEvents.h
widget/MouseEvents.h
widget/PuppetBidiKeyboard.cpp
widget/PuppetWidget.cpp
widget/TextEvents.h
widget/cocoa/TextInputHandler.mm
widget/cocoa/nsCocoaWindow.mm
widget/cocoa/nsLookAndFeel.mm
widget/cocoa/nsMacDockSupport.mm
widget/nsBaseAppShell.cpp
widget/nsPrintSettingsImpl.cpp
xpcom/base/CycleCollectedJSContext.cpp
xpcom/base/CycleCollectedJSRuntime.cpp
xpcom/base/nsCycleCollector.cpp
xpcom/base/nsGZFileWriter.cpp
xpcom/base/nsTraceRefcnt.cpp
xpcom/ds/nsCheapSets.h
xpcom/ds/nsExpirationTracker.h
xpcom/ds/nsPersistentProperties.cpp
xpcom/ds/nsTArray.h
xpcom/ds/nsVariant.h
xpcom/io/nsInputStreamTee.cpp
xpcom/io/nsLocalFileUnix.cpp
xpcom/io/nsStorageStream.cpp
xpcom/io/nsStringStream.cpp
xpcom/string/nsStringIterator.h
xpcom/tests/TestHarness.h
xpcom/threads/CPUUsageWatcher.h
xpcom/threads/MozPromise.h
xpcom/threads/PrioritizedEventQueue.cpp
xpcom/threads/Queue.h
xpcom/threads/Scheduler.cpp
xpcom/threads/ThreadEventQueue.cpp
xpcom/threads/nsTimerImpl.cpp
xpfe/appshell/nsAppShellWindowEnumerator.cpp
--- a/accessible/base/TextAttrs.h
+++ b/accessible/base/TextAttrs.h
@@ -122,22 +122,17 @@ protected:
 
   /**
    * Base class to work with text attributes. See derived classes below.
    */
   template<class T>
   class TTextAttr : public TextAttr
   {
   public:
-    explicit TTextAttr(bool aGetRootValue)
-      : mGetRootValue(aGetRootValue)
-      , mIsDefined{ false }
-      , mIsRootDefined{ false }
-    {
-    }
+    explicit TTextAttr(bool aGetRootValue) : mGetRootValue(aGetRootValue) {}
 
     // TextAttr
     virtual void Expose(nsIPersistentProperties* aAttributes,
                         bool aIncludeDefAttrValue) override
     {
       if (mGetRootValue) {
         if (mIsRootDefined)
           ExposeValue(aAttributes, mRootNativeValue);
--- a/devtools/shared/heapsnapshot/AutoMemMap.h
+++ b/devtools/shared/heapsnapshot/AutoMemMap.h
@@ -40,20 +40,19 @@ class MOZ_RAII AutoMemMap
   PRFileMap*   fileMap;
   void*        addr;
 
   AutoMemMap(const AutoMemMap& aOther) = delete;
   void operator=(const AutoMemMap& aOther) = delete;
 
 public:
   explicit AutoMemMap(MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM)
-    : fileInfo{}
-    , fd(nullptr)
-    , fileMap(nullptr)
-    , addr(nullptr)
+      : fd(nullptr)
+      , fileMap(nullptr)
+      , addr(nullptr)
   {
       MOZ_GUARD_OBJECT_NOTIFIER_INIT;
   };
   ~AutoMemMap();
 
   // Initialize this AutoMemMap.
   nsresult init(const char* filePath, int flags = PR_RDONLY, int mode = 0,
                 PRFileMapProtect prot = PR_PROT_READONLY);
--- a/devtools/shared/heapsnapshot/CoreDump.pb.h
+++ b/devtools/shared/heapsnapshot/CoreDump.pb.h
@@ -398,28 +398,22 @@ class StackFrame_Data : public ::google:
   mutable int _cached_size_;
   ::mozilla::devtools::protobuf::StackFrame* parent_;
   ::google::protobuf::uint64 id_;
   ::google::protobuf::uint32 line_;
   ::google::protobuf::uint32 column_;
   bool issystem_;
   bool isselfhosted_;
   union SourceOrRefUnion {
-    SourceOrRefUnion()
-      : sourceref_{}
-    {
-    }
+    SourceOrRefUnion() {}
     ::google::protobuf::internal::ArenaStringPtr source_;
     ::google::protobuf::uint64 sourceref_;
   } SourceOrRef_;
   union FunctionDisplayNameOrRefUnion {
-    FunctionDisplayNameOrRefUnion()
-      : functiondisplaynameref_{}
-    {
-    }
+    FunctionDisplayNameOrRefUnion() {}
     ::google::protobuf::internal::ArenaStringPtr functiondisplayname_;
     ::google::protobuf::uint64 functiondisplaynameref_;
   } FunctionDisplayNameOrRef_;
   ::google::protobuf::uint32 _oneof_case_[2];
 
   friend struct protobuf_CoreDump_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
@@ -543,20 +537,17 @@ class StackFrame : public ::google::prot
   inline bool has_StackFrameType() const;
   void clear_StackFrameType();
   inline void clear_has_StackFrameType();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   union StackFrameTypeUnion {
-    StackFrameTypeUnion()
-      : data_{ nullptr }
-    {
-    }
+    StackFrameTypeUnion() {}
     ::mozilla::devtools::protobuf::StackFrame_Data* data_;
     ::google::protobuf::uint64 ref_;
   } StackFrameType_;
   ::google::protobuf::uint32 _oneof_case_[1];
 
   friend struct protobuf_CoreDump_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
@@ -809,36 +800,27 @@ class Node : public ::google::protobuf::
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::RepeatedPtrField< ::mozilla::devtools::protobuf::Edge > edges_;
   ::mozilla::devtools::protobuf::StackFrame* allocationstack_;
   ::google::protobuf::uint64 id_;
   ::google::protobuf::uint64 size_;
   ::google::protobuf::uint32 coarsetype_;
   union TypeNameOrRefUnion {
-    TypeNameOrRefUnion()
-      : typenameref_{}
-    {
-    }
+    TypeNameOrRefUnion() {}
     ::google::protobuf::internal::ArenaStringPtr typename__;
     ::google::protobuf::uint64 typenameref_;
   } TypeNameOrRef_;
   union JSObjectClassNameOrRefUnion {
-    JSObjectClassNameOrRefUnion()
-      : jsobjectclassnameref_{}
-    {
-    }
+    JSObjectClassNameOrRefUnion() {}
     ::google::protobuf::internal::ArenaStringPtr jsobjectclassname_;
     ::google::protobuf::uint64 jsobjectclassnameref_;
   } JSObjectClassNameOrRef_;
   union ScriptFilenameOrRefUnion {
-    ScriptFilenameOrRefUnion()
-      : scriptfilenameref_{}
-    {
-    }
+    ScriptFilenameOrRefUnion() {}
     ::google::protobuf::internal::ArenaStringPtr scriptfilename_;
     ::google::protobuf::uint64 scriptfilenameref_;
   } ScriptFilenameOrRef_;
   ::google::protobuf::uint32 _oneof_case_[3];
 
   friend struct protobuf_CoreDump_2eproto::TableStruct;
 };
 // -------------------------------------------------------------------
@@ -976,20 +958,17 @@ class Edge : public ::google::protobuf::
   void clear_EdgeNameOrRef();
   inline void clear_has_EdgeNameOrRef();
 
   ::google::protobuf::internal::InternalMetadataWithArenaLite _internal_metadata_;
   ::google::protobuf::internal::HasBits<1> _has_bits_;
   mutable int _cached_size_;
   ::google::protobuf::uint64 referent_;
   union EdgeNameOrRefUnion {
-    EdgeNameOrRefUnion()
-      : nameref_{}
-    {
-    }
+    EdgeNameOrRefUnion() {}
     ::google::protobuf::internal::ArenaStringPtr name_;
     ::google::protobuf::uint64 nameref_;
   } EdgeNameOrRef_;
   ::google::protobuf::uint32 _oneof_case_[1];
 
   friend struct protobuf_CoreDump_2eproto::TableStruct;
 };
 // ===================================================================
--- a/devtools/shared/heapsnapshot/HeapSnapshot.cpp
+++ b/devtools/shared/heapsnapshot/HeapSnapshot.cpp
@@ -1351,23 +1351,21 @@ class MOZ_STACK_CLASS HeapSnapshotHandle
   CoreDumpWriter&     writer;
   JS::CompartmentSet* compartments;
 
 public:
   // For telemetry.
   uint32_t nodeCount;
   uint32_t edgeCount;
 
-  HeapSnapshotHandler(CoreDumpWriter& writer, JS::CompartmentSet* compartments)
-    : writer(writer)
-    , compartments(compartments)
-    , nodeCount{}
-    , edgeCount{}
-  {
-  }
+  HeapSnapshotHandler(CoreDumpWriter& writer,
+                      JS::CompartmentSet* compartments)
+    : writer(writer),
+      compartments(compartments)
+  { }
 
   // JS::ubi::BreadthFirst handler interface.
 
   class NodeData { };
   typedef JS::ubi::BreadthFirst<HeapSnapshotHandler> Traversal;
   bool operator() (Traversal& traversal,
                    JS::ubi::Node origin,
                    const JS::ubi::Edge& edge,
--- a/docshell/base/SerializedLoadContext.cpp
+++ b/docshell/base/SerializedLoadContext.cpp
@@ -8,27 +8,21 @@
 #include "nsNetUtil.h"
 #include "nsIChannel.h"
 #include "nsIPrivateBrowsingChannel.h"
 #include "nsIWebSocketChannel.h"
 
 namespace IPC {
 
 SerializedLoadContext::SerializedLoadContext(nsILoadContext* aLoadContext)
-  : mIsContent{ false }
-  , mUseRemoteTabs{ false }
-  , mUseTrackingProtection{ false }
 {
   Init(aLoadContext);
 }
 
 SerializedLoadContext::SerializedLoadContext(nsIChannel* aChannel)
-  : mIsContent{ false }
-  , mUseRemoteTabs{ false }
-  , mUseTrackingProtection{ false }
 {
   if (!aChannel) {
     Init(nullptr);
     return;
   }
 
   nsCOMPtr<nsILoadContext> loadContext;
   NS_QueryNotificationCallbacks(aChannel, loadContext);
@@ -46,19 +40,16 @@ SerializedLoadContext::SerializedLoadCon
         isOverriden) {
       mIsPrivateBitValid = true;
     }
     mOriginAttributes.SyncAttributesWithPrivateBrowsing(isPrivate);
   }
 }
 
 SerializedLoadContext::SerializedLoadContext(nsIWebSocketChannel* aChannel)
-  : mIsContent{ false }
-  , mUseRemoteTabs{ false }
-  , mUseTrackingProtection{ false }
 {
   nsCOMPtr<nsILoadContext> loadContext;
   if (aChannel) {
     NS_QueryNotificationCallbacks(aChannel, loadContext);
   }
   Init(loadContext);
 }
 
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -384,19 +384,16 @@ nsDocShell::nsDocShell()
   , mIsPrintingOrPP(false)
   , mSavingOldViewer(false)
   , mDynamicallyCreated(false)
   , mAffectPrivateSessionLifetime(true)
   , mInvisible(false)
   , mHasLoadedNonBlankURI(false)
   , mBlankTiming(false)
 {
-  this->mHistoryID.m0 = {};
-  this->mHistoryID.m1 = {};
-  this->mHistoryID.m2 = {};
   AssertOriginAttributesMatchPrivateBrowsing();
 
   nsContentUtils::GenerateUUIDInPlace(mHistoryID);
 
   if (gDocShellCount++ == 0) {
     NS_ASSERTION(sURIFixup == nullptr,
                  "Huh, sURIFixup not null in first nsDocShell ctor!");
 
--- a/dom/animation/ComputedTimingFunction.h
+++ b/dom/animation/ComputedTimingFunction.h
@@ -39,17 +39,16 @@ public:
   Frames(uint32_t aFrames)
   {
     MOZ_ASSERT(aFrames > 1, "The number of frames should be 2 or more");
     return ComputedTimingFunction(nsTimingFunction::Type::Frames, aFrames);
   }
 
   ComputedTimingFunction() = default;
   explicit ComputedTimingFunction(const nsTimingFunction& aFunction)
-    : mStepsOrFrames{}
   {
     Init(aFunction);
   }
   void Init(const nsTimingFunction& aFunction);
 
   // BeforeFlag is used in step timing function.
   // https://drafts.csswg.org/css-timing/#before-flag
   enum class BeforeFlag {
@@ -110,20 +109,17 @@ public:
     return aFunction ? aFunction->GetValue(aPortion, aBeforeFlag) : aPortion;
   }
   static int32_t Compare(const Maybe<ComputedTimingFunction>& aLhs,
                          const Maybe<ComputedTimingFunction>& aRhs);
 
 private:
   ComputedTimingFunction(double x1, double y1, double x2, double y2)
     : mType(nsTimingFunction::Type::CubicBezier)
-    , mTimingFunction(x1, y1, x2, y2)
-    , mStepsOrFrames{}
-  {
-  }
+    , mTimingFunction(x1, y1, x2, y2) { }
   ComputedTimingFunction(nsTimingFunction::Type aType, uint32_t aStepsOrFrames)
     : mType(aType)
     , mStepsOrFrames(aStepsOrFrames) { }
 
   nsTimingFunction::Type mType = nsTimingFunction::Type::Linear;
   nsSMILKeySpline mTimingFunction;
   uint32_t mStepsOrFrames;
 };
--- a/dom/asmjscache/AsmJSCache.cpp
+++ b/dom/asmjscache/AsmJSCache.cpp
@@ -436,26 +436,25 @@ public:
   // We need to always declare refcounting because
   // OpenDirectoryListener has pure-virtual refcounting.
   NS_DECL_ISUPPORTS_INHERITED
   NS_DECL_NSIRUNNABLE
 
   ParentRunnable(const PrincipalInfo& aPrincipalInfo,
                  OpenMode aOpenMode,
                  const WriteParams& aWriteParams)
-    : mOwningEventTarget(GetCurrentThreadEventTarget())
-    , mPrincipalInfo(aPrincipalInfo)
-    , mOpenMode(aOpenMode)
-    , mWriteParams(aWriteParams)
-    , mOperationMayProceed(true)
-    , mModuleIndex{}
-    , mState(eInitial)
-    , mResult(JS::AsmJSCache_InternalError)
-    , mActorDestroyed(false)
-    , mOpened(false)
+  : mOwningEventTarget(GetCurrentThreadEventTarget()),
+    mPrincipalInfo(aPrincipalInfo),
+    mOpenMode(aOpenMode),
+    mWriteParams(aWriteParams),
+    mOperationMayProceed(true),
+    mState(eInitial),
+    mResult(JS::AsmJSCache_InternalError),
+    mActorDestroyed(false),
+    mOpened(false)
   {
     MOZ_ASSERT(XRE_IsParentProcess());
     AssertIsOnOwningThread();
   }
 
 private:
   ~ParentRunnable() override
   {
--- a/dom/base/DOMException.cpp
+++ b/dom/base/DOMException.cpp
@@ -165,23 +165,22 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(Ex
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mData)
   NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
   tmp->mThrownJSVal.setNull();
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 
 Exception::Exception(const nsACString& aMessage,
                      nsresult aResult,
                      const nsACString& aName,
-                     nsIStackFrame* aLocation,
-                     nsISupports* aData)
+                     nsIStackFrame *aLocation,
+                     nsISupports *aData)
   : mMessage(aMessage)
   , mResult(aResult)
   , mName(aName)
   , mData(aData)
-  , mInitialized{ false }
   , mHoldingJSVal(false)
 {
   if (aLocation) {
     mLocation = aLocation;
   } else {
     mLocation = GetCurrentJSStack();
     // it is legal for there to be no active JS stack, if C++ code
     // is operating on a JS-implemented interface pointer without
--- a/dom/base/EventSource.cpp
+++ b/dom/base/EventSource.cpp
@@ -450,17 +450,16 @@ class InitRunnable final : public Worker
 public:
   InitRunnable(WorkerPrivate* aWorkerPrivate,
                EventSourceImpl* aEventSourceImpl,
                const nsAString& aURL)
     : WorkerMainThreadRunnable(aWorkerPrivate,
                                NS_LITERAL_CSTRING("EventSource :: Init"))
     , mImpl(aEventSourceImpl)
     , mURL(aURL)
-    , mRv{ NS_ERROR_NOT_INITIALIZED }
   {
     MOZ_ASSERT(aWorkerPrivate);
     aWorkerPrivate->AssertIsOnWorkerThread();
   }
 
   bool MainThreadRun() override
   {
     // Get principal from worker's owner document or from worker.
@@ -1924,17 +1923,16 @@ EventSourceImpl::CheckListenerChain()
 }
 ////////////////////////////////////////////////////////////////////////////////
 // EventSource
 ////////////////////////////////////////////////////////////////////////////////
 
 EventSource::EventSource(nsPIDOMWindowInner* aOwnerWindow,
                          bool aWithCredentials)
   : DOMEventTargetHelper(aOwnerWindow)
-  , mReadyState{}
   , mWithCredentials(aWithCredentials)
   , mIsMainThread(true)
   , mKeepingAlive(false)
 {
   mImpl = new EventSourceImpl(this);
 }
 
 EventSource::~EventSource()
--- a/dom/base/NodeIterator.h
+++ b/dom/base/NodeIterator.h
@@ -67,39 +67,32 @@ public:
     void Detach();
 
     bool WrapObject(JSContext *cx, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
 
 private:
     virtual ~NodeIterator();
 
     struct NodePointer {
-      NodePointer()
-        : mNode(nullptr)
-        , mBeforeNode{ false }
-      {
-      }
-      NodePointer(nsINode* aNode, bool aBeforeNode);
+        NodePointer() : mNode(nullptr) {}
+        NodePointer(nsINode *aNode, bool aBeforeNode);
 
-      typedef bool (NodePointer::*MoveToMethodType)(nsINode*);
-      bool MoveToNext(nsINode* aRoot);
-      bool MoveToPrevious(nsINode* aRoot);
+        typedef bool (NodePointer::*MoveToMethodType)(nsINode*);
+        bool MoveToNext(nsINode *aRoot);
+        bool MoveToPrevious(nsINode *aRoot);
 
-      bool MoveForward(nsINode* aRoot, nsINode* aNode);
-      void MoveBackward(nsINode* aParent, nsINode* aNode);
+        bool MoveForward(nsINode *aRoot, nsINode *aNode);
+        void MoveBackward(nsINode *aParent, nsINode *aNode);
+
+        void AdjustAfterRemoval(nsINode *aRoot, nsINode *aContainer, nsIContent *aChild, nsIContent *aPreviousSibling);
 
-      void AdjustAfterRemoval(nsINode* aRoot,
-                              nsINode* aContainer,
-                              nsIContent* aChild,
-                              nsIContent* aPreviousSibling);
+        void Clear() { mNode = nullptr; }
 
-      void Clear() { mNode = nullptr; }
-
-      nsINode* mNode;
-      bool mBeforeNode;
+        nsINode *mNode;
+        bool mBeforeNode;
     };
 
     // Have to return a strong ref, because the act of testing the node can
     // remove it from the DOM so we're holding the only ref to it.
     already_AddRefed<nsINode>
     NextOrPrevNode(NodePointer::MoveToMethodType aMove, ErrorResult& aResult);
 
     NodePointer mPointer;
--- a/dom/base/TextInputProcessor.cpp
+++ b/dom/base/TextInputProcessor.cpp
@@ -33,17 +33,16 @@ class TextInputProcessorNotification fin
   typedef IMENotification::SelectionChangeData SelectionChangeData;
   typedef IMENotification::SelectionChangeDataBase SelectionChangeDataBase;
   typedef IMENotification::TextChangeData TextChangeData;
   typedef IMENotification::TextChangeDataBase TextChangeDataBase;
 
 public:
   explicit TextInputProcessorNotification(const char* aType)
     : mType(aType)
-    , mTextChangeData{}
   {
   }
 
   explicit TextInputProcessorNotification(
              const TextChangeDataBase& aTextChangeData)
     : mType("notify-text-change")
     , mTextChangeData(aTextChangeData)
   {
@@ -274,20 +273,17 @@ protected:
 private:
   nsAutoCString mType;
   union
   {
     TextChangeDataBase mTextChangeData;
     SelectionChangeDataBase mSelectionChangeData;
   };
 
-  TextInputProcessorNotification()
-    : mTextChangeData{}
-  {
-  }
+  TextInputProcessorNotification() { }
 };
 
 NS_IMPL_ISUPPORTS(TextInputProcessorNotification,
                   nsITextInputProcessorNotification)
 
 /******************************************************************************
  * TextInputProcessor
  ******************************************************************************/
--- a/dom/base/nsContentList.h
+++ b/dom/base/nsContentList.h
@@ -577,28 +577,22 @@ public:
   enum ContentListType {
     eNodeList,
     eHTMLCollection
   };
   ContentListType mType;
 #endif
 
 protected:
-  nsCacheableFuncStringContentList(
-    nsINode* aRootNode,
-    nsContentListMatchFunc aFunc,
-    nsContentListDestroyFunc aDestroyFunc,
-    nsFuncStringContentListDataAllocator aDataAllocator,
-    const nsAString& aString)
-    : nsContentList(aRootNode, aFunc, aDestroyFunc, nullptr)
-    ,
-#ifdef DEBUG
-    mType{ static_cast<ContentListType>(0) }
-    ,
-#endif
+  nsCacheableFuncStringContentList(nsINode* aRootNode,
+                                   nsContentListMatchFunc aFunc,
+                                   nsContentListDestroyFunc aDestroyFunc,
+                                   nsFuncStringContentListDataAllocator aDataAllocator,
+                                   const nsAString& aString) :
+    nsContentList(aRootNode, aFunc, aDestroyFunc, nullptr),
     mString(aString)
   {
     mData = (*aDataAllocator)(aRootNode, &mString);
     MOZ_ASSERT(mData);
   }
 
   virtual void RemoveFromCaches() override {
     RemoveFromFuncStringHashtable();
--- a/dom/base/nsContentPermissionHelper.cpp
+++ b/dom/base/nsContentPermissionHelper.cpp
@@ -577,17 +577,16 @@ nsContentPermissionRequestProxy::nsConte
   }
 
   if (mOnChangeCallback) {
     mOnChangeCallback->NotifyVisibility(aIsVisible);
   }
 }
 
 nsContentPermissionRequestProxy::nsContentPermissionRequestProxy()
-  : mParent{ nullptr }
 {
 }
 
 nsContentPermissionRequestProxy::~nsContentPermissionRequestProxy()
 {
 }
 
 nsresult
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -12689,18 +12689,16 @@ ArrayContainsTable(const nsTArray<nsCStr
 }
 
 namespace {
 
 // An object to store all preferences we need for flash blocking feature.
 struct PrefStore
 {
   PrefStore()
-    : mFlashBlockEnabled{ false }
-    , mPluginsHttpOnly{ false }
   {
     Preferences::AddBoolVarCache(&mFlashBlockEnabled,
                                  "plugins.flashBlock.enabled");
     Preferences::AddBoolVarCache(&mPluginsHttpOnly,
                                  "plugins.http_https_only");
 
     // We only need to register string-typed preferences.
     Preferences::RegisterCallback(UpdateStringPrefs, "urlclassifier.flashAllowTable", this);
--- a/dom/base/nsDocumentEncoder.cpp
+++ b/dom/base/nsDocumentEncoder.cpp
@@ -203,17 +203,16 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(
 NS_INTERFACE_MAP_END
 
 NS_IMPL_CYCLE_COLLECTION(nsDocumentEncoder,
                          mDocument, mSelection, mRange, mNode, mSerializer,
                          mCommonParent)
 
 nsDocumentEncoder::nsDocumentEncoder()
   : mEncoding(nullptr)
-  , mIsCopying{ false }
   , mCachedBuffer(nullptr)
 {
   Initialize();
   mMimeType.AssignLiteral("text/plain");
 }
 
 void nsDocumentEncoder::Initialize(bool aClearCachedSerializer)
 {
--- a/dom/base/nsFrameLoader.cpp
+++ b/dom/base/nsFrameLoader.cpp
@@ -159,20 +159,18 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(
       // We want to end up with a pointer that can then be reinterpret_cast
       // from nsISupports* to nsFrameLoader* and end up with |this|.
       foundInterface = reinterpret_cast<nsISupports*>(this);
   } else
   NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
   NS_INTERFACE_MAP_ENTRY(nsISupports)
 NS_INTERFACE_MAP_END
 
-nsFrameLoader::nsFrameLoader(Element* aOwner,
-                             nsPIDOMWindowOuter* aOpener,
-                             bool aNetworkCreated,
-                             int32_t aJSPluginID)
+nsFrameLoader::nsFrameLoader(Element* aOwner, nsPIDOMWindowOuter* aOpener,
+                             bool aNetworkCreated, int32_t aJSPluginID)
   : mOwnerContent(aOwner)
   , mDetachedSubdocFrame(nullptr)
   , mOpener(aOpener)
   , mRemoteBrowser(nullptr)
   , mChildID(0)
   , mJSPluginID(aJSPluginID)
   , mBrowserChangingProcessBlockers(nullptr)
   , mDepthTooGreat(false)
@@ -184,17 +182,16 @@ nsFrameLoader::nsFrameLoader(Element* aO
   , mHideCalled(false)
   , mNetworkCreated(aNetworkCreated)
   , mLoadingOriginalSrc(false)
   , mRemoteBrowserShown(false)
   , mRemoteFrame(false)
   , mClipSubdocument(true)
   , mClampScrollPosition(true)
   , mObservingOwnerContent(false)
-  , mFreshProcess{ false }
 {
   mRemoteFrame = ShouldUseRemoteProcess();
   MOZ_ASSERT(!mRemoteFrame || !aOpener,
              "Cannot pass aOpener for a remote frame!");
 }
 
 nsFrameLoader::~nsFrameLoader()
 {
--- a/dom/base/nsGlobalWindowOuter.cpp
+++ b/dom/base/nsGlobalWindowOuter.cpp
@@ -7646,17 +7646,16 @@ nsGlobalWindowOuter::AbstractMainThreadF
   if (GetDocGroup()) {
     return GetDocGroup()->AbstractMainThreadFor(aCategory);
   }
   return DispatcherTrait::AbstractMainThreadFor(aCategory);
 }
 
 nsGlobalWindowOuter::TemporarilyDisableDialogs::TemporarilyDisableDialogs(
   nsGlobalWindowOuter* aWindow MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)
-  : mSavedDialogsEnabled{ false }
 {
   MOZ_GUARD_OBJECT_NOTIFIER_INIT;
 
   MOZ_ASSERT(aWindow);
   nsGlobalWindowOuter* topWindowOuter = aWindow->GetScriptableTopInternal();
   if (!topWindowOuter) {
     NS_ERROR("nsGlobalWindowOuter::TemporarilyDisableDialogs used without a top "
              "window?");
--- a/dom/base/nsJSEnvironment.cpp
+++ b/dom/base/nsJSEnvironment.cpp
@@ -584,18 +584,16 @@ DumpString(const nsAString &str)
   printf("%s\n", NS_ConvertUTF16toUTF8(str).get());
 }
 #endif
 
 nsJSContext::nsJSContext(bool aGCOnDestruction,
                          nsIScriptGlobalObject* aGlobalObject)
   : mWindowProxy(nullptr)
   , mGCOnDestruction(aGCOnDestruction)
-  , mModalStateTime{}
-  , mModalStateDepth{}
   , mGlobalObjectRef(aGlobalObject)
 {
   EnsureStatics();
 
   mIsInitialized = false;
   mProcessingScriptTag = false;
   HoldJSObjects(this);
 }
--- a/dom/base/nsPlainTextSerializer.cpp
+++ b/dom/base/nsPlainTextSerializer.cpp
@@ -76,20 +76,17 @@ nsresult
 NS_NewPlainTextSerializer(nsIContentSerializer** aSerializer)
 {
   RefPtr<nsPlainTextSerializer> it = new nsPlainTextSerializer();
   it.forget(aSerializer);
   return NS_OK;
 }
 
 nsPlainTextSerializer::nsPlainTextSerializer()
-  : mFlags{}
-  , mFloatingLines{}
-  , mLineBreakDue{ false }
-  , kSpace(NS_LITERAL_STRING(" ")) // Init of "constant"
+  : kSpace(NS_LITERAL_STRING(" ")) // Init of "constant"
 {
 
   mOutputString = nullptr;
   mHeadLevel = 0;
   mAtFirstColumn = true;
   mIndent = 0;
   mCiteQuoteLevel = 0;
   mStructs = true;       // will be read from prefs later
--- a/dom/base/nsQueryContentEventResult.cpp
+++ b/dom/base/nsQueryContentEventResult.cpp
@@ -48,20 +48,17 @@ NS_INTERFACE_MAP_BEGIN(nsQueryContentEve
   NS_INTERFACE_MAP_ENTRY(nsIQueryContentEventResult)
 NS_INTERFACE_MAP_END
 
 NS_IMPL_ADDREF(nsQueryContentEventResult)
 NS_IMPL_RELEASE(nsQueryContentEventResult)
 
 nsQueryContentEventResult::nsQueryContentEventResult()
   : mEventMessage(eVoidEvent)
-  , mOffset{}
-  , mTentativeCaretOffset{}
   , mSucceeded(false)
-  , mReversed{ false }
 {
 }
 
 nsQueryContentEventResult::~nsQueryContentEventResult()
 {
 }
 
 NS_IMETHODIMP
--- a/dom/base/nsSyncLoadService.cpp
+++ b/dom/base/nsSyncLoadService.cpp
@@ -35,36 +35,31 @@ using mozilla::net::ReferrerPolicy;
  */
 
 class nsSyncLoader : public nsIStreamListener,
                      public nsIChannelEventSink,
                      public nsIInterfaceRequestor,
                      public nsSupportsWeakReference
 {
 public:
-  nsSyncLoader()
-    : mLoading(false)
-    , mAsyncLoadStatus{ NS_ERROR_NOT_INITIALIZED }
-  {
-  }
+    nsSyncLoader() : mLoading(false) {}
 
-  NS_DECL_ISUPPORTS
+    NS_DECL_ISUPPORTS
 
-  nsresult LoadDocument(nsIChannel* aChannel,
-                        bool aChannelIsSync,
-                        bool aForceToXML,
-                        ReferrerPolicy aReferrerPolicy,
-                        nsIDOMDocument** aResult);
+    nsresult LoadDocument(nsIChannel* aChannel,
+                          bool aChannelIsSync, bool aForceToXML,
+                          ReferrerPolicy aReferrerPolicy,
+                          nsIDOMDocument** aResult);
 
-  NS_FORWARD_NSISTREAMLISTENER(mListener->)
-  NS_DECL_NSIREQUESTOBSERVER
+    NS_FORWARD_NSISTREAMLISTENER(mListener->)
+    NS_DECL_NSIREQUESTOBSERVER
 
-  NS_DECL_NSICHANNELEVENTSINK
+    NS_DECL_NSICHANNELEVENTSINK
 
-  NS_DECL_NSIINTERFACEREQUESTOR
+    NS_DECL_NSIINTERFACEREQUESTOR
 
 private:
     virtual ~nsSyncLoader();
 
     nsresult PushAsyncStream(nsIStreamListener* aListener);
     nsresult PushSyncStream(nsIStreamListener* aListener);
 
     nsCOMPtr<nsIChannel> mChannel;
--- a/dom/base/nsXHTMLContentSerializer.cpp
+++ b/dom/base/nsXHTMLContentSerializer.cpp
@@ -44,21 +44,16 @@ NS_NewXHTMLContentSerializer(nsIContentS
 {
   RefPtr<nsXHTMLContentSerializer> it = new nsXHTMLContentSerializer();
   it.forget(aSerializer);
   return NS_OK;
 }
 
 nsXHTMLContentSerializer::nsXHTMLContentSerializer()
   : mIsHTMLSerializer(false)
-  , mDoHeader{ false }
-  , mIsCopying{ false }
-  , mDisableEntityEncoding{}
-  , mRewriteEncodingDeclaration{ false }
-  , mIsFirstChildOfOL{ false }
 {
 }
 
 nsXHTMLContentSerializer::~nsXHTMLContentSerializer()
 {
   NS_ASSERTION(mOLStateStack.IsEmpty(), "Expected OL State stack to be empty");
 }
 
--- a/dom/base/nsXMLContentSerializer.cpp
+++ b/dom/base/nsXMLContentSerializer.cpp
@@ -52,33 +52,26 @@ nsresult
 NS_NewXMLContentSerializer(nsIContentSerializer** aSerializer)
 {
   RefPtr<nsXMLContentSerializer> it = new nsXMLContentSerializer();
   it.forget(aSerializer);
   return NS_OK;
 }
 
 nsXMLContentSerializer::nsXMLContentSerializer()
-  : mPrefixIndex(0)
-  , mFlags{}
-  , mColPos(0)
-  , mDoFormat{ false }
-  , mDoRaw{ false }
-  , mDoWrap{ false }
-  , mAllowLineBreaking{ false }
-  , mMaxColumn{}
-  , mIndentOverflow(0)
-  , mIsIndentationAddedOnCurrentLine(false)
-  , mInAttribute(false)
-  , mAddNewlineForRootNode(false)
-  , mAddSpace(false)
-  , mMayIgnoreLineBreakSequence(false)
-  , mBodyOnly(false)
-  , mInBody(0)
-  , mPreLevel{}
+  : mPrefixIndex(0),
+    mColPos(0),
+    mIndentOverflow(0),
+    mIsIndentationAddedOnCurrentLine(false),
+    mInAttribute(false),
+    mAddNewlineForRootNode(false),
+    mAddSpace(false),
+    mMayIgnoreLineBreakSequence(false),
+    mBodyOnly(false),
+    mInBody(0)
 {
 }
 
 nsXMLContentSerializer::~nsXMLContentSerializer()
 {
 }
 
 NS_IMPL_ISUPPORTS(nsXMLContentSerializer, nsIContentSerializer)
--- a/dom/base/nsXMLNameSpaceMap.h
+++ b/dom/base/nsXMLNameSpaceMap.h
@@ -10,20 +10,17 @@
 #include "nsString.h"
 #include "nsTArray.h"
 #include "nsCOMPtr.h"
 #include "nsAtom.h"
 
 struct nsNameSpaceEntry
 {
   explicit nsNameSpaceEntry(nsAtom* aPrefix)
-    : prefix(aPrefix)
-    , nameSpaceID{}
-  {
-  }
+    : prefix(aPrefix) {}
 
   RefPtr<nsAtom> prefix;
   MOZ_INIT_OUTSIDE_CTOR int32_t nameSpaceID;
 };
 
 /**
  * nsXMLNameSpaceMap contains a set of prefixes which are mapped onto
  * namespaces.  It allows the set to be searched by prefix or by namespace ID.
--- a/dom/bindings/BindingDeclarations.h
+++ b/dom/bindings/BindingDeclarations.h
@@ -382,25 +382,20 @@ private:
   const nsAString* mStr;
 };
 
 template<class T>
 class NonNull
 {
 public:
   NonNull()
-    : ptr
-  {
-    nullptr
-  }
 #ifdef DEBUG
-  , inited(false)
+    : inited(false)
 #endif
-  {
-  }
+  {}
 
   // This is no worse than get() in terms of const handling.
   operator T&() const {
     MOZ_ASSERT(inited);
     MOZ_ASSERT(ptr, "NonNull<T> was set to null");
     return *ptr;
   }
 
--- a/dom/bindings/BindingUtils.cpp
+++ b/dom/bindings/BindingUtils.cpp
@@ -167,21 +167,17 @@ ThrowNoSetterArg(JSContext* aCx, prototy
 }
 
 } // namespace dom
 
 namespace binding_danger {
 
 template<typename CleanupPolicy>
 struct TErrorResult<CleanupPolicy>::Message {
-  Message()
-    : mErrorNumber{ dom::Err_Limit }
-  {
-    MOZ_COUNT_CTOR(TErrorResult::Message);
-  }
+  Message() { MOZ_COUNT_CTOR(TErrorResult::Message); }
   ~Message() { MOZ_COUNT_DTOR(TErrorResult::Message); }
 
   nsTArray<nsString> mArgs;
   dom::ErrNum mErrorNumber;
 
   bool HasCorrectNumberOfArguments()
   {
     return GetErrorArgCount(mErrorNumber) == mArgs.Length();
--- a/dom/bindings/ErrorResult.h
+++ b/dom/bindings/ErrorResult.h
@@ -118,20 +118,16 @@ namespace binding_danger {
  * reported or suppressed, and whether to then go ahead and suppress the
  * exception.
  */
 template<typename CleanupPolicy>
 class TErrorResult {
 public:
   TErrorResult()
     : mResult(NS_OK)
-    , mMessage
-  {
-    nullptr
-  }
 #ifdef DEBUG
     , mMightHaveUnreportedJSException(false)
     , mUnionState(HasNothing)
 #endif
   {
   }
 
   ~TErrorResult() {
--- a/dom/bindings/FakeString.h
+++ b/dom/bindings/FakeString.h
@@ -13,21 +13,19 @@
 
 namespace mozilla {
 namespace dom {
 namespace binding_detail {
 // A struct that has the same layout as an nsString but much faster
 // constructor and destructor behavior. FakeString uses inline storage
 // for small strings and a nsStringBuffer for longer strings.
 struct FakeString {
-  FakeString()
-    : mData{ nullptr }
-    , mLength{}
-    , mDataFlags(nsString::DataFlags::TERMINATED)
-    , mClassFlags(nsString::ClassFlags(0))
+  FakeString() :
+    mDataFlags(nsString::DataFlags::TERMINATED),
+    mClassFlags(nsString::ClassFlags(0))
   {
   }
 
   ~FakeString() {
     if (mDataFlags & nsString::DataFlags::REFCOUNTED) {
       nsStringBuffer::FromData(mData)->Release();
     }
   }
--- a/dom/bindings/TypedArray.h
+++ b/dom/bindings/TypedArray.h
@@ -216,17 +216,16 @@ struct ArrayBufferView_base
 {
 private:
   typedef TypedArray_base<uint8_t, UnwrapArray, GetLengthAndDataAndSharedness>
           Base;
 
 public:
   ArrayBufferView_base()
     : Base()
-    , mType{ static_cast<js::Scalar::Type>(0) }
   {
   }
 
   ArrayBufferView_base(ArrayBufferView_base&& aOther)
     : Base(Move(aOther)),
       mType(aOther.mType)
   {
     aOther.mType = js::Scalar::MaxTypedArrayViewType;
--- a/dom/cache/SavedTypes.h
+++ b/dom/cache/SavedTypes.h
@@ -17,42 +17,26 @@
 #include "nsIOutputStream.h"
 
 namespace mozilla {
 namespace dom {
 namespace cache {
 
 struct SavedRequest
 {
-  SavedRequest()
-    : mHasBodyId(false)
-    , mCacheId{}
-  {
-    this->mBodyId.m0 = {};
-    this->mBodyId.m1 = {};
-    this->mBodyId.m2 = {};
-    mValue.body() = void_t();
-  }
+  SavedRequest() : mHasBodyId(false) { mValue.body() = void_t(); }
   CacheRequest mValue;
   bool mHasBodyId;
   nsID mBodyId;
   CacheId mCacheId;
 };
 
 struct SavedResponse
 {
-  SavedResponse()
-    : mHasBodyId(false)
-    , mCacheId{}
-  {
-    this->mBodyId.m0 = {};
-    this->mBodyId.m1 = {};
-    this->mBodyId.m2 = {};
-    mValue.body() = void_t();
-  }
+  SavedResponse() : mHasBodyId(false) { mValue.body() = void_t(); }
   CacheResponse mValue;
   bool mHasBodyId;
   nsID mBodyId;
   CacheId mCacheId;
 };
 
 } // namespace cache
 } // namespace dom
--- a/dom/canvas/CanvasRenderingContext2D.cpp
+++ b/dom/canvas/CanvasRenderingContext2D.cpp
@@ -3981,22 +3981,16 @@ CanvasRenderingContext2D::GetHitRegionRe
  * Used for nsBidiPresUtils::ProcessText
  */
 struct MOZ_STACK_CLASS CanvasBidiProcessor : public nsBidiPresUtils::BidiProcessor
 {
   typedef CanvasRenderingContext2D::Style Style;
 
   CanvasBidiProcessor()
     : nsBidiPresUtils::BidiProcessor()
-    , mCtx{ nullptr }
-    , mFontgrp{ nullptr }
-    , mAppUnitsPerDevPixel{}
-    , mOp{ static_cast<CanvasRenderingContext2D::TextDrawOperation>(0) }
-    , mTextRunFlags{ static_cast<gfx::ShapedTextFlags>(0) }
-    , mDoMeasureBoundingBox{ false }
   {
     if (Preferences::GetBool(GFX_MISSING_FONTS_NOTIFY_PREF)) {
       mMissingFonts = new gfxMissingFontRecorder();
     }
   }
 
   ~CanvasBidiProcessor()
   {
--- a/dom/canvas/WebGLContext.cpp
+++ b/dom/canvas/WebGLContext.cpp
@@ -104,139 +104,81 @@ WebGLContextOptions::WebGLContextOptions
     , failIfMajorPerformanceCaveat(false)
 {
     // Set default alpha state based on preference.
     if (gfxPrefs::WebGLDefaultNoAlpha())
         alpha = false;
 }
 
 WebGLContext::WebGLContext()
-  : WebGLContextUnchecked(nullptr)
-  , mMaxPerfWarnings(gfxPrefs::WebGLMaxPerfWarnings())
-  , mNumPerfWarnings(0)
-  , mMaxAcceptableFBStatusInvals(gfxPrefs::WebGLMaxAcceptableFBStatusInvals())
-  , mDepthTestEnabled{ '\0' }
-  , mGenerateMipmapHint{}
-  , mDataAllocGLCallCount(0)
-  , mPrimRestartTypeBytes{}
-  , mActiveTexture{}
-  , mDefaultFB_DrawBuffer0{}
-  , mDefaultFB_ReadBuffer{}
-  , mBypassShaderValidation(false)
-  , mGLMaxTextureUnits{}
-  , mGLMaxVertexAttribs{}
-  , mGLMaxFragmentUniformVectors{}
-  , mGLMaxVertexUniformVectors{}
-  , mGLMaxVaryingVectors{}
-  , mGLMaxTransformFeedbackSeparateAttribs{}
-  , mGLMaxUniformBufferBindings{}
-  , mGLMaxVertexTextureImageUnits{}
-  , mGLMaxFragmentTextureImageUnits{}
-  , mGLMaxCombinedTextureImageUnits{}
-  , mGLMaxColorAttachments{}
-  , mGLMaxDrawBuffers{}
-  , mGLMaxTextureSize{}
-  , mGLMaxCubeMapTextureSize{}
-  , mGLMax3DTextureSize{}
-  , mGLMaxArrayTextureLayers{}
-  , mGLMaxRenderbufferSize{}
-  , mPixelStore_UnpackImageHeight{}
-  , mPixelStore_UnpackSkipImages{}
-  , mPixelStore_UnpackRowLength{}
-  , mPixelStore_UnpackSkipRows{}
-  , mPixelStore_UnpackSkipPixels{}
-  , mPixelStore_UnpackAlignment{}
-  , mPixelStore_PackRowLength{}
-  , mPixelStore_PackSkipRows{}
-  , mPixelStore_PackSkipPixels{}
-  , mPixelStore_PackAlignment{}
-  , mPixelStore_ColorspaceConversion{}
-  , mPixelStore_FlipY{ false }
-  , mPixelStore_PremultiplyAlpha{ false }
-  , mPixelStore_RequireFastPath{ false }
-  , mEmptyTFO(0)
-  , mFakeVertexAttrib0BufferObject{}
-  , mFakeVertexAttrib0BufferObjectSize{}
-  , mFakeVertexAttrib0DataDefined{ false }
-  , mStencilRefFront{}
-  , mStencilRefBack{}
-  , mStencilValueMaskFront{}
-  , mStencilValueMaskBack{}
-  , mStencilWriteMaskFront{}
-  , mStencilWriteMaskBack{}
-  , mColorWriteMask{ '\0' }
-  , mDepthWriteMask{ '\0' }
-  , mStencilClearValue{}
-  , mDepthClearValue{ 0.0 }
-  , mLineWidth{ 0.0 }
-  , mContextLossHandler(this)
-  , mNeedsFakeNoAlpha(false)
-  , mNeedsFakeNoDepth(false)
-  , mNeedsFakeNoStencil(false)
-  , mNeedsFakeNoStencil_UserFBs{ false }
-  , mDriverColorMask{ '\0' }
-  , mDriverDepthTest{ false }
-  , mDriverStencilTest{ false }
-  , mNeedsIndexValidation{ false }
-  , mAllowFBInvalidation(gfxPrefs::WebGLFBInvalidation())
-  , mMsaaSamples(gfxPrefs::WebGLMsaaSamples())
-  , mDefaultFB_IsInvalid{ false }
+    : WebGLContextUnchecked(nullptr)
+    , mMaxPerfWarnings(gfxPrefs::WebGLMaxPerfWarnings())
+    , mNumPerfWarnings(0)
+    , mMaxAcceptableFBStatusInvals(gfxPrefs::WebGLMaxAcceptableFBStatusInvals())
+    , mDataAllocGLCallCount(0)
+    , mBypassShaderValidation(false)
+    , mEmptyTFO(0)
+    , mContextLossHandler(this)
+    , mNeedsFakeNoAlpha(false)
+    , mNeedsFakeNoDepth(false)
+    , mNeedsFakeNoStencil(false)
+    , mAllowFBInvalidation(gfxPrefs::WebGLFBInvalidation())
+    , mMsaaSamples(gfxPrefs::WebGLMsaaSamples())
 {
-  mGeneration = 0;
-  mInvalidated = false;
-  mCapturedFrameInvalidated = false;
-  mShouldPresent = true;
-  mResetLayer = true;
-  mOptionsFrozen = false;
-  mDisableExtensions = false;
-  mIsMesa = false;
-  mEmitContextLostErrorOnce = false;
-  mWebGLError = 0;
-  mUnderlyingGLError = 0;
-
-  mContextLostErrorSet = false;
-
-  mViewportX = 0;
-  mViewportY = 0;
-  mViewportWidth = 0;
-  mViewportHeight = 0;
-
-  mDitherEnabled = 1;
-  mRasterizerDiscardEnabled = 0; // OpenGL ES 3.0 spec p244
-  mScissorTestEnabled = 0;
-  mStencilTestEnabled = 0;
-
-  if (NS_IsMainThread()) {
-    // XXX mtseng: bug 709490, not thread safe
-    WebGLMemoryTracker::AddWebGLContext(this);
-  }
-
-  mAllowContextRestore = true;
-  mLastLossWasSimulated = false;
-  mContextStatus = ContextNotLost;
-  mLoseContextOnMemoryPressure = false;
-  mCanLoseContextInForeground = true;
-  mRestoreWhenVisible = false;
-
-  mAlreadyGeneratedWarnings = 0;
-  mAlreadyWarnedAboutFakeVertexAttrib0 = false;
-  mAlreadyWarnedAboutViewportLargerThanDest = false;
-
-  mMaxWarnings = gfxPrefs::WebGLMaxWarningsPerContext();
-  if (mMaxWarnings < -1) {
-    GenerateWarning("webgl.max-warnings-per-context size is too large (seems "
-                    "like a negative value wrapped)");
-    mMaxWarnings = 0;
-  }
-
-  mLastUseIndex = 0;
-
-  mDisableFragHighP = false;
-
-  mDrawCallsSinceLastFlush = 0;
+    mGeneration = 0;
+    mInvalidated = false;
+    mCapturedFrameInvalidated = false;
+    mShouldPresent = true;
+    mResetLayer = true;
+    mOptionsFrozen = false;
+    mDisableExtensions = false;
+    mIsMesa = false;
+    mEmitContextLostErrorOnce = false;
+    mWebGLError = 0;
+    mUnderlyingGLError = 0;
+
+    mContextLostErrorSet = false;
+
+    mViewportX = 0;
+    mViewportY = 0;
+    mViewportWidth = 0;
+    mViewportHeight = 0;
+
+    mDitherEnabled = 1;
+    mRasterizerDiscardEnabled = 0; // OpenGL ES 3.0 spec p244
+    mScissorTestEnabled = 0;
+    mStencilTestEnabled = 0;
+
+    if (NS_IsMainThread()) {
+        // XXX mtseng: bug 709490, not thread safe
+        WebGLMemoryTracker::AddWebGLContext(this);
+    }
+
+    mAllowContextRestore = true;
+    mLastLossWasSimulated = false;
+    mContextStatus = ContextNotLost;
+    mLoseContextOnMemoryPressure = false;
+    mCanLoseContextInForeground = true;
+    mRestoreWhenVisible = false;
+
+    mAlreadyGeneratedWarnings = 0;
+    mAlreadyWarnedAboutFakeVertexAttrib0 = false;
+    mAlreadyWarnedAboutViewportLargerThanDest = false;
+
+    mMaxWarnings = gfxPrefs::WebGLMaxWarningsPerContext();
+    if (mMaxWarnings < -1) {
+        GenerateWarning("webgl.max-warnings-per-context size is too large (seems like a negative value wrapped)");
+        mMaxWarnings = 0;
+    }
+
+    mLastUseIndex = 0;
+
+    mDisableFragHighP = false;
+
+    mDrawCallsSinceLastFlush = 0;
 }
 
 WebGLContext::~WebGLContext()
 {
     RemovePostRefreshObserver();
 
     DestroyResourcesAndContext();
     if (NS_IsMainThread()) {
--- a/dom/canvas/WebGLStrongTypes.h
+++ b/dom/canvas/WebGLStrongTypes.h
@@ -117,17 +117,19 @@ private:
                        "GLenum values should be sorted in ascending order");
         }
         alreadyChecked = true;
 #endif
     }
 
 public:
     StrongGLenum()
+#ifdef DEBUG
         : mValue(NonexistantGLenum)
+#endif
     {
         AssertOnceThatEnumValuesAreSorted();
     }
 
     MOZ_IMPLICIT StrongGLenum(GLenum value)
         : mValue(value)
     {
         AssertOnceThatEnumValuesAreSorted();
--- a/dom/canvas/WebGLTexture.cpp
+++ b/dom/canvas/WebGLTexture.cpp
@@ -120,32 +120,31 @@ WebGLTexture::ImageInfo::SetIsDataInitia
 ////////////////////////////////////////
 
 JSObject*
 WebGLTexture::WrapObject(JSContext* cx, JS::Handle<JSObject*> givenProto) {
     return dom::WebGLTextureBinding::Wrap(cx, this, givenProto);
 }
 
 WebGLTexture::WebGLTexture(WebGLContext* webgl, GLuint tex)
-  : WebGLRefCountedObject(webgl)
-  , mGLName(tex)
-  , mTarget(LOCAL_GL_NONE)
-  , mFaceCount(0)
-  , mMinFilter(LOCAL_GL_NEAREST_MIPMAP_LINEAR)
-  , mMagFilter(LOCAL_GL_LINEAR)
-  , mWrapS(LOCAL_GL_REPEAT)
-  , mWrapT(LOCAL_GL_REPEAT)
-  , mImmutable(false)
-  , mImmutableLevelCount(0)
-  , mBaseMipmapLevel(0)
-  , mMaxMipmapLevel(1000)
-  , mTexCompareMode(LOCAL_GL_NONE)
-  , mIsResolved(false)
-  , mResolved_FakeBlack{ FakeBlackType::None }
-  , mResolved_Swizzle(nullptr)
+    : WebGLRefCountedObject(webgl)
+    , mGLName(tex)
+    , mTarget(LOCAL_GL_NONE)
+    , mFaceCount(0)
+    , mMinFilter(LOCAL_GL_NEAREST_MIPMAP_LINEAR)
+    , mMagFilter(LOCAL_GL_LINEAR)
+    , mWrapS(LOCAL_GL_REPEAT)
+    , mWrapT(LOCAL_GL_REPEAT)
+    , mImmutable(false)
+    , mImmutableLevelCount(0)
+    , mBaseMipmapLevel(0)
+    , mMaxMipmapLevel(1000)
+    , mTexCompareMode(LOCAL_GL_NONE)
+    , mIsResolved(false)
+    , mResolved_Swizzle(nullptr)
 {
     mContext->mTextures.insertBack(this);
 }
 
 void
 WebGLTexture::Delete()
 {
     const char funcName[] = "WebGLTexture::Delete";
--- a/dom/canvas/WebGLTransformFeedback.cpp
+++ b/dom/canvas/WebGLTransformFeedback.cpp
@@ -8,26 +8,23 @@
 #include "GLContext.h"
 #include "mozilla/dom/WebGL2RenderingContextBinding.h"
 #include "WebGL2Context.h"
 #include "WebGLProgram.h"
 
 namespace mozilla {
 
 WebGLTransformFeedback::WebGLTransformFeedback(WebGLContext* webgl, GLuint tf)
-  : WebGLRefCountedObject(webgl)
-  , mGLName(tf)
-  , mIndexedBindings(webgl->mGLMaxTransformFeedbackSeparateAttribs)
-  , mIsPaused(false)
-  , mIsActive(false)
-  , mActive_PrimMode{}
-  , mActive_VertPosition{}
-  , mActive_VertCapacity{}
+    : WebGLRefCountedObject(webgl)
+    , mGLName(tf)
+    , mIndexedBindings(webgl->mGLMaxTransformFeedbackSeparateAttribs)
+    , mIsPaused(false)
+    , mIsActive(false)
 {
-  mContext->mTransformFeedbacks.insertBack(this);
+    mContext->mTransformFeedbacks.insertBack(this);
 }
 
 WebGLTransformFeedback::~WebGLTransformFeedback()
 {
     DeleteOnce();
 }
 
 void
--- a/dom/canvas/WebGLVertexAttribData.h
+++ b/dom/canvas/WebGLVertexAttribData.h
@@ -46,29 +46,20 @@ public:
     GETTER(Stride)
     GETTER(ExplicitStride)
     GETTER(ByteOffset)
 
 #undef GETTER
 
     // note that these initial values are what GL initializes vertex attribs to
     WebGLVertexAttribData()
-      : mDivisor(0)
-      , mEnabled(false)
-      , mIntegerFunc{ false }
-      , mType{}
-      , mBaseType{}
-      , mSize{ '\0' }
-      , mBytesPerVertex{ '\0' }
-      , mNormalized{ false }
-      , mStride{}
-      , mExplicitStride{}
-      , mByteOffset{}
+        : mDivisor(0)
+        , mEnabled(false)
     {
-      VertexAttribPointer(false, nullptr, 4, LOCAL_GL_FLOAT, false, 0, 0);
+        VertexAttribPointer(false, nullptr, 4, LOCAL_GL_FLOAT, false, 0, 0);
     }
 
     void VertexAttribPointer(bool integerFunc, WebGLBuffer* buf, uint8_t size,
                              GLenum type, bool normalized, uint32_t stride,
                              uint64_t byteOffset);
 
     void DoVertexAttribPointer(gl::GLContext* gl, GLuint index) const;
 };
--- a/dom/commandhandler/nsCommandParams.h
+++ b/dom/commandhandler/nsCommandParams.h
@@ -37,17 +37,16 @@ protected:
       nsCString* mCString;
     } mData;
 
     nsCOMPtr<nsISupports> mISupports;
 
     HashEntry(uint8_t aType, const char* aEntryName)
       : mEntryName(aEntryName)
       , mEntryType(aType)
-      , mData{}
     {
       Reset(mEntryType);
     }
 
     HashEntry(const HashEntry& aRHS)
       : mEntryType(aRHS.mEntryType)
     {
       Reset(mEntryType);
--- a/dom/crypto/WebCryptoTask.cpp
+++ b/dom/crypto/WebCryptoTask.cpp
@@ -515,38 +515,28 @@ protected:
   CryptoBuffer mData;
   bool mDataIsSet;
 };
 
 class AesTask : public ReturnArrayBufferViewTask,
                 public DeferredData
 {
 public:
-  AesTask(JSContext* aCx,
-          const ObjectOrString& aAlgorithm,
-          CryptoKey& aKey,
-          bool aEncrypt)
-    : mMechanism{}
-    , mSymKey(aKey.GetSymKey())
-    , mTagLength{ '\0' }
-    , mCounterLength{ '\0' }
+  AesTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
+          CryptoKey& aKey, bool aEncrypt)
+    : mSymKey(aKey.GetSymKey())
     , mEncrypt(aEncrypt)
   {
     Init(aCx, aAlgorithm, aKey, aEncrypt);
   }
 
-  AesTask(JSContext* aCx,
-          const ObjectOrString& aAlgorithm,
-          CryptoKey& aKey,
-          const CryptoOperationData& aData,
+  AesTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
+          CryptoKey& aKey, const CryptoOperationData& aData,
           bool aEncrypt)
-    : mMechanism{}
-    , mSymKey(aKey.GetSymKey())
-    , mTagLength{ '\0' }
-    , mCounterLength{ '\0' }
+    : mSymKey(aKey.GetSymKey())
     , mEncrypt(aEncrypt)
   {
     Init(aCx, aAlgorithm, aKey, aEncrypt);
     SetData(aData);
   }
 
   void Init(JSContext* aCx, const ObjectOrString& aAlgorithm,
             CryptoKey& aKey, bool aEncrypt)
@@ -1687,35 +1677,28 @@ public:
 
 private:
   nsString mHashName;
 };
 
 class ImportRsaKeyTask : public ImportKeyTask
 {
 public:
-  ImportRsaKeyTask(nsIGlobalObject* aGlobal,
-                   JSContext* aCx,
-                   const nsAString& aFormat,
-                   const ObjectOrString& aAlgorithm,
-                   bool aExtractable,
-                   const Sequence<nsString>& aKeyUsages)
-    : mModulusLength{}
+  ImportRsaKeyTask(nsIGlobalObject* aGlobal, JSContext* aCx,
+      const nsAString& aFormat,
+      const ObjectOrString& aAlgorithm, bool aExtractable,
+      const Sequence<nsString>& aKeyUsages)
   {
     Init(aGlobal, aCx, aFormat, aAlgorithm, aExtractable, aKeyUsages);
   }
 
-  ImportRsaKeyTask(nsIGlobalObject* aGlobal,
-                   JSContext* aCx,
-                   const nsAString& aFormat,
-                   JS::Handle<JSObject*> aKeyData,
-                   const ObjectOrString& aAlgorithm,
-                   bool aExtractable,
-                   const Sequence<nsString>& aKeyUsages)
-    : mModulusLength{}
+  ImportRsaKeyTask(nsIGlobalObject* aGlobal, JSContext* aCx,
+      const nsAString& aFormat, JS::Handle<JSObject*> aKeyData,
+      const ObjectOrString& aAlgorithm, bool aExtractable,
+      const Sequence<nsString>& aKeyUsages)
   {
     Init(aGlobal, aCx, aFormat, aAlgorithm, aExtractable, aKeyUsages);
     if (NS_FAILED(mEarlyRv)) {
       return;
     }
 
     SetKeyData(aCx, aKeyData);
     NS_ENSURE_SUCCESS_VOID(mEarlyRv);
@@ -2372,25 +2355,19 @@ private:
 
   virtual void Cleanup() override
   {
     mKey = nullptr;
   }
 };
 
 GenerateAsymmetricKeyTask::GenerateAsymmetricKeyTask(
-  nsIGlobalObject* aGlobal,
-  JSContext* aCx,
-  const ObjectOrString& aAlgorithm,
-  bool aExtractable,
-  const Sequence<nsString>& aKeyUsages)
+    nsIGlobalObject* aGlobal, JSContext* aCx, const ObjectOrString& aAlgorithm,
+    bool aExtractable, const Sequence<nsString>& aKeyUsages)
   : mKeyPair(new CryptoKeyPair())
-  , mMechanism{}
-  , mRsaParams{}
-  , mDhParams{}
 {
   mArena = UniquePLArenaPool(PORT_NewArena(DER_DEFAULT_CHUNKSIZE));
   if (!mArena) {
     mEarlyRv = NS_ERROR_DOM_UNKNOWN_ERR;
     return;
   }
 
   // Create an empty key pair and set easy attributes
@@ -2619,33 +2596,25 @@ GenerateAsymmetricKeyTask::Cleanup()
 {
   mKeyPair = nullptr;
 }
 
 class DeriveHkdfBitsTask : public ReturnArrayBufferViewTask
 {
 public:
   DeriveHkdfBitsTask(JSContext* aCx,
-                     const ObjectOrString& aAlgorithm,
-                     CryptoKey& aKey,
-                     uint32_t aLength)
+      const ObjectOrString& aAlgorithm, CryptoKey& aKey, uint32_t aLength)
     : mSymKey(aKey.GetSymKey())
-    , mMechanism{}
   {
     Init(aCx, aAlgorithm, aKey, aLength);
   }
 
-  DeriveHkdfBitsTask(JSContext* aCx,
-                     const ObjectOrString& aAlgorithm,
-                     CryptoKey& aKey,
-                     const ObjectOrString& aTargetAlgorithm)
-    : mLengthInBits{}
-    , mLengthInBytes{}
-    , mSymKey(aKey.GetSymKey())
-    , mMechanism{}
+  DeriveHkdfBitsTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
+                      CryptoKey& aKey, const ObjectOrString& aTargetAlgorithm)
+    : mSymKey(aKey.GetSymKey())
   {
     size_t length;
     mEarlyRv = GetKeyLengthForAlgorithm(aCx, aTargetAlgorithm, length);
 
     if (NS_SUCCEEDED(mEarlyRv)) {
       Init(aCx, aAlgorithm, aKey, length);
     }
   }
@@ -2777,33 +2746,25 @@ private:
     return NS_OK;
   }
 };
 
 class DerivePbkdfBitsTask : public ReturnArrayBufferViewTask
 {
 public:
   DerivePbkdfBitsTask(JSContext* aCx,
-                      const ObjectOrString& aAlgorithm,
-                      CryptoKey& aKey,
-                      uint32_t aLength)
+      const ObjectOrString& aAlgorithm, CryptoKey& aKey, uint32_t aLength)
     : mSymKey(aKey.GetSymKey())
-    , mHashOidTag{ SEC_OID_UNKNOWN }
   {
     Init(aCx, aAlgorithm, aKey, aLength);
   }
 
-  DerivePbkdfBitsTask(JSContext* aCx,
-                      const ObjectOrString& aAlgorithm,
-                      CryptoKey& aKey,
-                      const ObjectOrString& aTargetAlgorithm)
-    : mLength{}
-    , mIterations{}
-    , mSymKey(aKey.GetSymKey())
-    , mHashOidTag{ SEC_OID_UNKNOWN }
+  DerivePbkdfBitsTask(JSContext* aCx, const ObjectOrString& aAlgorithm,
+                      CryptoKey& aKey, const ObjectOrString& aTargetAlgorithm)
+    : mSymKey(aKey.GetSymKey())
   {
     size_t length;
     mEarlyRv = GetKeyLengthForAlgorithm(aCx, aTargetAlgorithm, length);
 
     if (NS_SUCCEEDED(mEarlyRv)) {
       Init(aCx, aAlgorithm, aKey, length);
     }
   }
--- a/dom/events/EventStateManager.cpp
+++ b/dom/events/EventStateManager.cpp
@@ -292,20 +292,18 @@ bool EventStateManager::WheelPrefs::sIsA
 bool EventStateManager::WheelPrefs::sHonoursRootForAutoDir = false;
 EventStateManager::DeltaAccumulator*
   EventStateManager::DeltaAccumulator::sInstance = nullptr;
 
 EventStateManager::EventStateManager()
   : mLockCursor(0)
   , mLastFrameConsumedSetCursor(false)
   , mCurrentTarget(nullptr)
-  // init d&d gesture state machine variables
-  , mGestureDownPoint(0, 0)
-  , mGestureModifiers{}
-  , mGestureDownButtons{}
+    // init d&d gesture state machine variables
+  , mGestureDownPoint(0,0)
   , mPresContext(nullptr)
   , mLClickCount(0)
   , mMClickCount(0)
   , mRClickCount(0)
   , mInTouchDrag(false)
   , m_haveShutdown(false)
 {
   if (sESMInstanceCount == 0) {
--- a/dom/events/IMEContentObserver.cpp
+++ b/dom/events/IMEContentObserver.cpp
@@ -194,17 +194,16 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(
 NS_INTERFACE_MAP_END
 
 NS_IMPL_CYCLE_COLLECTING_ADDREF(IMEContentObserver)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(IMEContentObserver)
 
 IMEContentObserver::IMEContentObserver()
   : mESM(nullptr)
   , mIMENotificationRequests(nullptr)
-  , mPreAttrChangeLength{}
   , mSuppressNotifications(0)
   , mPreCharacterDataChangeLength(-1)
   , mSendingNotification(NOTIFY_IME_OF_NOTHING)
   , mIsObserving(false)
   , mIMEHasFocus(false)
   , mNeedsToNotifyIMEOfFocusSet(false)
   , mNeedsToNotifyIMEOfTextChange(false)
   , mNeedsToNotifyIMEOfSelectionChange(false)
--- a/dom/events/TextComposition.h
+++ b/dom/events/TextComposition.h
@@ -572,17 +572,16 @@ private:
     RefPtr<TextComposition> mTextComposition;
     nsCOMPtr<nsINode> mEventTarget;
     nsString mData;
     EventMessage mEventMessage;
     bool mIsSynthesizedEvent;
 
     CompositionEventDispatcher()
       : Runnable("TextComposition::CompositionEventDispatcher")
-      , mEventMessage{ eVoidEvent }
       , mIsSynthesizedEvent(false){};
   };
 
   /**
    * DispatchCompositionEventRunnable() dispatches a composition event to the
    * content.  Be aware, if you use this method, nsPresShellEventCB isn't used.
    * That means that nsIFrame::HandleEvent() is never called.
    * WARNING: The instance which is managed by IMEStateManager may be
--- a/dom/events/XULCommandEvent.cpp
+++ b/dom/events/XULCommandEvent.cpp
@@ -8,20 +8,19 @@
 #include "prtime.h"
 
 namespace mozilla {
 namespace dom {
 
 XULCommandEvent::XULCommandEvent(EventTarget* aOwner,
                                  nsPresContext* aPresContext,
                                  WidgetInputEvent* aEvent)
-  : UIEvent(aOwner,
-            aPresContext,
-            aEvent ? aEvent : new WidgetInputEvent(false, eVoidEvent, nullptr))
-  , mInputSource{}
+  : UIEvent(aOwner, aPresContext,
+            aEvent ? aEvent :
+                     new WidgetInputEvent(false, eVoidEvent, nullptr))
 {
   if (aEvent) {
     mEventIsInternal = false;
   }
   else {
     mEventIsInternal = true;
     mEvent->mTime = PR_Now();
   }
--- a/dom/fetch/FetchDriver.cpp
+++ b/dom/fetch/FetchDriver.cpp
@@ -334,30 +334,26 @@ FetchDriver::FetchDriver(InternalRequest
                          bool aIsTrackingFetch)
   : mPrincipal(aPrincipal)
   , mLoadGroup(aLoadGroup)
   , mRequest(aRequest)
   , mMainThreadEventTarget(aMainThreadEventTarget)
   , mPerformanceStorage(aPerformanceStorage)
   , mNeedToObserveOnDataAvailable(false)
   , mIsTrackingFetch(aIsTrackingFetch)
-  , mOnStopRequestCalled
-{
-  false
-}
 #ifdef DEBUG
   , mResponseAvailableCalled(false)
   , mFetchCalled(false)
 #endif
-  {
-    AssertIsOnMainThread();
+{
+  AssertIsOnMainThread();
 
-    MOZ_ASSERT(aRequest);
-    MOZ_ASSERT(aPrincipal);
-    MOZ_ASSERT(aMainThreadEventTarget);
+  MOZ_ASSERT(aRequest);
+  MOZ_ASSERT(aPrincipal);
+  MOZ_ASSERT(aMainThreadEventTarget);
 }
 
 FetchDriver::~FetchDriver()
 {
   AssertIsOnMainThread();
 
   // We assert this since even on failures, we should call
   // FailWithNetworkError().
--- a/dom/fetch/InternalRequest.cpp
+++ b/dom/fetch/InternalRequest.cpp
@@ -119,32 +119,31 @@ InternalRequest::InternalRequest(const n
                                  RequestRedirect aRequestRedirect,
                                  RequestCredentials aRequestCredentials,
                                  const nsAString& aReferrer,
                                  ReferrerPolicy aReferrerPolicy,
                                  nsContentPolicyType aContentPolicyType,
                                  const nsAString& aIntegrity)
   : mMethod(aMethod)
   , mHeaders(aHeaders)
-  , mBodyLength{}
   , mContentPolicyType(aContentPolicyType)
   , mReferrer(aReferrer)
   , mReferrerPolicy(aReferrerPolicy)
   , mEnvironmentReferrerPolicy(net::RP_Unset)
   , mMode(aMode)
   , mCredentialsMode(aRequestCredentials)
   , mResponseTainting(LoadTainting::Basic)
   , mCacheMode(aCacheMode)
   , mRedirectMode(aRequestRedirect)
   , mIntegrity(aIntegrity)
   , mMozErrors(false)
   , mAuthenticationFlag(false)
   , mForceOriginHeader(false)
   , mPreserveContentCodings(false)
-  // FIXME See the above comment in the default constructor.
+    // FIXME See the above comment in the default constructor.
   , mSameOriginDataURL(true)
   , mSkipServiceWorker(false)
   , mSynchronous(false)
   , mUnsafeRequest(false)
   , mUseURLCredentials(false)
 {
   MOZ_ASSERT(!aURL.IsEmpty());
   AddURL(aURL, aFragment);
@@ -178,37 +177,25 @@ InternalRequest::InternalRequest(const I
   , mContentPolicyTypeOverridden(aOther.mContentPolicyTypeOverridden)
 {
   // NOTE: does not copy body stream... use the fallible Clone() for that
 }
 
 InternalRequest::InternalRequest(const IPCInternalRequest& aIPCRequest)
   : mMethod(aIPCRequest.method())
   , mURLList(aIPCRequest.urls())
-  , mHeaders(
-      new InternalHeaders(aIPCRequest.headers(), aIPCRequest.headersGuard()))
-  , mBodyLength{}
+  , mHeaders(new InternalHeaders(aIPCRequest.headers(),
+                                 aIPCRequest.headersGuard()))
   , mContentPolicyType(aIPCRequest.contentPolicyType())
   , mReferrer(aIPCRequest.referrer())
   , mReferrerPolicy(aIPCRequest.referrerPolicy())
-  , mEnvironmentReferrerPolicy{ RP_Unset }
   , mMode(aIPCRequest.mode())
   , mCredentialsMode(aIPCRequest.credentials())
-  , /* FIXME: initialize mResponseTainting */ mCacheMode(
-    aIPCRequest.requestCache())
+  , mCacheMode(aIPCRequest.requestCache())
   , mRedirectMode(aIPCRequest.requestRedirect())
-  , mMozErrors{ false }
-  , mAuthenticationFlag{ false }
-  , mForceOriginHeader{ false }
-  , mPreserveContentCodings{ false }
-  , mSameOriginDataURL{ false }
-  , mSkipServiceWorker{ false }
-  , mSynchronous{ false }
-  , mUnsafeRequest{ false }
-  , mUseURLCredentials{ false }
 {
   MOZ_ASSERT(!mURLList.IsEmpty());
 }
 
 InternalRequest::~InternalRequest()
 {
 }
 
--- a/dom/filesystem/FileSystemTaskBase.h
+++ b/dom/filesystem/FileSystemTaskBase.h
@@ -183,19 +183,17 @@ private:
 
 // This class is the 'alter ego' of FileSystemTaskChildBase in the PBackground
 // world.
 class FileSystemTaskParentBase : public Runnable
 {
 public:
   FileSystemTaskParentBase()
     : Runnable("FileSystemTaskParentBase")
-    , mErrorValue{ NS_ERROR_NOT_INITIALIZED }
-  {
-  }
+  {}
 
   /*
    * Start the task. This must be called from the PBackground thread only.
    */
   void
   Start();
 
   /*
--- a/dom/filesystem/GetFilesHelper.h
+++ b/dom/filesystem/GetFilesHelper.h
@@ -154,21 +154,17 @@ protected:
 };
 
 class GetFilesHelperChild final : public GetFilesHelper
 {
 public:
   GetFilesHelperChild(nsIGlobalObject* aGlobal, bool aRecursiveFlag)
     : GetFilesHelper(aGlobal, aRecursiveFlag)
     , mPendingOperation(false)
-  {
-    this->mUUID.m0 = {};
-    this->mUUID.m1 = {};
-    this->mUUID.m2 = {};
-  }
+  {}
 
   virtual void
   Work(ErrorResult& aRv) override;
 
   virtual void
   Cancel() override;
 
   bool
--- a/dom/gamepad/GamepadHapticActuator.h
+++ b/dom/gamepad/GamepadHapticActuator.h
@@ -18,20 +18,17 @@ class Promise;
 
 class GamepadHapticActuator : public nsISupports,
                               public nsWrapperCache
 {
 public:
   GamepadHapticActuator(nsISupports* aParent, uint32_t aGamepadId,
                         uint32_t aIndex);
   explicit GamepadHapticActuator(nsISupports* aParent)
-    : mParent(aParent)
-    , mGamepadId{}
-    , mType(GamepadHapticActuatorType::Vibration)
-    , mIndex{}
+    : mParent(aParent), mType(GamepadHapticActuatorType::Vibration)
   {
   }
 
   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(GamepadHapticActuator)
 
   nsISupports* GetParentObject() const;
 
--- a/dom/grid/GridLine.cpp
+++ b/dom/grid/GridLine.cpp
@@ -15,23 +15,22 @@ namespace dom {
 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(GridLine, mParent)
 NS_IMPL_CYCLE_COLLECTING_ADDREF(GridLine)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(GridLine)
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(GridLine)
   NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
   NS_INTERFACE_MAP_ENTRY(nsISupports)
 NS_INTERFACE_MAP_END
 
-GridLine::GridLine(GridLines* aParent)
+GridLine::GridLine(GridLines *aParent)
   : mParent(aParent)
   , mStart(0.0)
   , mBreadth(0.0)
   , mType(GridDeclaration::Implicit)
   , mNumber(0)
-  , mNegativeNumber{}
 {
   MOZ_ASSERT(aParent, "Should never be instantiated with a null GridLines");
 }
 
 GridLine::~GridLine()
 {
 }
 
--- a/dom/ipc/ContentBridgeParent.cpp
+++ b/dom/ipc/ContentBridgeParent.cpp
@@ -18,18 +18,17 @@ using namespace mozilla::jsipc;
 namespace mozilla {
 namespace dom {
 
 NS_IMPL_ISUPPORTS(ContentBridgeParent,
                   nsIContentParent,
                   nsIObserver)
 
 ContentBridgeParent::ContentBridgeParent()
-  : mIsForBrowser{ false }
-  , mIsForJSPlugin(false)
+  : mIsForJSPlugin(false)
 {}
 
 ContentBridgeParent::~ContentBridgeParent()
 {
 }
 
 void
 ContentBridgeParent::ActorDestroy(ActorDestroyReason aWhy)
--- a/dom/ipc/FilePickerParent.h
+++ b/dom/ipc/FilePickerParent.h
@@ -17,37 +17,35 @@
 class nsIFile;
 
 namespace mozilla {
 namespace dom {
 
 class FilePickerParent : public PFilePickerParent
 {
  public:
-   FilePickerParent(const nsString& aTitle, const int16_t& aMode)
-     : mTitle(aTitle)
-     , mMode(aMode)
-     , mResult{}
-   {
-   }
+  FilePickerParent(const nsString& aTitle,
+                   const int16_t& aMode)
+  : mTitle(aTitle)
+  , mMode(aMode)
+  {}
 
-   virtual ~FilePickerParent();
+  virtual ~FilePickerParent();
 
-   void Done(int16_t aResult);
+  void Done(int16_t aResult);
 
-   struct BlobImplOrString
-   {
-     RefPtr<BlobImpl> mBlobImpl;
-     nsString mDirectoryPath;
+  struct BlobImplOrString
+  {
+    RefPtr<BlobImpl> mBlobImpl;
+    nsString mDirectoryPath;
 
-     enum
-     {
-       eBlobImpl,
-       eDirectoryPath
-     } mType;
+    enum {
+      eBlobImpl,
+      eDirectoryPath
+    } mType;
   };
 
   void SendFilesOrDirectories(const nsTArray<BlobImplOrString>& aData);
 
   virtual mozilla::ipc::IPCResult RecvOpen(const int16_t& aSelectedType,
                                            const bool& aAddToRecentDocs,
                                            const nsString& aDefaultFile,
                                            const nsString& aDefaultExtension,
--- a/dom/ipc/ProcessHangMonitor.cpp
+++ b/dom/ipc/ProcessHangMonitor.cpp
@@ -299,27 +299,26 @@ private:
 
 bool HangMonitorParent::sShouldForcePaint = true;
 
 } // namespace
 
 /* HangMonitorChild implementation */
 
 HangMonitorChild::HangMonitorChild(ProcessHangMonitor* aMonitor)
-  : mHangMonitor(aMonitor)
-  , mMonitor("HangMonitorChild lock")
-  , mSentReport(false)
-  , mTerminateScript(false)
-  , mTerminateGlobal(false)
-  , mStartDebugger(false)
-  , mFinishedStartingDebugger(false)
-  , mForcePaint(false)
-  , mForcePaintEpoch{}
-  , mShutdownDone(false)
-  , mIPCOpen(true)
+ : mHangMonitor(aMonitor),
+   mMonitor("HangMonitorChild lock"),
+   mSentReport(false),
+   mTerminateScript(false),
+   mTerminateGlobal(false),
+   mStartDebugger(false),
+   mFinishedStartingDebugger(false),
+   mForcePaint(false),
+   mShutdownDone(false),
+   mIPCOpen(true)
 {
   MOZ_RELEASE_ASSERT(NS_IsMainThread());
   mContext = danger::GetJSContext();
   mForcePaintMonitor =
     MakeUnique<mozilla::BackgroundHangMonitor>("Gecko_Child_ForcePaint",
                                                128, /* ms timeout for microhangs */
                                                1024, /* ms timeout for permahangs */
                                                BackgroundHangMonitor::THREAD_PRIVATE);
--- a/dom/ipc/TabChild.cpp
+++ b/dom/ipc/TabChild.cpp
@@ -400,19 +400,18 @@ TabChild::TabChild(nsIContentChild* aMan
                    uint32_t aChromeFlags)
   : TabContext(aContext)
   , mTabGroup(aTabGroup)
   , mRemoteFrame(nullptr)
   , mManager(aManager)
   , mChromeFlags(aChromeFlags)
   , mMaxTouchPoints(0)
   , mActiveSuppressDisplayport(0)
-  , mLayersId{ 0 }
+  , mLayersId{0}
   , mBeforeUnloadListeners(0)
-  , mLastBackgroundColor{}
   , mDidFakeShow(false)
   , mNotified(false)
   , mTriedBrowserInit(false)
   , mOrientation(eScreenOrientation_PortraitPrimary)
   , mIgnoreKeyPressEvent(false)
   , mHasValidInnerSize(false)
   , mDestroyed(false)
   , mUniqueId(aTabId)
--- a/dom/ipc/TabParent.cpp
+++ b/dom/ipc/TabParent.cpp
@@ -158,18 +158,16 @@ TabParent::TabParent(nsIContentParent* a
   , mMarkedDestroying(false)
   , mIsDestroyed(false)
   , mChromeFlags(aChromeFlags)
   , mDragValid(false)
   , mInitedByParent(false)
   , mTabId(aTabId)
   , mCreatingWindow(false)
   , mCursor(eCursorInvalid)
-  , mCustomCursorHotspotX{}
-  , mCustomCursorHotspotY{}
   , mTabSetsCursor(false)
   , mHasContentOpener(false)
 #ifdef DEBUG
   , mActiveSupressDisplayportCount(0)
 #endif
   , mLayerTreeEpoch(1)
   , mPreserveLayers(false)
   , mRenderLayers(true)
--- a/dom/media/BufferReader.h
+++ b/dom/media/BufferReader.h
@@ -14,22 +14,17 @@
 
 namespace mozilla {
 
 extern mozilla::LazyLogModule gMP4MetadataLog;
 
 class MOZ_RAII BufferReader
 {
 public:
-  BufferReader()
-    : mPtr(nullptr)
-    , mRemaining(0)
-    , mLength{}
-  {
-  }
+  BufferReader() : mPtr(nullptr), mRemaining(0) {}
   BufferReader(const uint8_t* aData, size_t aSize)
     : mPtr(aData), mRemaining(aSize), mLength(aSize)
   {
   }
   template<size_t S>
   explicit BufferReader(const AutoTArray<uint8_t, S>& aData)
     : mPtr(aData.Elements()), mRemaining(aData.Length()), mLength(aData.Length())
   {
--- a/dom/media/DOMMediaStream.cpp
+++ b/dom/media/DOMMediaStream.cpp
@@ -417,29 +417,22 @@ NS_IMPL_CYCLE_COLLECTION_INHERITED(DOMAu
 NS_IMPL_ADDREF_INHERITED(DOMAudioNodeMediaStream, DOMMediaStream)
 NS_IMPL_RELEASE_INHERITED(DOMAudioNodeMediaStream, DOMMediaStream)
 
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMAudioNodeMediaStream)
 NS_INTERFACE_MAP_END_INHERITING(DOMMediaStream)
 
 DOMMediaStream::DOMMediaStream(nsPIDOMWindowInner* aWindow,
                                MediaStreamTrackSourceGetter* aTrackSourceGetter)
-  : mLogicalStreamStartTime(0)
-  , mWindow(aWindow)
-  , mInputStream(nullptr)
-  , mOwnedStream(nullptr)
-  , mPlaybackStream(nullptr)
-  , mTracksPendingRemoval(0)
-  , mTrackSourceGetter(aTrackSourceGetter)
-  , mPlaybackTrackListener(MakeAndAddRef<PlaybackTrackListener>(this))
-  , mTracksCreated(false)
-  , mNotifiedOfMediaStreamGraphShutdown(false)
-  , mActive(false)
-  , mSetInactiveOnFinish(false)
-  , mCORSMode{ CORS_NONE }
+  : mLogicalStreamStartTime(0), mWindow(aWindow),
+    mInputStream(nullptr), mOwnedStream(nullptr), mPlaybackStream(nullptr),
+    mTracksPendingRemoval(0), mTrackSourceGetter(aTrackSourceGetter),
+    mPlaybackTrackListener(MakeAndAddRef<PlaybackTrackListener>(this)),
+    mTracksCreated(false), mNotifiedOfMediaStreamGraphShutdown(false),
+    mActive(false), mSetInactiveOnFinish(false)
 {
   nsresult rv;
   nsCOMPtr<nsIUUIDGenerator> uuidgen =
     do_GetService("@mozilla.org/uuid-generator;1", &rv);
 
   if (NS_SUCCEEDED(rv) && uuidgen) {
     nsID uuid;
     memset(&uuid, 0, sizeof(uuid));
--- a/dom/media/GetUserMediaRequest.cpp
+++ b/dom/media/GetUserMediaRequest.cpp
@@ -23,25 +23,22 @@ GetUserMediaRequest::GetUserMediaRequest
   , mOuterWindowID(aInnerWindow->GetOuterWindow()->WindowID())
   , mCallID(aCallID)
   , mConstraints(new MediaStreamConstraints(aConstraints))
   , mIsSecure(aIsSecure)
   , mIsHandlingUserInput(aIsHandlingUserInput)
 {
 }
 
-GetUserMediaRequest::GetUserMediaRequest(nsPIDOMWindowInner* aInnerWindow,
-                                         const nsAString& aRawId,
-                                         const nsAString& aMediaSource)
-  : mInnerWindowID{}
-  , mOuterWindowID{}
-  , mRawID(aRawId)
+GetUserMediaRequest::GetUserMediaRequest(
+    nsPIDOMWindowInner* aInnerWindow,
+    const nsAString& aRawId,
+    const nsAString& aMediaSource)
+  : mRawID(aRawId)
   , mMediaSource(aMediaSource)
-  , mIsSecure{ false }
-  , mIsHandlingUserInput{ false }
 {
   if (aInnerWindow && aInnerWindow->GetOuterWindow()) {
     mOuterWindowID = aInnerWindow->GetOuterWindow()->WindowID();
   }
 }
 
 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE_0(GetUserMediaRequest)
 NS_IMPL_CYCLE_COLLECTING_ADDREF(GetUserMediaRequest)
--- a/dom/media/MediaCache.cpp
+++ b/dom/media/MediaCache.cpp
@@ -515,17 +515,16 @@ MediaCacheStream::MediaCacheStream(Chann
   : mMediaCache(nullptr)
   , mClient(aClient)
   , mIsTransportSeekable(false)
   , mCacheSuspended(false)
   , mChannelEnded(false)
   , mStreamOffset(0)
   , mPlaybackBytesPerSecond(10000)
   , mPinCount(0)
-  , mNotifyDataEndedStatus{ NS_ERROR_NOT_INITIALIZED }
   , mMetadataInPartialBlockBuffer(false)
   , mIsPrivateBrowsing(aIsPrivateBrowsing)
 {
 }
 
 size_t MediaCacheStream::SizeOfExcludingThis(
                                 MallocSizeOf aMallocSizeOf) const
 {
--- a/dom/media/MediaCache.h
+++ b/dom/media/MediaCache.h
@@ -404,22 +404,17 @@ private:
 #else
     void Verify() {}
 #endif
 
     size_t SizeOfExcludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
 
   private:
     struct Entry : public nsUint32HashKey {
-      explicit Entry(KeyTypePointer aKey)
-        : nsUint32HashKey(aKey)
-        , mNextBlock{}
-        , mPrevBlock{}
-      {
-      }
+      explicit Entry(KeyTypePointer aKey) : nsUint32HashKey(aKey) { }
       Entry(const Entry& toCopy) : nsUint32HashKey(&toCopy.GetKey()),
         mNextBlock(toCopy.mNextBlock), mPrevBlock(toCopy.mPrevBlock) {}
 
       int32_t mNextBlock;
       int32_t mPrevBlock;
     };
     nsTHashtable<Entry> mEntries;
 
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -815,21 +815,17 @@ private:
  *   COMPLETED if the new playback position is the end of the media resource.
  *   NextFrameSeekingState if completing a NextFrameSeekingFromDormantState.
  *   DECODING otherwise.
  */
 class MediaDecoderStateMachine::SeekingState
   : public MediaDecoderStateMachine::StateObject
 {
 public:
-  explicit SeekingState(Master* aPtr)
-    : StateObject(aPtr)
-    , mVisibility{ static_cast<EventVisibility>(0) }
-  {
-  }
+  explicit SeekingState(Master* aPtr) : StateObject(aPtr) { }
 
   RefPtr<MediaDecoder::SeekPromise> Enter(SeekJob&& aSeekJob,
                                           EventVisibility aVisibility)
   {
     mSeekJob = Move(aSeekJob);
     mVisibility = aVisibility;
 
     // Suppressed visibility comes from two cases: (1) leaving dormant state,
--- a/dom/media/MediaRecorder.cpp
+++ b/dom/media/MediaRecorder.cpp
@@ -1251,35 +1251,29 @@ MediaRecorder::~MediaRecorder()
   UnRegisterActivityObserver();
 }
 
 MediaRecorder::MediaRecorder(DOMMediaStream& aSourceMediaStream,
                              nsPIDOMWindowInner* aOwnerWindow)
   : DOMEventTargetHelper(aOwnerWindow)
   , mAudioNodeOutput(0)
   , mState(RecordingState::Inactive)
-  , mAudioBitsPerSecond{}
-  , mVideoBitsPerSecond{}
-  , mBitsPerSecond{}
 {
   MOZ_ASSERT(aOwnerWindow);
   mDOMStream = &aSourceMediaStream;
 
   RegisterActivityObserver();
 }
 
 MediaRecorder::MediaRecorder(AudioNode& aSrcAudioNode,
                              uint32_t aSrcOutput,
                              nsPIDOMWindowInner* aOwnerWindow)
   : DOMEventTargetHelper(aOwnerWindow)
   , mAudioNodeOutput(aSrcOutput)
   , mState(RecordingState::Inactive)
-  , mAudioBitsPerSecond{}
-  , mVideoBitsPerSecond{}
-  , mBitsPerSecond{}
 {
   MOZ_ASSERT(aOwnerWindow);
 
   mAudioNode = &aSrcAudioNode;
 
   RegisterActivityObserver();
 }
 
--- a/dom/media/MediaStreamGraph.cpp
+++ b/dom/media/MediaStreamGraph.cpp
@@ -3576,17 +3576,16 @@ ProcessedMediaStream::DestroyImpl()
   // MediaStreamGraphImpl::RemoveStreamGraphThread() will also call
   // SetStreamOrderDirty(), for other reasons.
 }
 
 MediaStreamGraphImpl::MediaStreamGraphImpl(GraphDriverType aDriverRequested,
                                            TrackRate aSampleRate,
                                            AbstractThread* aMainThread)
   : MediaStreamGraph(aSampleRate)
-  , mFirstCycleBreaker{}
   , mPortCount(0)
   , mInputWanted(false)
   , mInputDeviceID(-1)
   , mOutputWanted(true)
   , mOutputDeviceID(-1)
   , mNeedAnotherIteration(false)
   , mGraphDriverAsleep(false)
   , mMonitor("MediaStreamGraphImpl")
--- a/dom/media/StreamTracks.h
+++ b/dom/media/StreamTracks.h
@@ -244,23 +244,18 @@ public:
   Track* FindTrack(TrackID aID) const;
 
   class MOZ_STACK_CLASS TrackIter final
   {
   public:
     /**
      * Iterate through the tracks of aBuffer in order of ID.
      */
-    explicit TrackIter(const StreamTracks& aBuffer)
-      : mBuffer(&aBuffer.mTracks)
-      , mIndex(0)
-      , mType{ static_cast<MediaSegment::Type>(0) }
-      , mMatchType(false)
-    {
-    }
+    explicit TrackIter(const StreamTracks& aBuffer) :
+      mBuffer(&aBuffer.mTracks), mIndex(0), mMatchType(false) {}
     /**
      * Iterate through the tracks of aBuffer with type aType, in order of ID.
      */
     TrackIter(const StreamTracks& aBuffer, MediaSegment::Type aType) :
       mBuffer(&aBuffer.mTracks), mIndex(0), mType(aType), mMatchType(true) { FindMatch(); }
     bool IsEnded() const { return mIndex >= mBuffer->Length(); }
     void Next()
     {
--- a/dom/media/VideoUtils.h
+++ b/dom/media/VideoUtils.h
@@ -481,19 +481,16 @@ public:
     DereferencedType operator*()
     {
       return Substring(mStart, mEnd);
     }
   private:
     friend class StringListRange;
     Iterator(const CharType* aRangeStart, uint32_t aLength)
       : mRangeEnd(aRangeStart + aLength)
-      , mStart{ nullptr }
-      , mEnd{ nullptr }
-      , mComma{ nullptr }
     {
       SearchItemAt(aRangeStart);
     }
     void SearchItemAt(Pointer start)
     {
       // First, skip leading whitespace.
       for (Pointer p = start; ; ++p) {
         if (p >= mRangeEnd) {
--- a/dom/media/eme/MediaKeyMessageEvent.cpp
+++ b/dom/media/eme/MediaKeyMessageEvent.cpp
@@ -35,17 +35,16 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_IN
   mozilla::DropJSObjects(this);
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(MediaKeyMessageEvent)
 NS_INTERFACE_MAP_END_INHERITING(Event)
 
 MediaKeyMessageEvent::MediaKeyMessageEvent(EventTarget* aOwner)
   : Event(aOwner, nullptr, nullptr)
-  , mMessageType{ static_cast<MediaKeyMessageType>(0) }
 {
   mozilla::HoldJSObjects(this);
 }
 
 MediaKeyMessageEvent::~MediaKeyMessageEvent()
 {
   mMessage = nullptr;
   mozilla::DropJSObjects(this);
--- a/dom/media/encoder/TrackEncoder.h
+++ b/dom/media/encoder/TrackEncoder.h
@@ -218,19 +218,17 @@ protected:
 class AudioTrackEncoder : public TrackEncoder
 {
 public:
   explicit AudioTrackEncoder(TrackRate aTrackRate)
     : TrackEncoder(aTrackRate)
     , mChannels(0)
     , mSamplingRate(0)
     , mAudioBitrate(0)
-    , mDirectConnected{ false }
-  {
-  }
+  {}
 
   /**
    * Suspends encoding from mCurrentTime, i.e., all audio data until the next
    * Resume() will be dropped.
    */
   void Suspend(TimeStamp aTime) override;
 
   /**
--- a/dom/media/gmp/GMPContentParent.cpp
+++ b/dom/media/gmp/GMPContentParent.cpp
@@ -29,17 +29,16 @@ extern LogModule* GetGMPLog();
 #undef __CLASS__
 #endif
 #define __CLASS__ "GMPContentParent"
 
 namespace gmp {
 
 GMPContentParent::GMPContentParent(GMPParent* aParent)
   : mParent(aParent)
-  , mPluginId{}
 {
   if (mParent) {
     SetDisplayName(mParent->GetDisplayName());
     SetPluginId(mParent->GetPluginId());
   }
 }
 
 GMPContentParent::~GMPContentParent()
--- a/dom/media/gmp/GMPTimerParent.h
+++ b/dom/media/gmp/GMPTimerParent.h
@@ -30,19 +30,17 @@ protected:
   void ActorDestroy(ActorDestroyReason aWhy) override;
 
 private:
   ~GMPTimerParent() {}
 
   static void GMPTimerExpired(nsITimer *aTimer, void *aClosure);
 
   struct Context {
-    Context()
-      : mId{}
-    {
+    Context() {
       MOZ_COUNT_CTOR(Context);
     }
     ~Context() {
       MOZ_COUNT_DTOR(Context);
     }
     nsCOMPtr<nsITimer> mTimer;
     RefPtr<GMPTimerParent> mParent; // Note: live timers keep the GMPTimerParent alive.
     uint32_t mId;
--- a/dom/media/ipc/RemoteVideoDecoder.cpp
+++ b/dom/media/ipc/RemoteVideoDecoder.cpp
@@ -19,18 +19,16 @@ namespace dom {
 using base::Thread;
 using namespace ipc;
 using namespace layers;
 using namespace gfx;
 
 RemoteVideoDecoder::RemoteVideoDecoder()
   : mActor(new VideoDecoderChild())
   , mDescription("RemoteVideoDecoder")
-  , mIsHardwareAccelerated{ false }
-  , mConversion{ MediaDataDecoder::ConversionRequired::kNeedNone }
 {
 }
 
 RemoteVideoDecoder::~RemoteVideoDecoder()
 {
   // We're about to be destroyed and drop our ref to
   // VideoDecoderChild. Make sure we put a ref into the
   // task queue for the VideoDecoderChild thread to keep
--- a/dom/media/mp4/Box.cpp
+++ b/dom/media/mp4/Box.cpp
@@ -118,18 +118,16 @@ Box::Box(BoxContext* aContext, uint64_t 
     return;
   }
 
   mRange = boxRange;
 }
 
 Box::Box()
   : mContext(nullptr)
-  , mBodyOffset{}
-  , mChildOffset{}
   , mParent(nullptr)
 {}
 
 Box
 Box::Next() const
 {
   MOZ_ASSERT(IsAvailable());
   return Box(mContext, mRange.mEnd, mParent);
--- a/dom/media/mp4/MP4Demuxer.cpp
+++ b/dom/media/mp4/MP4Demuxer.cpp
@@ -123,17 +123,16 @@ AccumulateSPSTelemetry(const MediaByteBu
   }
 
   return true;
 }
 
 MP4Demuxer::MP4Demuxer(MediaResource* aResource)
   : mResource(aResource)
   , mStream(new ResourceStream(aResource))
-  , mIsSeekable{ false }
 {
   DDLINKCHILD("resource", aResource);
   DDLINKCHILD("stream", mStream.get());
 }
 
 RefPtr<MP4Demuxer::InitPromise>
 MP4Demuxer::Init()
 {
--- a/dom/media/mp4/MP4Metadata.cpp
+++ b/dom/media/mp4/MP4Metadata.cpp
@@ -22,17 +22,16 @@
 
 using mozilla::media::TimeUnit;
 
 namespace mozilla {
 LazyLogModule gMP4MetadataLog("MP4Metadata");
 
 IndiceWrapper::IndiceWrapper(Mp4parseByteData& aIndice)
 {
-  this->mIndice.data = { nullptr };
   mIndice.length = aIndice.length;
   mIndice.indices = aIndice.indices;
 }
 
 size_t
 IndiceWrapper::Length() const
 {
   return mIndice.length;
--- a/dom/media/mp4/MoofParser.cpp
+++ b/dom/media/mp4/MoofParser.cpp
@@ -682,17 +682,16 @@ Moof::ParseTrun(Box& aBox, Tfhd& aTfhd, 
   mMaxRoundingError += roundTime;
 
   *aDecodeTime = decodeTime;
 
   return Ok();
 }
 
 Tkhd::Tkhd(Box& aBox)
-  : mTrackId{}
 {
   mValid = Parse(aBox).isOk();
   if (!mValid) {
     LOG(Tkhd, "Parse failed");
   }
 }
 
 Result<Ok, nsresult>
@@ -723,20 +722,16 @@ Tkhd::Parse(Box& aBox)
     MOZ_TRY_VAR(reserved, reader->ReadU32());
     NS_ASSERTION(!reserved, "reserved should be 0");
     MOZ_TRY_VAR(mDuration, reader->ReadU64());
   }
   return Ok();
 }
 
 Mvhd::Mvhd(Box& aBox)
-  : mCreationTime{}
-  , mModificationTime{}
-  , mTimescale{}
-  , mDuration{}
 {
   mValid = Parse(aBox).isOk();
   if (!mValid) {
     LOG(Mvhd, "Parse failed");
   }
 }
 
 Result<Ok, nsresult>
@@ -769,22 +764,16 @@ Mvhd::Parse(Box& aBox)
 }
 
 Mdhd::Mdhd(Box& aBox)
   : Mvhd(aBox)
 {
 }
 
 Trex::Trex(Box& aBox)
-  : mFlags{}
-  , mTrackId{}
-  , mDefaultSampleDescriptionIndex{}
-  , mDefaultSampleDuration{}
-  , mDefaultSampleSize{}
-  , mDefaultSampleFlags{}
 {
   mValid = Parse(aBox).isOk();
   if (!mValid) {
     LOG(Trex, "Parse failed");
   }
 }
 
 Result<Ok, nsresult>
@@ -799,17 +788,16 @@ Trex::Parse(Box& aBox)
   MOZ_TRY_VAR(mDefaultSampleSize, reader->ReadU32());
   MOZ_TRY_VAR(mDefaultSampleFlags, reader->ReadU32());
 
   return Ok();
 }
 
 Tfhd::Tfhd(Box& aBox, Trex& aTrex)
   : Trex(aTrex)
-  , mBaseDataOffset{}
 {
   mValid = Parse(aBox).isOk();
   if (!mValid) {
     LOG(Tfhd, "Parse failed");
   }
 }
 
 Result<Ok, nsresult>
@@ -839,17 +827,16 @@ Tfhd::Parse(Box& aBox)
   if (mFlags & 0x20) {
     MOZ_TRY_VAR(mDefaultSampleFlags, reader->ReadU32());
   }
 
   return Ok();
 }
 
 Tfdt::Tfdt(Box& aBox)
-  : mBaseMediaDecodeTime{}
 {
   mValid = Parse(aBox).isOk();
   if (!mValid) {
     LOG(Tfdt, "Parse failed");
   }
 }
 
 Result<Ok, nsresult>
@@ -1008,17 +995,16 @@ Saio::Parse(Box& aBox)
       MOZ_TRY_VAR(offset, reader->ReadU64());
       MOZ_ALWAYS_TRUE(mOffsets.AppendElement(offset, fallible));
     }
   }
   return Ok();
 }
 
 Sbgp::Sbgp(Box& aBox)
-  : mGroupingTypeParam{}
 {
   mValid = Parse(aBox).isOk();
   if (!mValid) {
     LOG(Sbgp, "Parse failed");
   }
 }
 
 Result<Ok, nsresult>
--- a/dom/media/ogg/OggWriter.cpp
+++ b/dom/media/ogg/OggWriter.cpp
@@ -6,38 +6,18 @@
 #include "prtime.h"
 #include "GeckoProfiler.h"
 
 #undef LOG
 #define LOG(args, ...)
 
 namespace mozilla {
 
-OggWriter::OggWriter()
-  : ContainerWriter()
-  , mOggPage{}
-  , mPacket{}
+OggWriter::OggWriter() : ContainerWriter()
 {
-  this->mOggStreamState.body_data = { nullptr };
-  this->mOggStreamState.body_storage = {};
-  this->mOggStreamState.body_fill = {};
-  this->mOggStreamState.body_returned = {};
-  this->mOggStreamState.lacing_vals = { nullptr };
-  this->mOggStreamState.granule_vals = { nullptr };
-  this->mOggStreamState.lacing_storage = {};
-  this->mOggStreamState.lacing_fill = {};
-  this->mOggStreamState.lacing_packet = {};
-  this->mOggStreamState.lacing_returned = {};
-  this->mOggStreamState.header_fill = {};
-  this->mOggStreamState.e_o_s = {};
-  this->mOggStreamState.b_o_s = {};
-  this->mOggStreamState.serialno = {};
-  this->mOggStreamState.pageno = {};
-  this->mOggStreamState.packetno = {};
-  this->mOggStreamState.granulepos = {};
   if (NS_FAILED(Init())) {
     LOG("ERROR! Fail to initialize the OggWriter.");
   }
 }
 
 OggWriter::~OggWriter()
 {
   if (mInitialized) {
--- a/dom/media/ogg/OpusParser.cpp
+++ b/dom/media/ogg/OpusParser.cpp
@@ -15,35 +15,30 @@ extern "C" {
 #include "opus/opus_multistream.h"
 }
 
 namespace mozilla {
 
 extern LazyLogModule gMediaDecoderLog;
 #define OPUS_LOG(type, msg) MOZ_LOG(gMediaDecoderLog, type, msg)
 
-OpusParser::OpusParser()
-  : mRate(0)
-  , mNominalRate(0)
-  , mChannels(0)
-  , mPreSkip(0)
-  ,
+OpusParser::OpusParser():
+  mRate(0),
+  mNominalRate(0),
+  mChannels(0),
+  mPreSkip(0),
 #ifdef MOZ_SAMPLE_TYPE_FLOAT32
-  mGain(1.0f)
-  ,
+  mGain(1.0f),
 #else
-  mGain_Q16(65536)
-  ,
+  mGain_Q16(65536),
 #endif
-  mChannelMapping(0)
-  , mStreams(0)
-  , mCoupledStreams(0)
-  , mPrevPacketGranulepos{}
-{
-}
+  mChannelMapping(0),
+  mStreams(0),
+  mCoupledStreams(0)
+{ }
 
 bool OpusParser::DecodeHeader(unsigned char* aData, size_t aLength)
 {
     if (aLength < 19 || memcmp(aData, "OpusHead", 8)) {
       OPUS_LOG(LogLevel::Debug, ("Invalid Opus file: unrecognized header"));
       return false;
     }
 
--- a/dom/media/platforms/agnostic/TheoraDecoder.cpp
+++ b/dom/media/platforms/agnostic/TheoraDecoder.cpp
@@ -42,18 +42,16 @@ ogg_packet InitTheoraPacket(const unsign
   packet.packetno = aPacketNo;
   return packet;
 }
 
 TheoraDecoder::TheoraDecoder(const CreateDecoderParams& aParams)
   : mImageAllocator(aParams.mKnowsCompositor)
   , mImageContainer(aParams.mImageContainer)
   , mTaskQueue(aParams.mTaskQueue)
-  , mTheoraInfo{}
-  , mTheoraComment{}
   , mTheoraSetupInfo(nullptr)
   , mTheoraDecoderContext(nullptr)
   , mPacketCount(0)
   , mInfo(aParams.VideoConfig())
 {
   MOZ_COUNT_CTOR(TheoraDecoder);
 }
 
--- a/dom/media/platforms/apple/AppleATDecoder.cpp
+++ b/dom/media/platforms/apple/AppleATDecoder.cpp
@@ -17,22 +17,22 @@
 
 #define LOG(...) DDMOZ_LOG(sPDMLog, mozilla::LogLevel::Debug, __VA_ARGS__)
 #define LOGEX(_this, ...)                                                      \
   DDMOZ_LOGEX(_this, sPDMLog, mozilla::LogLevel::Debug, __VA_ARGS__)
 #define FourCC2Str(n) ((char[5]){(char)(n >> 24), (char)(n >> 16), (char)(n >> 8), (char)(n), 0})
 
 namespace mozilla {
 
-AppleATDecoder::AppleATDecoder(const AudioInfo& aConfig, TaskQueue* aTaskQueue)
+AppleATDecoder::AppleATDecoder(const AudioInfo& aConfig,
+                               TaskQueue* aTaskQueue)
   : mConfig(aConfig)
   , mFileStreamError(false)
   , mTaskQueue(aTaskQueue)
   , mConverter(nullptr)
-  , mOutputFormat{}
   , mStream(nullptr)
   , mParsedFramesForAACMagicCookie(0)
   , mErrored(false)
 {
   MOZ_COUNT_CTOR(AppleATDecoder);
   LOG("Creating Apple AudioToolbox decoder");
   LOG("Audio Decoder configuration: %s %d Hz %d channels %d bits per channel",
       mConfig.mMimeType.get(),
--- a/dom/media/systemservices/CamerasChild.cpp
+++ b/dom/media/systemservices/CamerasChild.cpp
@@ -703,25 +703,21 @@ CamerasChild::ActorDestroy(ActorDestroyR
   MonitorAutoLock monitor(mReplyMonitor);
   mIPCIsAlive = false;
   // Hopefully prevent us from getting stuck
   // on replies that'll never come.
   monitor.NotifyAll();
 }
 
 CamerasChild::CamerasChild()
-  : mCallbackMutex("mozilla::cameras::CamerasChild::mCallbackMutex")
-  , mIPCIsAlive(true)
-  , mRequestMutex("mozilla::cameras::CamerasChild::mRequestMutex")
-  , mReplyMonitor("mozilla::cameras::CamerasChild::mReplyMonitor")
-  , mReceivedReply{ false }
-  , mReplySuccess{ false }
-  , mZero(0)
-  , mReplyInteger{}
-  , mReplyScary{ false }
+  : mCallbackMutex("mozilla::cameras::CamerasChild::mCallbackMutex"),
+    mIPCIsAlive(true),
+    mRequestMutex("mozilla::cameras::CamerasChild::mRequestMutex"),
+    mReplyMonitor("mozilla::cameras::CamerasChild::mReplyMonitor"),
+    mZero(0)
 {
   LOG(("CamerasChild: %p", this));
 
   MOZ_COUNT_CTOR(CamerasChild);
 }
 
 CamerasChild::~CamerasChild()
 {
--- a/dom/media/systemservices/CamerasParent.cpp
+++ b/dom/media/systemservices/CamerasParent.cpp
@@ -128,17 +128,16 @@ public:
                        uint32_t aStreamId,
                        const webrtc::VideoFrame& aFrame,
                        const VideoFrameProperties& aProperties)
     : Runnable("camera::DeliverFrameRunnable")
     , mParent(aParent)
     , mCapEngine(aEngine)
     , mStreamId(aStreamId)
     , mProperties(aProperties)
-    , mResult{}
   {
     // No ShmemBuffer (of the right size) was available, so make an
     // extra buffer here.  We have no idea when we are going to run and
     // it will be potentially long after the webrtc frame callback has
     // returned, so the copy needs to be no later than here.
     // We will need to copy this back into a Shmem later on so we prefer
     // using ShmemBuffers to avoid the extra copy.
     mAlternateBuffer.reset(new unsigned char[aProperties.bufferSize()]);
@@ -151,18 +150,17 @@ public:
                        uint32_t aStreamId,
                        ShmemBuffer aBuffer,
                        VideoFrameProperties& aProperties)
     : Runnable("camera::DeliverFrameRunnable")
     , mParent(aParent)
     , mCapEngine(aEngine)
     , mStreamId(aStreamId)
     , mBuffer(Move(aBuffer))
-    , mProperties(aProperties)
-    , mResult{} {};
+    , mProperties(aProperties){};
 
   NS_IMETHOD Run() override {
     if (mParent->IsShuttingDown()) {
       // Communication channel is being torn down
       mResult = 0;
       return NS_OK;
     }
     if (!mParent->DeliverFrameOverIPC(mCapEngine, mStreamId, Move(mBuffer),
--- a/dom/media/systemservices/MediaSystemResourceManagerChild.cpp
+++ b/dom/media/systemservices/MediaSystemResourceManagerChild.cpp
@@ -7,17 +7,16 @@
 
 #include "MediaSystemResourceManagerChild.h"
 
 namespace mozilla {
 namespace media {
 
 MediaSystemResourceManagerChild::MediaSystemResourceManagerChild()
   : mDestroyed(false)
-  , mManager{ nullptr }
 {
 }
 
 MediaSystemResourceManagerChild::~MediaSystemResourceManagerChild()
 {
 }
 
 mozilla::ipc::IPCResult
--- a/dom/media/systemservices/VideoEngine.cpp
+++ b/dom/media/systemservices/VideoEngine.cpp
@@ -224,19 +224,18 @@ bool VideoEngine::WithEntry(const int32_
 
 int32_t
 VideoEngine::GenerateId() {
   // XXX Something better than this (a map perhaps, or a simple boolean TArray, given
   // the number in-use is O(1) normally!)
   return mId = sId++;
 }
 
-VideoEngine::VideoEngine(UniquePtr<const webrtc::Config>&& aConfig)
-  : mId{}
-  , mCaptureDevInfo(aConfig->Get<webrtc::CaptureDeviceInfo>())
-  , mDeviceInfo(nullptr)
-  , mConfig(std::move(aConfig))
+VideoEngine::VideoEngine(UniquePtr<const webrtc::Config>&& aConfig):
+  mCaptureDevInfo(aConfig->Get<webrtc::CaptureDeviceInfo>()),
+  mDeviceInfo(nullptr),
+  mConfig(std::move(aConfig))
 {
   LOG((__PRETTY_FUNCTION__));
 }
 
 }
 }
--- a/dom/media/systemservices/VideoEngine.h
+++ b/dom/media/systemservices/VideoEngine.h
@@ -27,18 +27,17 @@ class VideoEngine
 private:
   virtual ~VideoEngine (){};
   // Base cache expiration period
   // Note because cameras use HW plug event detection, this
   // only applies to screen based modes.
   static const int64_t kCacheExpiryPeriodMs = 2000;
 
 public:
-  VideoEngine()
-    : mId{} {};
+  VideoEngine (){};
   NS_INLINE_DECL_REFCOUNTING(VideoEngine)
 
   static already_AddRefed<VideoEngine> Create(UniquePtr<const webrtc::Config>&& aConfig);
 #if defined(ANDROID)
   static int SetAndroidObjects(JavaVM* javaVM);
 #endif
   void CreateVideoCapture(int32_t& id, const char* deviceUniqueIdUTF8);
 
--- a/dom/media/wave/WaveDemuxer.cpp
+++ b/dom/media/wave/WaveDemuxer.cpp
@@ -72,22 +72,20 @@ WAVDemuxer::IsSeekable() const
 // WAVTrackDemuxer
 
 WAVTrackDemuxer::WAVTrackDemuxer(MediaResource* aSource)
   : mSource(aSource)
   , mOffset(0)
   , mFirstChunkOffset(0)
   , mNumParsedChunks(0)
   , mChunkIndex(0)
-  , mDataLength{}
   , mTotalChunkLen(0)
   , mSamplesPerChunk(0)
   , mSamplesPerSecond(0)
   , mChannels(0)
-  , mSampleFormat{}
 {
   DDLINKCHILD("source", aSource);
   Reset();
 }
 
 bool
 WAVTrackDemuxer::Init()
 {
--- a/dom/media/webaudio/AudioBufferSourceNode.cpp
+++ b/dom/media/webaudio/AudioBufferSourceNode.cpp
@@ -37,38 +37,31 @@ NS_IMPL_RELEASE_INHERITED(AudioBufferSou
  * Nothing is played until a non-null buffer has been set (via
  * AudioNodeStream::SetBuffer) and a non-zero mBufferEnd has been set (via
  * AudioNodeStream::SetInt32Parameter).
  */
 class AudioBufferSourceNodeEngine final : public AudioNodeEngine
 {
 public:
   AudioBufferSourceNodeEngine(AudioNode* aNode,
-                              AudioDestinationNode* aDestination)
-    : AudioNodeEngine(aNode)
-    , mStart(0.0)
-    , mBeginProcessing(0)
-    , mStop(STREAM_TIME_MAX)
-    , mResampler(nullptr)
-    , mRemainingResamplerTail(0)
-    , mBufferEnd(0)
-    , mLoopStart(0)
-    , mLoopEnd(0)
-    , mBufferPosition(0)
-    , mBufferSampleRate(0)
-    ,
+                              AudioDestinationNode* aDestination) :
+    AudioNodeEngine(aNode),
+    mStart(0.0), mBeginProcessing(0),
+    mStop(STREAM_TIME_MAX),
+    mResampler(nullptr), mRemainingResamplerTail(0),
+    mBufferEnd(0),
+    mLoopStart(0), mLoopEnd(0),
+    mBufferPosition(0), mBufferSampleRate(0),
     // mResamplerOutRate is initialized in UpdateResampler().
-    mResamplerOutRate{}
-    , mChannels(0)
-    , mDopplerShift(1.0f)
-    , mDestination(aDestination->Stream())
-    , mSource{ nullptr }
-    , mPlaybackRateTimeline(1.0f)
-    , mDetuneTimeline(0.0f)
-    , mLoop(false)
+    mChannels(0),
+    mDopplerShift(1.0f),
+    mDestination(aDestination->Stream()),
+    mPlaybackRateTimeline(1.0f),
+    mDetuneTimeline(0.0f),
+    mLoop(false)
   {}
 
   ~AudioBufferSourceNodeEngine()
   {
     if (mResampler) {
       speex_resampler_destroy(mResampler);
     }
   }
@@ -626,18 +619,16 @@ public:
 AudioBufferSourceNode::AudioBufferSourceNode(AudioContext* aContext)
   : AudioScheduledSourceNode(aContext,
                              2,
                              ChannelCountMode::Max,
                              ChannelInterpretation::Speakers)
   , mLoopStart(0.0)
   , mLoopEnd(0.0)
   // mOffset and mDuration are initialized in Start().
-  , mOffset{ 0.0 }
-  , mDuration{ 0.0 }
   , mPlaybackRate(new AudioParam(this, PLAYBACKRATE, "playbackRate", 1.0f))
   , mDetune(new AudioParam(this, DETUNE, "detune", 0.0f))
   , mLoop(false)
   , mStartCalled(false)
 {
   AudioBufferSourceNodeEngine* engine = new AudioBufferSourceNodeEngine(this, aContext->Destination());
   mStream = AudioNodeStream::Create(aContext, engine,
                                     AudioNodeStream::NEED_MAIN_THREAD_FINISHED,
--- a/dom/media/webaudio/AudioEventTimeline.cpp
+++ b/dom/media/webaudio/AudioEventTimeline.cpp
@@ -73,17 +73,16 @@ AudioTimelineEvent::AudioTimelineEvent(T
     SetCurveParams(aCurve, aCurveLength);
   } else {
     mValue = aValue;
   }
 }
 
 AudioTimelineEvent::AudioTimelineEvent(MediaStream* aStream)
   : mType(Stream)
-  , mValue{ 0.0 }
   , mCurve(nullptr)
   , mStream(aStream)
   , mTimeConstant(0.0)
   , mDuration(0.0)
 #ifdef DEBUG
   , mTimeIsInTicks(false)
 #endif
   , mTime(0.0)
--- a/dom/media/webaudio/AudioProcessingEvent.cpp
+++ b/dom/media/webaudio/AudioProcessingEvent.cpp
@@ -22,17 +22,16 @@ NS_IMPL_ADDREF_INHERITED(AudioProcessing
 NS_IMPL_RELEASE_INHERITED(AudioProcessingEvent, Event)
 
 AudioProcessingEvent::AudioProcessingEvent(ScriptProcessorNode* aOwner,
                                            nsPresContext* aPresContext,
                                            WidgetEvent* aEvent)
   : Event(aOwner, aPresContext, aEvent)
   , mPlaybackTime(0.0)
   , mNode(aOwner)
-  , mNumberOfInputChannels{}
 {
 }
 
 AudioProcessingEvent::~AudioProcessingEvent()
 {
 }
 
 JSObject*
--- a/dom/media/webaudio/DelayBuffer.h
+++ b/dom/media/webaudio/DelayBuffer.h
@@ -20,19 +20,16 @@ class DelayBuffer final
 
 public:
   explicit DelayBuffer(double aMaxDelayTicks)
     : mCurrentDelay(-1.0)
     // Round the maximum delay up to the next tick.
     , mMaxDelayTicks(ceil(aMaxDelayTicks))
     , mCurrentChunk(0)
     // mLastReadChunk is initialized in EnsureBuffer
-    , mLastReadChunk
-  {
-  }
 #ifdef DEBUG
     , mHaveWrittenBlock(false)
 #endif
   {
     // The 180 second limit in AudioContext::CreateDelay() and the
     // 1 << MEDIA_TIME_FRAC_BITS limit on sample rate provide a limit on the
     // maximum delay.
     MOZ_ASSERT(aMaxDelayTicks <=
--- a/dom/media/webaudio/blink/HRTFPanner.cpp
+++ b/dom/media/webaudio/blink/HRTFPanner.cpp
@@ -37,33 +37,30 @@ namespace WebCore {
 
 // The value of 2 milliseconds is larger than the largest delay which exists in any HRTFKernel from the default HRTFDatabase (0.0136 seconds).
 // We ASSERT the delay values used in process() with this value.
 const double MaxDelayTimeSeconds = 0.002;
 
 const int UninitializedAzimuth = -1;
 const unsigned RenderingQuantum = WEBAUDIO_BLOCK_SIZE;
 
-HRTFPanner::HRTFPanner(float sampleRate,
-                       already_AddRefed<HRTFDatabaseLoader> databaseLoader)
-  : m_databaseLoader(databaseLoader)
-  , m_sampleRate(sampleRate)
-  , m_crossfadeSelection(CrossfadeSelection1)
-  , m_azimuthIndex1(UninitializedAzimuth)
-  , m_elevation1{ 0.0 }
-  , m_azimuthIndex2(UninitializedAzimuth)
-  // m_elevation1 and m_elevation2 are initialized in pan()
-  , m_elevation2{ 0.0 }
-  , m_crossfadeX(0)
-  , m_crossfadeIncr(0)
-  , m_convolverL1(HRTFElevation::fftSizeForSampleRate(sampleRate))
-  , m_convolverR1(m_convolverL1.fftSize())
-  , m_convolverL2(m_convolverL1.fftSize())
-  , m_convolverR2(m_convolverL1.fftSize())
-  , m_delayLine(MaxDelayTimeSeconds * sampleRate)
+HRTFPanner::HRTFPanner(float sampleRate, already_AddRefed<HRTFDatabaseLoader> databaseLoader)
+    : m_databaseLoader(databaseLoader)
+    , m_sampleRate(sampleRate)
+    , m_crossfadeSelection(CrossfadeSelection1)
+    , m_azimuthIndex1(UninitializedAzimuth)
+    , m_azimuthIndex2(UninitializedAzimuth)
+    // m_elevation1 and m_elevation2 are initialized in pan()
+    , m_crossfadeX(0)
+    , m_crossfadeIncr(0)
+    , m_convolverL1(HRTFElevation::fftSizeForSampleRate(sampleRate))
+    , m_convolverR1(m_convolverL1.fftSize())
+    , m_convolverL2(m_convolverL1.fftSize())
+    , m_convolverR2(m_convolverL1.fftSize())
+    , m_delayLine(MaxDelayTimeSeconds * sampleRate)
 {
     MOZ_ASSERT(m_databaseLoader);
     MOZ_COUNT_CTOR(HRTFPanner);
 }
 
 HRTFPanner::~HRTFPanner()
 {
     MOZ_COUNT_DTOR(HRTFPanner);
--- a/dom/media/webaudio/blink/PeriodicWave.cpp
+++ b/dom/media/webaudio/blink/PeriodicWave.cpp
@@ -103,25 +103,22 @@ already_AddRefed<PeriodicWave>
 PeriodicWave::createTriangle(float sampleRate)
 {
     RefPtr<PeriodicWave> periodicWave =
         new PeriodicWave(sampleRate, MinPeriodicWaveSize, false);
     periodicWave->generateBasicWaveform(OscillatorType::Triangle);
     return periodicWave.forget();
 }
 
-PeriodicWave::PeriodicWave(float sampleRate,
-                           size_t numberOfComponents,
-                           bool disableNormalization)
-  : m_sampleRate(sampleRate)
-  , m_centsPerRange(CentsPerRange)
-  , m_numberOfComponents{}
-  , m_maxPartialsInBandLimitedTable(0)
-  , m_normalizationScale(1.0f)
-  , m_disableNormalization(disableNormalization)
+PeriodicWave::PeriodicWave(float sampleRate, size_t numberOfComponents, bool disableNormalization)
+    : m_sampleRate(sampleRate)
+    , m_centsPerRange(CentsPerRange)
+    , m_maxPartialsInBandLimitedTable(0)
+    , m_normalizationScale(1.0f)
+    , m_disableNormalization(disableNormalization)
 {
     float nyquist = 0.5 * m_sampleRate;
 
     if (numberOfComponents <= MinPeriodicWaveSize) {
         m_periodicWaveSize = MinPeriodicWaveSize;
     } else {
         unsigned npow2 = powf(2.0f, floorf(logf(numberOfComponents - 1.0)/logf(2.0f) + 1.0f));
         m_periodicWaveSize = std::min(MaxPeriodicWaveSize, npow2);
--- a/dom/media/webm/EbmlComposer.cpp
+++ b/dom/media/webm/EbmlComposer.cpp
@@ -220,15 +220,13 @@ EbmlComposer::ExtractBuffer(nsTArray<nsT
 EbmlComposer::EbmlComposer()
   : mFlushState(FLUSH_NONE)
   , mClusterHeaderIndex(0)
   , mClusterLengthLoc(0)
   , mCodecDelay(0)
   , mClusterTimecode(0)
   , mWidth(0)
   , mHeight(0)
-  , mDisplayWidth{}
-  , mDisplayHeight{}
   , mSampleFreq(0)
   , mChannels(0)
 {}
 
 } // namespace mozilla
--- a/dom/media/webm/NesteggPacketHolder.h
+++ b/dom/media/webm/NesteggPacketHolder.h
@@ -19,20 +19,17 @@ namespace mozilla {
 class NesteggPacketHolder {
 public:
   NS_INLINE_DECL_THREADSAFE_REFCOUNTING(NesteggPacketHolder)
   NesteggPacketHolder()
     : mPacket(nullptr)
     , mOffset(-1)
     , mTimestamp(-1)
     , mDuration(-1)
-    , mTrack{}
-    , mIsKeyframe(false)
-  {
-  }
+    , mIsKeyframe(false) {}
 
   bool Init(nestegg_packet* aPacket, int64_t aOffset, unsigned aTrack, bool aIsKeyframe)
   {
     uint64_t timestamp_ns;
     if (nestegg_packet_tstamp(aPacket, &timestamp_ns) == -1) {
       return false;
     }
 
--- a/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
+++ b/dom/media/webspeech/synth/cocoa/OSXSpeechSynthesizerService.mm
@@ -104,17 +104,17 @@ NS_INTERFACE_MAP_END
 NS_IMPL_CYCLE_COLLECTING_ADDREF(SpeechTaskCallback)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(SpeechTaskCallback)
 
 SpeechTaskCallback::SpeechTaskCallback(nsISpeechTask* aTask,
                                        NSSpeechSynthesizer* aSynth,
                                        const nsTArray<size_t>& aOffsets)
   : mTask(aTask)
   , mSpeechSynthesizer(aSynth)
-  , mCurrentIndex{}, mOffsets(aOffsets)
+  , mOffsets(aOffsets)
 {
   mDelegate = [[SpeechDelegate alloc] initWithCallback:this];
   [mSpeechSynthesizer setDelegate:mDelegate];
   mStartingTime = TimeStamp::Now();
 }
 
 SpeechTaskCallback::~SpeechTaskCallback()
 {
--- a/dom/media/webspeech/synth/ipc/SpeechSynthesisChild.cpp
+++ b/dom/media/webspeech/synth/ipc/SpeechSynthesisChild.cpp
@@ -155,20 +155,18 @@ SpeechSynthesisRequestChild::RecvOnMark(
                                         const uint32_t& aCharIndex)
 {
   mTask->DispatchMarkImpl(aName, aElapsedTime, aCharIndex);
   return IPC_OK();
 }
 
 // SpeechTaskChild
 
-SpeechTaskChild::SpeechTaskChild(SpeechSynthesisUtterance* aUtterance,
-                                 bool aIsChrome)
+SpeechTaskChild::SpeechTaskChild(SpeechSynthesisUtterance* aUtterance, bool aIsChrome)
   : nsSpeechTask(aUtterance, aIsChrome)
-  , mActor{ nullptr }
 {
 }
 
 NS_IMETHODIMP
 SpeechTaskChild::Setup(nsISpeechTaskCallback* aCallback)
 {
   MOZ_CRASH("Should never be called from child");
 }
--- a/dom/media/webspeech/synth/ipc/SpeechSynthesisParent.h
+++ b/dom/media/webspeech/synth/ipc/SpeechSynthesisParent.h
@@ -75,20 +75,17 @@ protected:
   mozilla::ipc::IPCResult Recv__delete__() override;
 };
 
 class SpeechTaskParent : public nsSpeechTask
 {
   friend class SpeechSynthesisRequestParent;
 public:
   SpeechTaskParent(float aVolume, const nsAString& aUtterance, bool aIsChrome)
-    : nsSpeechTask(aVolume, aUtterance, aIsChrome)
-    , mActor{ nullptr }
-  {
-  }
+    : nsSpeechTask(aVolume, aUtterance, aIsChrome) {}
 
   nsresult DispatchStartImpl(const nsAString& aUri) override;
 
   nsresult DispatchEndImpl(float aElapsedTime, uint32_t aCharIndex) override;
 
   nsresult DispatchPauseImpl(float aElapsedTime, uint32_t aCharIndex) override;
 
   nsresult DispatchResumeImpl(float aElapsedTime, uint32_t aCharIndex) override;
--- a/dom/media/webspeech/synth/nsSynthVoiceRegistry.cpp
+++ b/dom/media/webspeech/synth/nsSynthVoiceRegistry.cpp
@@ -106,31 +106,24 @@ public:
 
 class GlobalQueueItem final
 {
 private:
   // Private destructor, to discourage deletion outside of Release():
   ~GlobalQueueItem() {}
 
 public:
-  GlobalQueueItem(VoiceData* aVoice,
-                  nsSpeechTask* aTask,
-                  const nsAString& aText,
-                  const float& aVolume,
-                  const float& aRate,
-                  const float& aPitch)
+  GlobalQueueItem(VoiceData* aVoice, nsSpeechTask* aTask, const nsAString& aText,
+                  const float& aVolume, const float& aRate, const float& aPitch)
     : mVoice(aVoice)
     , mTask(aTask)
     , mText(aText)
     , mVolume(aVolume)
     , mRate(aRate)
-    , mPitch(aPitch)
-    , mIsLocal{ false }
-  {
-  }
+    , mPitch(aPitch) {}
 
   NS_INLINE_DECL_REFCOUNTING(GlobalQueueItem)
 
   RefPtr<VoiceData> mVoice;
 
   RefPtr<nsSpeechTask> mTask;
 
   nsString mText;
--- a/dom/messagechannel/MessagePort.cpp
+++ b/dom/messagechannel/MessagePort.cpp
@@ -196,17 +196,16 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(
 NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper)
 
 NS_IMPL_ADDREF_INHERITED(MessagePort, DOMEventTargetHelper)
 NS_IMPL_RELEASE_INHERITED(MessagePort, DOMEventTargetHelper)
 
 MessagePort::MessagePort(nsIGlobalObject* aGlobal)
   : DOMEventTargetHelper(aGlobal)
   , mInnerID(0)
-  , mState{ static_cast<State>(0) }
   , mMessageQueueEnabled(false)
   , mIsKeptAlive(false)
   , mHasBeenTransferredOrClosed(false)
 {
   MOZ_ASSERT(aGlobal);
 
   mIdentifier = new MessagePortIdentifier();
   mIdentifier->neutered() = true;
--- a/dom/payments/PaymentActionResponse.cpp
+++ b/dom/payments/PaymentActionResponse.cpp
@@ -148,17 +148,16 @@ PaymentActionResponse::GetType(uint32_t*
 
 /* PaymentCanMakeActionResponse */
 
 NS_IMPL_ISUPPORTS_INHERITED(PaymentCanMakeActionResponse,
                             PaymentActionResponse,
                             nsIPaymentCanMakeActionResponse)
 
 PaymentCanMakeActionResponse::PaymentCanMakeActionResponse()
-  : mResult{ false }
 {
   mType = nsIPaymentActionResponse::CANMAKE_ACTION;
 }
 
 NS_IMETHODIMP
 PaymentCanMakeActionResponse::GetResult(bool* aResult)
 {
   NS_ENSURE_ARG_POINTER(aResult);
@@ -176,17 +175,16 @@ PaymentCanMakeActionResponse::Init(const
 
 /* PaymentShowActionResponse */
 
 NS_IMPL_ISUPPORTS_INHERITED(PaymentShowActionResponse,
                             PaymentActionResponse,
                             nsIPaymentShowActionResponse)
 
 PaymentShowActionResponse::PaymentShowActionResponse()
-  : mAcceptStatus{}
 {
   mType = nsIPaymentActionResponse::SHOW_ACTION;
 }
 
 NS_IMETHODIMP
 PaymentShowActionResponse::GetAcceptStatus(uint32_t* aAcceptStatus)
 {
   NS_ENSURE_ARG_POINTER(aAcceptStatus);
@@ -288,17 +286,16 @@ PaymentShowActionResponse::Init(const ns
 
 /* PaymentAbortActionResponse */
 
 NS_IMPL_ISUPPORTS_INHERITED(PaymentAbortActionResponse,
                             PaymentActionResponse,
                             nsIPaymentAbortActionResponse)
 
 PaymentAbortActionResponse::PaymentAbortActionResponse()
-  : mAbortStatus{}
 {
   mType = nsIPaymentActionResponse::ABORT_ACTION;
 }
 
 NS_IMETHODIMP
 PaymentAbortActionResponse::GetAbortStatus(uint32_t* aAbortStatus)
 {
   NS_ENSURE_ARG_POINTER(aAbortStatus);
@@ -325,17 +322,16 @@ PaymentAbortActionResponse::IsSucceeded(
 
 /* PaymentCompleteActionResponse */
 
 NS_IMPL_ISUPPORTS_INHERITED(PaymentCompleteActionResponse,
                             PaymentActionResponse,
                             nsIPaymentCompleteActionResponse)
 
 PaymentCompleteActionResponse::PaymentCompleteActionResponse()
-  : mCompleteStatus{}
 {
   mType = nsIPaymentActionResponse::COMPLETE_ACTION;
 }
 
 nsresult
 PaymentCompleteActionResponse::Init(const nsAString& aRequestId,
                                     const uint32_t aCompleteStatus)
 {
--- a/dom/performance/Performance.cpp
+++ b/dom/performance/Performance.cpp
@@ -70,26 +70,24 @@ Performance::CreateForWorker(WorkerPriva
   RefPtr<Performance> performance = new PerformanceWorker(aWorkerPrivate);
   performance->mSystemPrincipal = aWorkerPrivate->UsesSystemPrincipal();
   return performance.forget();
 }
 
 Performance::Performance()
   : mResourceTimingBufferSize(kDefaultResourceTimingBufferSize)
   , mPendingNotificationObserversTask(false)
-  , mSystemPrincipal{ false }
 {
   MOZ_ASSERT(!NS_IsMainThread());
 }
 
 Performance::Performance(nsPIDOMWindowInner* aWindow)
   : DOMEventTargetHelper(aWindow)
   , mResourceTimingBufferSize(kDefaultResourceTimingBufferSize)
   , mPendingNotificationObserversTask(false)
-  , mSystemPrincipal{ false }
 {
   MOZ_ASSERT(NS_IsMainThread());
 }
 
 Performance::~Performance()
 {}
 
 DOMHighResTimeStamp
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -1653,24 +1653,19 @@ nsPluginHost::ClearSiteData(nsIPluginTag
 
 #define GetSitesClosure_CID {0x4c9268ac, 0x2fd1, 0x4f2a, {0x9a, 0x10, 0x7a, 0x09, 0xf1, 0xb7, 0x60, 0x3a}}
 
 // Closure to contain the data needed to handle the callback from NPP_GetSitesWithData
 class GetSitesClosure : public nsIGetSitesWithDataCallback {
 public:
   NS_DECL_ISUPPORTS
   GetSitesClosure(const nsACString& domain, nsPluginHost* host)
-    : domain(domain)
-    , host(host)
-    , result{ false }
-    , keepWaiting(true)
-    , retVal{ NS_ERROR_NOT_INITIALIZED }
+  : domain(domain), host(host), keepWaiting(true)
   {
   }
-
   NS_IMETHOD SitesWithData(InfallibleTArray<nsCString>& sites) override {
     retVal = HandleGetSites(sites);
     keepWaiting = false;
     return NS_OK;
   }
 
   nsresult HandleGetSites(InfallibleTArray<nsCString>& sites) {
     // If there's no data, we're done.
--- a/dom/plugins/base/nsPluginInstanceOwner.cpp
+++ b/dom/plugins/base/nsPluginInstanceOwner.cpp
@@ -252,17 +252,16 @@ nsPluginInstanceOwner::GetCurrentImageSi
   if (mInstance) {
     mInstance->GetImageSize(&size);
   }
   return size;
 }
 
 nsPluginInstanceOwner::nsPluginInstanceOwner()
   : mPluginWindow(nullptr)
-  , mLastEventloopNestingLevel{}
 {
   // create nsPluginNativeWindow object, it is derived from NPWindow
   // struct and allows to manipulate native window procedure
   nsCOMPtr<nsIPluginHost> pluginHostCOM = do_GetService(MOZ_PLUGIN_HOST_CONTRACTID);
   mPluginHost = static_cast<nsPluginHost*>(pluginHostCOM.get());
   if (mPluginHost)
     mPluginHost->NewPluginNativeWindow(&mPluginWindow);
 
--- a/dom/plugins/base/nsPluginManifestLineReader.h
+++ b/dom/plugins/base/nsPluginManifestLineReader.h
@@ -15,21 +15,17 @@
 #define PLUGIN_REGISTRY_FIELD_DELIMITER ':'
 #endif
 
 #define PLUGIN_REGISTRY_END_OF_LINE_MARKER '$'
 
 class nsPluginManifestLineReader
 {
   public:
-    nsPluginManifestLineReader()
-      : mLength{}
-    {
-      mBase = mCur = mNext = mLimit = 0;
-    }
+    nsPluginManifestLineReader() {mBase = mCur = mNext = mLimit = 0;}
     ~nsPluginManifestLineReader() { if (mBase) delete[] mBase; mBase=0;}
 
     char* Init(uint32_t flen)
     {
       mBase = mCur = mNext = new char[flen + 1];
       if (mBase) {
         mLimit = mBase + flen;
         *mLimit = 0;
--- a/dom/plugins/base/nsPluginStreamListenerPeer.cpp
+++ b/dom/plugins/base/nsPluginStreamListenerPeer.cpp
@@ -40,17 +40,16 @@ NS_IMPL_ISUPPORTS(nsPluginStreamListener
                   nsIStreamListener,
                   nsIRequestObserver,
                   nsIHttpHeaderVisitor,
                   nsISupportsWeakReference,
                   nsIInterfaceRequestor,
                   nsIChannelEventSink)
 
 nsPluginStreamListenerPeer::nsPluginStreamListenerPeer()
-  : mLength{}
 {
   mStreamType = NP_NORMAL;
   mStartBinding = false;
   mRequestFailed = false;
 
   mPendingRequests = 0;
   mHaveFiredOnStartRequest = false;
 
--- a/dom/plugins/base/nsPluginTags.cpp
+++ b/dom/plugins/base/nsPluginTags.cpp
@@ -298,35 +298,29 @@ nsPluginTag::nsPluginTag(uint32_t aId,
                          nsTArray<nsCString> aMimeDescriptions,
                          nsTArray<nsCString> aExtensions,
                          bool aIsFlashPlugin,
                          bool aSupportsAsyncRender,
                          int64_t aLastModifiedTime,
                          bool aFromExtension,
                          int32_t aSandboxLevel,
                          uint32_t aBlocklistState)
-  : nsIInternalPluginTag(aName,
-                         aDescription,
-                         aFileName,
-                         aVersion,
-                         aMimeTypes,
-                         aMimeDescriptions,
-                         aExtensions)
-  , mId(aId)
-  , mContentProcessRunningCount(0)
-  , mHadLocalInstance{ false }
-  , mLibrary(nullptr)
-  , mIsFlashPlugin(aIsFlashPlugin)
-  , mSupportsAsyncRender(aSupportsAsyncRender)
-  , mLastModifiedTime(aLastModifiedTime)
-  , mSandboxLevel(aSandboxLevel)
-  , mIsSandboxLoggingEnabled(false)
-  , mNiceFileName()
-  , mIsFromExtension(aFromExtension)
-  , mBlocklistState(aBlocklistState)
+  : nsIInternalPluginTag(aName, aDescription, aFileName, aVersion, aMimeTypes,
+                         aMimeDescriptions, aExtensions),
+    mId(aId),
+    mContentProcessRunningCount(0),
+    mLibrary(nullptr),
+    mIsFlashPlugin(aIsFlashPlugin),
+    mSupportsAsyncRender(aSupportsAsyncRender),
+    mLastModifiedTime(aLastModifiedTime),
+    mSandboxLevel(aSandboxLevel),
+    mIsSandboxLoggingEnabled(false),
+    mNiceFileName(),
+    mIsFromExtension(aFromExtension),
+    mBlocklistState(aBlocklistState)
 {
 }
 
 nsPluginTag::~nsPluginTag()
 {
   NS_ASSERTION(!mNext, "Risk of exhausting the stack space, bug 486349");
 }
 
--- a/dom/plugins/base/nsPluginsDirDarwin.cpp
+++ b/dom/plugins/base/nsPluginsDirDarwin.cpp
@@ -262,19 +262,18 @@ static void ParsePlistPluginInfo(nsPlugi
       CFTypeRef description = ::CFDictionaryGetValue(static_cast<CFDictionaryRef>(mimeDict), CFSTR("WebPluginTypeDescription"));
       if (description && ::CFGetTypeID(description) == ::CFStringGetTypeID())
         info.fMimeDescriptionArray[info.fVariantCount] = CFStringRefToUTF8Buffer(static_cast<CFStringRef>(description));
     }
     info.fVariantCount++;
   }
 }
 
-nsPluginFile::nsPluginFile(nsIFile* spec)
-  : pLibrary{ nullptr }
-  , mPlugin(spec)
+nsPluginFile::nsPluginFile(nsIFile *spec)
+    : mPlugin(spec)
 {
 }
 
 nsPluginFile::~nsPluginFile() {}
 
 nsresult nsPluginFile::LoadPlugin(PRLibrary **outLibrary)
 {
   if (!mPlugin)
--- a/dom/plugins/ipc/PluginInstanceChild.cpp
+++ b/dom/plugins/ipc/PluginInstanceChild.cpp
@@ -123,73 +123,70 @@ CreateDrawTargetForSurface(gfxASurface *
   if (!drawTarget) {
     MOZ_CRASH("CreateDrawTargetForSurface failed in plugin");
   }
   return drawTarget;
 }
 
 bool PluginInstanceChild::sIsIMEComposing = false;
 
-PluginInstanceChild::PluginInstanceChild(
-  const NPPluginFuncs* aPluginIface,
-  const nsCString& aMimeType,
-  const InfallibleTArray<nsCString>& aNames,
-  const InfallibleTArray<nsCString>& aValues)
-  : mPluginIface(aPluginIface)
-  , mMimeType(aMimeType)
-  , mNames(aNames)
-  , mValues(aValues)
+PluginInstanceChild::PluginInstanceChild(const NPPluginFuncs* aPluginIface,
+                                         const nsCString& aMimeType,
+                                         const InfallibleTArray<nsCString>& aNames,
+                                         const InfallibleTArray<nsCString>& aValues)
+    : mPluginIface(aPluginIface)
+    , mMimeType(aMimeType)
+    , mNames(aNames)
+    , mValues(aValues)
 #if defined(XP_DARWIN) || defined (XP_WIN)
-  , mContentsScaleFactor(1.0)
+    , mContentsScaleFactor(1.0)
 #endif
-  , mCSSZoomFactor{ 0.0 }
-  , mPostingKeyEvents(0)
-  , mPostingKeyEventsOutdated(0)
-  , mDrawingModel(kDefaultDrawingModel)
-  , mCurrentDirectSurface(nullptr)
-  , mAsyncInvalidateMutex("PluginInstanceChild::mAsyncInvalidateMutex")
-  , mAsyncInvalidateTask(0)
-  , mCachedWindowActor(nullptr)
-  , mCachedElementActor(nullptr)
+    , mPostingKeyEvents(0)
+    , mPostingKeyEventsOutdated(0)
+    , mDrawingModel(kDefaultDrawingModel)
+    , mCurrentDirectSurface(nullptr)
+    , mAsyncInvalidateMutex("PluginInstanceChild::mAsyncInvalidateMutex")
+    , mAsyncInvalidateTask(0)
+    , mCachedWindowActor(nullptr)
+    , mCachedElementActor(nullptr)
 #if defined(OS_WIN)
-  , mPluginWindowHWND(0)
-  , mPluginWndProc(0)
-  , mPluginParentHWND(0)
-  , mCachedWinlessPluginHWND(0)
-  , mWinlessPopupSurrogateHWND(0)
-  , mWinlessThrottleOldWndProc(0)
-  , mWinlessHiddenMsgHWND(0)
+    , mPluginWindowHWND(0)
+    , mPluginWndProc(0)
+    , mPluginParentHWND(0)
+    , mCachedWinlessPluginHWND(0)
+    , mWinlessPopupSurrogateHWND(0)
+    , mWinlessThrottleOldWndProc(0)
+    , mWinlessHiddenMsgHWND(0)
 #endif // OS_WIN
 #if defined(MOZ_WIDGET_COCOA)
 #if defined(__i386__)
-  , mEventModel(NPEventModelCarbon)
+    , mEventModel(NPEventModelCarbon)
 #endif
-  , mShColorSpace(nullptr)
-  , mShContext(nullptr)
-  , mCGLayer(nullptr)
-  , mCARefreshTimer{}
-  , mCurrentEvent(nullptr)
+    , mShColorSpace(nullptr)
+    , mShContext(nullptr)
+    , mCGLayer(nullptr)
+    , mCurrentEvent(nullptr)
 #endif
-  , mLayersRendering(false)
+    , mLayersRendering(false)
 #ifdef XP_WIN
-  , mCurrentSurfaceActor(nullptr)
-  , mBackSurfaceActor(nullptr)
+    , mCurrentSurfaceActor(nullptr)
+    , mBackSurfaceActor(nullptr)
 #endif
-  , mAccumulatedInvalidRect(0, 0, 0, 0)
-  , mIsTransparent(false)
-  , mSurfaceType(gfxSurfaceType::Max)
-  , mPendingPluginCall(false)
-  , mDoAlphaExtraction(false)
-  , mHasPainted(false)
-  , mSurfaceDifferenceRect(0, 0, 0, 0)
-  , mDestroyed(false)
+    , mAccumulatedInvalidRect(0,0,0,0)
+    , mIsTransparent(false)
+    , mSurfaceType(gfxSurfaceType::Max)
+    , mPendingPluginCall(false)
+    , mDoAlphaExtraction(false)
+    , mHasPainted(false)
+    , mSurfaceDifferenceRect(0,0,0,0)
+    , mDestroyed(false)
 #ifdef XP_WIN
-  , mLastKeyEventConsumed(false)
+    , mLastKeyEventConsumed(false)
 #endif // #ifdef XP_WIN
-  , mStackDepth(0)
+    , mStackDepth(0)
 {
     memset(&mWindow, 0, sizeof(mWindow));
     mWindow.type = NPWindowTypeWindow;
     mData.ndata = (void*) this;
     mData.pdata = nullptr;
 #if defined(MOZ_X11) && defined(XP_UNIX) && !defined(XP_MACOSX)
     mWindow.ws_info = &mWsInfo;
     memset(&mWsInfo, 0, sizeof(mWsInfo));
--- a/dom/plugins/ipc/PluginModuleParent.cpp
+++ b/dom/plugins/ipc/PluginModuleParent.cpp
@@ -192,26 +192,25 @@ namespace {
 
 /**
  * Objects of this class remain linked until an error occurs in the
  * plugin initialization sequence.
  */
 class PluginModuleMapping : public PRCList
 {
 public:
-  explicit PluginModuleMapping(uint32_t aPluginId)
-    : mPluginId(aPluginId)
-    , mProcessIdValid(false)
-    , mProcessId{}
-    , mModule(nullptr)
-    , mChannelOpened(false)
-  {
-    MOZ_COUNT_CTOR(PluginModuleMapping);
-    PR_INIT_CLIST(this);
-    PR_APPEND_LINK(this, &sModuleListHead);
+    explicit PluginModuleMapping(uint32_t aPluginId)
+        : mPluginId(aPluginId)
+        , mProcessIdValid(false)
+        , mModule(nullptr)
+        , mChannelOpened(false)
+    {
+        MOZ_COUNT_CTOR(PluginModuleMapping);
+        PR_INIT_CLIST(this);
+        PR_APPEND_LINK(this, &sModuleListHead);
     }
 
     ~PluginModuleMapping()
     {
         PR_REMOVE_LINK(this);
         MOZ_COUNT_DTOR(PluginModuleMapping);
     }
 
@@ -585,30 +584,29 @@ PluginModuleChromeParent::InitCrashRepor
         shmem,
         threadId);
     }
 
     return true;
 }
 
 PluginModuleParent::PluginModuleParent(bool aIsChrome)
-  : mQuirks(QUIRKS_NOT_INITIALIZED)
-  , mIsChrome(aIsChrome)
-  , mShutdown(false)
-  , mHadLocalInstance(false)
-  , mClearSiteDataSupported(false)
-  , mGetSitesWithDataSupported(false)
-  , mNPNIface(nullptr)
-  , mNPPIface(nullptr)
-  , mPlugin(nullptr)
-  , mTaskFactory(this)
-  , mSandboxLevel(0)
-  , mIsFlashPlugin(false)
-  , mRunID{}
-  , mCrashReporterMutex("PluginModuleChromeParent::mCrashReporterMutex")
+    : mQuirks(QUIRKS_NOT_INITIALIZED)
+    , mIsChrome(aIsChrome)
+    , mShutdown(false)
+    , mHadLocalInstance(false)
+    , mClearSiteDataSupported(false)
+    , mGetSitesWithDataSupported(false)
+    , mNPNIface(nullptr)
+    , mNPPIface(nullptr)
+    , mPlugin(nullptr)
+    , mTaskFactory(this)
+    , mSandboxLevel(0)
+    , mIsFlashPlugin(false)
+    , mCrashReporterMutex("PluginModuleChromeParent::mCrashReporterMutex")
 {
 }
 
 PluginModuleParent::~PluginModuleParent()
 {
     if (!OkToCleanup()) {
         MOZ_CRASH("unsafe destruction");
     }
@@ -616,49 +614,47 @@ PluginModuleParent::~PluginModuleParent(
     if (!mShutdown) {
         NS_WARNING("Plugin host deleted the module without shutting down.");
         NPError err;
         NP_Shutdown(&err);
     }
 }
 
 PluginModuleContentParent::PluginModuleContentParent()
-  : PluginModuleParent(false)
-  , mPluginId{}
+    : PluginModuleParent(false)
 {
-  Preferences::RegisterCallback(TimeoutChanged, kContentTimeoutPref, this);
+    Preferences::RegisterCallback(TimeoutChanged, kContentTimeoutPref, this);
 }
 
 PluginModuleContentParent::~PluginModuleContentParent()
 {
     Preferences::UnregisterCallback(TimeoutChanged, kContentTimeoutPref, this);
 }
 
 PluginModuleChromeParent::PluginModuleChromeParent(const char* aFilePath,
                                                    uint32_t aPluginId,
                                                    int32_t aSandboxLevel)
-  : PluginModuleParent(true)
-  , mSubprocess(new PluginProcessParent(aFilePath))
-  , mPluginId(aPluginId)
-  , mChromeTaskFactory(this)
-  , mHangAnnotationFlags(0)
+    : PluginModuleParent(true)
+    , mSubprocess(new PluginProcessParent(aFilePath))
+    , mPluginId(aPluginId)
+    , mChromeTaskFactory(this)
+    , mHangAnnotationFlags(0)
 #ifdef XP_WIN
-  , mPluginCpuUsageOnHang()
-  , mHangUIParent(nullptr)
-  , mHangUIEnabled(true)
-  , mIsTimerReset(true)
-  , mBrokerParent(nullptr)
+    , mPluginCpuUsageOnHang()
+    , mHangUIParent(nullptr)
+    , mHangUIEnabled(true)
+    , mIsTimerReset(true)
+    , mBrokerParent(nullptr)
 #endif
 #ifdef MOZ_CRASHREPORTER_INJECTOR
-  , mFlashProcess1(0)
-  , mFlashProcess2(0)
-  , mFinishInitTask(nullptr)
+    , mFlashProcess1(0)
+    , mFlashProcess2(0)
+    , mFinishInitTask(nullptr)
 #endif
-  , mIsBlocklisted{ false }
-  , mIsCleaningFromTimeout(false)
+    , mIsCleaningFromTimeout(false)
 {
     NS_ASSERTION(mSubprocess, "Out of memory!");
     mSandboxLevel = aSandboxLevel;
     mRunID = GeckoChildProcessHost::GetUniqueID();
 
     mozilla::HangMonitor::RegisterAnnotator(*this);
 }
 
--- a/dom/presentation/PresentationReceiver.cpp
+++ b/dom/presentation/PresentationReceiver.cpp
@@ -37,18 +37,17 @@ NS_INTERFACE_MAP_END
 /* static */ already_AddRefed<PresentationReceiver>
 PresentationReceiver::Create(nsPIDOMWindowInner* aWindow)
 {
   RefPtr<PresentationReceiver> receiver = new PresentationReceiver(aWindow);
   return NS_WARN_IF(!receiver->Init()) ? nullptr : receiver.forget();
 }
 
 PresentationReceiver::PresentationReceiver(nsPIDOMWindowInner* aWindow)
-  : mWindowId{}
-  , mOwner(aWindow)
+  : mOwner(aWindow)
 {
   MOZ_ASSERT(aWindow);
 }
 
 PresentationReceiver::~PresentationReceiver()
 {
   Shutdown();
 }
--- a/dom/security/SRICheck.cpp
+++ b/dom/security/SRICheck.cpp
@@ -208,22 +208,20 @@ SRICheck::VerifyIntegrity(const SRIMetad
 }
 
 //////////////////////////////////////////////////////////////
 //
 //////////////////////////////////////////////////////////////
 SRICheckDataVerifier::SRICheckDataVerifier(const SRIMetadata& aMetadata,
                                            const nsACString& aSourceFileURI,
                                            nsIConsoleReportCollector* aReporter)
-  : mCryptoHash(nullptr)
-  , mBytesHashed(0)
-  , mHashLength{}
-  , mHashType{ '\0' }
-  , mInvalidMetadata(false)
-  , mComplete(false)
+  : mCryptoHash(nullptr),
+    mBytesHashed(0),
+    mInvalidMetadata(false),
+    mComplete(false)
 {
   MOZ_ASSERT(!aMetadata.IsEmpty()); // should be checked by caller
 
   // IntegrityMetadata() checks this and returns "no metadata" if
   // it's disabled so we should never make it this far
   MOZ_ASSERT(Preferences::GetBool("security.sri.enable", false));
   MOZ_ASSERT(aReporter);
 
--- a/dom/serviceworkers/ServiceWorkerUpdateJob.cpp
+++ b/dom/serviceworkers/ServiceWorkerUpdateJob.cpp
@@ -198,17 +198,18 @@ ServiceWorkerUpdateJob::ServiceWorkerUpd
     nsIPrincipal* aPrincipal,
     const nsACString& aScope,
     const nsACString& aScriptSpec,
     nsILoadGroup* aLoadGroup,
     ServiceWorkerUpdateViaCache aUpdateViaCache)
   : ServiceWorkerJob(aType, aPrincipal, aScope, aScriptSpec)
   , mLoadGroup(aLoadGroup)
   , mUpdateViaCache(aUpdateViaCache)
-/* FIXME: initialize mOnFailure */ {}
+{
+}
 
 ServiceWorkerUpdateJob::~ServiceWorkerUpdateJob()
 {
 }
 
 void
 ServiceWorkerUpdateJob::FailUpdateJob(ErrorResult& aRv)
 {
--- a/dom/smil/nsSMILKeySpline.h
+++ b/dom/smil/nsSMILKeySpline.h
@@ -11,35 +11,26 @@
 #include "mozilla/PodOperations.h"
 
 /**
  * Utility class to provide scaling defined in a keySplines element.
  */
 class nsSMILKeySpline
 {
 public:
-  nsSMILKeySpline()
-    : mX1{ 0.0 }
-    , mY1{ 0.0 }
-    , mX2{ 0.0 }
-    , mY2{ 0.0 }
-  { /* caller must call Init later */
-  }
+  nsSMILKeySpline() { /* caller must call Init later */ }
 
   /**
    * Creates a new key spline control point description.
    *
    * aX1, etc. are the x1, y1, x2, y2 cubic Bezier control points as defined by
    * SMILANIM 3.2.3. They must each be in the range 0.0 <= x <= 1.0
    */
-  nsSMILKeySpline(double aX1, double aY1, double aX2, double aY2)
-    : mX1{ 0.0 }
-    , mY1{ 0.0 }
-    , mX2{ 0.0 }
-    , mY2{ 0.0 }
+  nsSMILKeySpline(double aX1, double aY1,
+                  double aX2, double aY2)
   {
     Init(aX1, aY1, aX2, aY2);
   }
 
   double X1() const { return mX1; }
   double Y1() const { return mY1; }
   double X2() const { return mX2; }
   double Y2() const { return mY2; }
--- a/dom/smil/nsSMILValue.cpp
+++ b/dom/smil/nsSMILValue.cpp
@@ -9,17 +9,16 @@
 #include <string.h>
 
 //----------------------------------------------------------------------
 // Public methods
 
 nsSMILValue::nsSMILValue(const nsISMILType* aType)
   : mType(nsSMILNullType::Singleton())
 {
-  this->mU.mBool = { false };
   if (!aType) {
     NS_ERROR("Trying to construct nsSMILValue with null mType pointer");
     return;
   }
 
   InitAndCheckPostcondition(aType);
 }
 
--- a/dom/storage/StorageIPC.cpp
+++ b/dom/storage/StorageIPC.cpp
@@ -912,19 +912,17 @@ public:
                const nsAString& aValue = EmptyString())
     : Runnable("dom::LoadRunnable")
     , mParent(aParent)
     , mType(aType)
     , mSuffix(aOriginSuffix)
     , mOrigin(aOriginNoSuffix)
     , mKey(aKey)
     , mValue(aValue)
-    , mRv{ NS_ERROR_NOT_INITIALIZED }
-  {
-  }
+  { }
 
   LoadRunnable(StorageDBParent* aParent,
                TaskType aType,
                const nsACString& aOriginSuffix,
                const nsACString& aOriginNoSuffix,
                nsresult aRv)
     : Runnable("dom::LoadRunnable")
     , mParent(aParent)
--- a/dom/svg/DOMSVGPathSegList.h
+++ b/dom/svg/DOMSVGPathSegList.h
@@ -225,21 +225,17 @@ private:
    * store the indexes into the internal SVGPathData of the internal seg data
    * that our DOMSVGPathSeg items wrap (the internal segment data is or varying
    * length, so we can't just use the index of our DOMSVGPathSeg items
    * themselves). The reason that we have this separate struct rather than
    * just storing the internal indexes in the DOMSVGPathSeg items is because we
    * want to create the DOMSVGPathSeg items lazily on demand.
    */
   struct ItemProxy {
-    ItemProxy()
-      : mItem{ nullptr }
-      , mInternalDataIndex{}
-    {
-    }
+    ItemProxy(){}
     ItemProxy(DOMSVGPathSeg *aItem, uint32_t aInternalDataIndex)
       : mItem(aItem)
       , mInternalDataIndex(aInternalDataIndex)
     {}
 
     DOMSVGPathSeg *mItem;
     uint32_t mInternalDataIndex;
   };
--- a/dom/svg/SVGAnimatedNumberList.h
+++ b/dom/svg/SVGAnimatedNumberList.h
@@ -38,20 +38,17 @@ class SVGAnimationElement;
  */
 class SVGAnimatedNumberList
 {
   // friends so that they can get write access to mBaseVal
   friend class DOMSVGNumber;
   friend class DOMSVGNumberList;
 
 public:
-  SVGAnimatedNumberList()
-    : mIsBaseSet{ false }
-  {
-  }
+  SVGAnimatedNumberList() {}
 
   /**
    * Because it's so important that mBaseVal and its DOMSVGNumberList wrapper
    * (if any) be kept in sync (see the comment in
    * DOMSVGAnimatedNumberList::InternalBaseValListWillChangeTo), this method
    * returns a const reference. Only our friend classes may get mutable
    * references to mBaseVal.
    */
--- a/dom/svg/SVGGeometryElement.h
+++ b/dom/svg/SVGGeometryElement.h
@@ -107,21 +107,17 @@ public:
 
   /**
    * For use with GetAsSimplePath.
    */
   class SimplePath
   {
   public:
     SimplePath()
-      : mX{ 0.0 }
-      , mY{ 0.0 }
-      , mWidthOrX2{ 0.0 }
-      , mHeightOrY2{ 0.0 }
-      , mType(NONE)
+      : mType(NONE)
     {}
     bool IsPath() const {
       return mType != NONE;
     }
     void SetRect(Float x, Float y, Float width, Float height) {
       mX = x;
       mY = y;
       mWidthOrX2 = width;
--- a/dom/svg/SVGLength.h
+++ b/dom/svg/SVGLength.h
@@ -28,18 +28,20 @@ namespace mozilla {
  *
  * The DOM wrapper class for this class is DOMSVGLength.
  */
 class SVGLength
 {
 public:
 
   SVGLength()
+#ifdef DEBUG
     : mValue(0.0f)
     , mUnit(dom::SVGLengthBinding::SVG_LENGTHTYPE_UNKNOWN) // caught by IsValid()
+#endif
   {}
 
   SVGLength(float aValue, uint8_t aUnit)
     : mValue(aValue)
     , mUnit(aUnit)
   {
     NS_ASSERTION(IsValid(), "Constructed an invalid length");
   }
--- a/dom/svg/SVGLengthList.h
+++ b/dom/svg/SVGLengthList.h
@@ -303,22 +303,20 @@ private:
  * ancestor to resolve percentage units against, and a valid presContext and
  * ComputedStyle to resolve absolute and em/ex units against, unit conversions
  * could still overflow. In that case the value returned will be
  * numeric_limits<float>::quiet_NaN().
  */
 class MOZ_STACK_CLASS SVGUserUnitList
 {
 public:
+
   SVGUserUnitList()
     : mList(nullptr)
-    , mElement{ nullptr }
-    , mAxis{ '\0' }
-  {
-  }
+  {}
 
   void Init(const SVGLengthList *aList, nsSVGElement *aElement, uint8_t aAxis) {
     mList = aList;
     mElement = aElement;
     mAxis = aAxis;
   }
 
   void Clear() {
--- a/dom/svg/SVGMotionSMILType.cpp
+++ b/dom/svg/SVGMotionSMILType.cpp
@@ -59,22 +59,18 @@ struct PathPointParams {  // Point along
  * from a path (e.g. when accumulating a repeated animation) will generally
  * take you to an arbitrary point *off* of the path.
  */
 struct MotionSegment
 {
   // Default constructor just locks us into being a Translation, and leaves
   // other fields uninitialized (since client is presumably about to set them)
   MotionSegment()
-    : mRotateType{ static_cast<RotateType>(0) }
-    , mRotateAngle{ 0.0 }
-    , mSegmentType(eSegmentType_Translation)
-    , mU{}
-  {
-  }
+    : mSegmentType(eSegmentType_Translation)
+  { }
 
   // Constructor for a translation
   MotionSegment(float aX, float aY, float aRotateAngle)
     : mRotateType(eRotateType_Explicit), mRotateAngle(aRotateAngle),
       mSegmentType(eSegmentType_Translation)
   {
     mU.mTranslationParams.mX = aX;
     mU.mTranslationParams.mY = aY;
--- a/dom/svg/nsSVGViewBox.h
+++ b/dom/svg/nsSVGViewBox.h
@@ -27,24 +27,17 @@ class SVGAnimationElement;
 } // namespace mozilla
 
 struct nsSVGViewBoxRect
 {
   float x, y;
   float width, height;
   bool none;
 
-  nsSVGViewBoxRect()
-    : x{ 0.0 }
-    , y{ 0.0 }
-    , width{ 0.0 }
-    , height{ 0.0 }
-    , none(true)
-  {
-  }
+  nsSVGViewBoxRect() : none(true) {}
   nsSVGViewBoxRect(float aX, float aY, float aWidth, float aHeight) :
     x(aX), y(aY), width(aWidth), height(aHeight), none(false) {}
   nsSVGViewBoxRect(const nsSVGViewBoxRect& rhs) :
     x(rhs.x), y(rhs.y), width(rhs.width), height(rhs.height), none(rhs.none) {}
   bool operator==(const nsSVGViewBoxRect& aOther) const;
 
   static nsresult FromString(const nsAString& aStr, nsSVGViewBoxRect *aViewBox);
 };
--- a/dom/vr/VRDisplay.cpp
+++ b/dom/vr/VRDisplay.cpp
@@ -265,19 +265,16 @@ VRPose::VRPose(nsISupports* aParent, con
 {
   mFrameId = aState.inputFrameID;
   mozilla::HoldJSObjects(this);
 }
 
 VRPose::VRPose(nsISupports* aParent)
   : Pose(aParent)
 {
-  this->mVRState.inputFrameID = {};
-  this->mVRState.timestamp = { 0.0 };
-  this->mVRState.flags = { gfx::VRDisplayCapabilityFlags::Cap_None };
   mFrameId = 0;
   mozilla::HoldJSObjects(this);
 }
 
 VRPose::~VRPose()
 {
   mozilla::DropJSObjects(this);
 }
@@ -923,19 +920,16 @@ VRFrameInfo::Update(const gfx::VRDisplay
   mRightProjection = rightFOV.ConstructProjectionMatrix(aDepthNear, aDepthFar, true);
   memcpy(mLeftView.components, aState.leftViewMatrix, sizeof(aState.leftViewMatrix));
   memcpy(mRightView.components, aState.rightViewMatrix, sizeof(aState.rightViewMatrix));
 }
 
 VRFrameInfo::VRFrameInfo()
  : mTimeStampOffset(0.0f)
 {
-  this->mVRState.inputFrameID = {};
-  this->mVRState.timestamp = { 0.0 };
-  this->mVRState.flags = { gfx::VRDisplayCapabilityFlags::Cap_None };
 }
 
 bool
 VRFrameInfo::IsDirty()
 {
   return mVRState.timestamp == 0;
 }
 
--- a/dom/websocket/WebSocket.cpp
+++ b/dom/websocket/WebSocket.cpp
@@ -85,32 +85,31 @@ public:
   NS_DECL_NSIINTERFACEREQUESTOR
   NS_DECL_NSIWEBSOCKETLISTENER
   NS_DECL_NSIOBSERVER
   NS_DECL_NSIREQUEST
   NS_DECL_THREADSAFE_ISUPPORTS
   NS_DECL_NSIEVENTTARGET_FULL
 
   explicit WebSocketImpl(WebSocket* aWebSocket)
-    : mWebSocket(aWebSocket)
-    , mIsServerSide(false)
-    , mSecure(false)
-    , mOnCloseScheduled(false)
-    , mFailed(false)
-    , mDisconnectingOrDisconnected(false)
-    , mCloseEventWasClean(false)
-    , mCloseEventCode(nsIWebSocketChannel::CLOSE_ABNORMAL)
-    , mPort{}
-    , mScriptLine(0)
-    , mScriptColumn(0)
-    , mInnerWindowID(0)
-    , mPrivateBrowsing(false)
-    , mIsMainThread(true)
-    , mMutex("WebSocketImpl::mMutex")
-    , mWorkerShuttingDown(false)
+  : mWebSocket(aWebSocket)
+  , mIsServerSide(false)
+  , mSecure(false)
+  , mOnCloseScheduled(false)
+  , mFailed(false)
+  , mDisconnectingOrDisconnected(false)
+  , mCloseEventWasClean(false)
+  , mCloseEventCode(nsIWebSocketChannel::CLOSE_ABNORMAL)
+  , mScriptLine(0)
+  , mScriptColumn(0)
+  , mInnerWindowID(0)
+  , mPrivateBrowsing(false)
+  , mIsMainThread(true)
+  , mMutex("WebSocketImpl::mMutex")
+  , mWorkerShuttingDown(false)
   {
     if (!NS_IsMainThread()) {
       mIsMainThread = false;
     }
   }
 
   void AssertIsOnTargetThread() const
   {
--- a/dom/workers/WorkerScope.cpp
+++ b/dom/workers/WorkerScope.cpp
@@ -748,18 +748,16 @@ class ReportFetchListenerWarningRunnable
   nsCString mSourceSpec;
   uint32_t mLine;
   uint32_t mColumn;
 
 public:
   explicit ReportFetchListenerWarningRunnable(const nsString& aScope)
     : mozilla::Runnable("ReportFetchListenerWarningRunnable")
     , mScope(NS_ConvertUTF16toUTF8(aScope))
-    , mLine{}
-    , mColumn{}
   {
     WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate();
     MOZ_ASSERT(workerPrivate);
     JSContext* cx = workerPrivate->GetJSContext();
     MOZ_ASSERT(cx);
 
     nsJSUtils::GetCallingLocation(cx, mSourceSpec, &mLine, &mColumn);
   }
--- a/dom/xbl/nsXBLBinding.cpp
+++ b/dom/xbl/nsXBLBinding.cpp
@@ -101,32 +101,29 @@ static const JSClass gPrototypeJSClass =
 // Implementation /////////////////////////////////////////////////////////////////
 
 // Constructors/Destructors
 nsXBLBinding::nsXBLBinding(nsXBLPrototypeBinding* aBinding)
   : mMarkedForDeath(false)
   , mUsingContentXBLScope(false)
   , mIsShadowRootBinding(false)
   , mPrototypeBinding(aBinding)
-  , mBoundElement{ nullptr }
 {
   NS_ASSERTION(mPrototypeBinding, "Must have a prototype binding!");
   // Grab a ref to the document info so the prototype binding won't die
   NS_ADDREF(mPrototypeBinding->XBLDocumentInfo());
 }
 
 // Constructor used by web components.
-nsXBLBinding::nsXBLBinding(ShadowRoot* aShadowRoot,
-                           nsXBLPrototypeBinding* aBinding)
-  : mMarkedForDeath(false)
-  , mUsingContentXBLScope(false)
-  , mIsShadowRootBinding(true)
-  , mPrototypeBinding(aBinding)
-  , mContent(aShadowRoot)
-  , mBoundElement{ nullptr }
+nsXBLBinding::nsXBLBinding(ShadowRoot* aShadowRoot, nsXBLPrototypeBinding* aBinding)
+  : mMarkedForDeath(false),
+    mUsingContentXBLScope(false),
+    mIsShadowRootBinding(true),
+    mPrototypeBinding(aBinding),
+    mContent(aShadowRoot)
 {
   NS_ASSERTION(mPrototypeBinding, "Must have a prototype binding!");
   // Grab a ref to the document info so the prototype binding won't die
   NS_ADDREF(mPrototypeBinding->XBLDocumentInfo());
 }
 
 nsXBLBinding::~nsXBLBinding(void)
 {
--- a/dom/xbl/nsXBLProtoImplField.cpp
+++ b/dom/xbl/nsXBLProtoImplField.cpp
@@ -39,22 +39,22 @@ nsXBLProtoImplField::nsXBLProtoImplField
   mJSAttributes = JSPROP_ENUMERATE;
   if (aReadOnly) {
     nsAutoString readOnly; readOnly.Assign(aReadOnly);
     if (readOnly.LowerCaseEqualsLiteral("true"))
       mJSAttributes |= JSPROP_READONLY;
   }
 }
 
+
 nsXBLProtoImplField::nsXBLProtoImplField(const bool aIsReadOnly)
-  : mNext(nullptr)
-  , mName{ nullptr }
-  , mFieldText(nullptr)
-  , mFieldTextLength(0)
-  , mLineNumber(0)
+  : mNext(nullptr),
+    mFieldText(nullptr),
+    mFieldTextLength(0),
+    mLineNumber(0)
 {
   MOZ_COUNT_CTOR(nsXBLProtoImplField);
 
   mJSAttributes = JSPROP_ENUMERATE;
   if (aIsReadOnly)
     mJSAttributes |= JSPROP_READONLY;
 }
 
--- a/dom/xbl/nsXBLPrototypeBinding.cpp
+++ b/dom/xbl/nsXBLPrototypeBinding.cpp
@@ -106,27 +106,26 @@ nsXBLAttributeEntry::SizeOfIncludingThis
 }
 
 // =============================================================================
 
 // Implementation /////////////////////////////////////////////////////////////////
 
 // Constructors/Destructors
 nsXBLPrototypeBinding::nsXBLPrototypeBinding()
-  : mImplementation(nullptr)
-  , mBaseBinding(nullptr)
-  , mInheritStyle(true)
-  , mCheckedBaseProto(false)
-  , mKeyHandlersRegistered(false)
-  , mChromeOnlyContent(false)
-  , mBindToUntrustedContent(false)
-  , mSimpleScopeChain(false)
-  , mResources(nullptr)
-  , mXBLDocInfoWeak{ nullptr }
-  , mBaseNameSpaceID(kNameSpaceID_None)
+: mImplementation(nullptr),
+  mBaseBinding(nullptr),
+  mInheritStyle(true),
+  mCheckedBaseProto(false),
+  mKeyHandlersRegistered(false),
+  mChromeOnlyContent(false),
+  mBindToUntrustedContent(false),
+  mSimpleScopeChain(false),
+  mResources(nullptr),
+  mBaseNameSpaceID(kNameSpaceID_None)
 {
   MOZ_COUNT_CTOR(nsXBLPrototypeBinding);
 }
 
 nsresult
 nsXBLPrototypeBinding::Init(const nsACString& aID,
                             nsXBLDocumentInfo* aInfo,
                             Element* aElement,
--- a/dom/xbl/nsXBLPrototypeHandler.cpp
+++ b/dom/xbl/nsXBLPrototypeHandler.cpp
@@ -113,26 +113,21 @@ nsXBLPrototypeHandler::nsXBLPrototypeHan
 {
   Init();
 
   // Make sure our prototype is initialized.
   ConstructPrototype(aHandlerElement);
 }
 
 nsXBLPrototypeHandler::nsXBLPrototypeHandler(nsXBLPrototypeBinding* aBinding)
-  : mHandlerText(nullptr)
-  , mLineNumber(0)
-  , mPhase{ '\0' }
-  , mType{ '\0' }
-  , mMisc{ '\0' }
-  , mReserved(XBLReservedKey_False)
-  , mKeyMask{}
-  , mDetail{}
-  , mNextHandler(nullptr)
-  , mPrototypeBinding(aBinding)
+  : mHandlerText(nullptr),
+    mLineNumber(0),
+    mReserved(XBLReservedKey_False),
+    mNextHandler(nullptr),
+    mPrototypeBinding(aBinding)
 {
   Init();
 }
 
 nsXBLPrototypeHandler::~nsXBLPrototypeHandler()
 {
   --gRefCnt;
   if (mType & NS_HANDLER_TYPE_XUL) {
--- a/dom/xbl/nsXBLResourceLoader.cpp
+++ b/dom/xbl/nsXBLResourceLoader.cpp
@@ -58,24 +58,23 @@ struct nsXBLResource
   {
     MOZ_COUNT_DTOR(nsXBLResource);
     NS_CONTENT_DELETE_LIST_MEMBER(nsXBLResource, this, mNext);
   }
 };
 
 nsXBLResourceLoader::nsXBLResourceLoader(nsXBLPrototypeBinding* aBinding,
                                          nsXBLPrototypeResources* aResources)
-  : mBinding(aBinding)
-  , mResources(aResources)
-  , mResourceList(nullptr)
-  , mLastResource(nullptr)
-  , mLoadingResources(false)
-  , mInLoadResourcesFunc(false)
-  , mPendingSheets(0)
-  , mBoundDocument{ nullptr }
+:mBinding(aBinding),
+ mResources(aResources),
+ mResourceList(nullptr),
+ mLastResource(nullptr),
+ mLoadingResources(false),
+ mInLoadResourcesFunc(false),
+ mPendingSheets(0)
 {
 }
 
 nsXBLResourceLoader::~nsXBLResourceLoader()
 {
   delete mResourceList;
 }
 
--- a/dom/xhr/XMLHttpRequestMainThread.cpp
+++ b/dom/xhr/XMLHttpRequestMainThread.cpp
@@ -189,54 +189,43 @@ static void AddLoadFlags(nsIRequest *req
 //
 //
 /////////////////////////////////////////////
 
 bool
 XMLHttpRequestMainThread::sDontWarnAboutSyncXHR = false;
 
 XMLHttpRequestMainThread::XMLHttpRequestMainThread()
-  : mResponseBodyDecodedPos(0)
-  , mResponseCharset(nullptr)
-  , mResponseType(XMLHttpRequestResponseType::_empty)
-  , mRequestObserver(nullptr)
-  , mState(XMLHttpRequestBinding::UNSENT)
-  , mFlagSynchronous(false)
-  , mFlagAborted(false)
-  , mFlagParseBody(false)
-  , mFlagSyncLooping(false)
-  , mFlagBackgroundRequest(false)
-  , mFlagHadUploadListenersOnSend(false)
-  , mFlagACwithCredentials(false)
-  , mFlagTimedOut(false)
-  , mFlagDeleted(false)
-  , mFlagSend(false)
-  , mUploadTransferred(0)
-  , mUploadTotal(0)
-  , mUploadComplete(true)
-  , mProgressSinceLastProgressEvent(false)
-  , mRequestSentTime(0)
-  , mTimeoutMilliseconds(0)
-  , mErrorLoad(ErrorType::eOK)
-  , mErrorParsingXML(false)
-  , mWaitingForOnStopRequest(false)
-  , mProgressTimerIsActive(false)
-  , mIsHtml(false)
-  , mWarnAboutSyncHtml(false)
-  , mLoadTotal(-1)
-  , mLoadTransferred{}
-  , mIsSystem(false)
-  , mIsAnon(false)
-  , mFirstStartRequestSeen(false)
-  , mInLoadProgressEvent(false)
-  , mResultJSON(JS::UndefinedValue())
-  , mResultArrayBuffer(nullptr)
-  , mIsMappedArrayBuffer(false)
-  , mXPCOMifier(nullptr)
-  , mEventDispatchingSuspended(false)
+  : mResponseBodyDecodedPos(0),
+    mResponseCharset(nullptr),
+    mResponseType(XMLHttpRequestResponseType::_empty),
+    mRequestObserver(nullptr),
+    mState(XMLHttpRequestBinding::UNSENT),
+    mFlagSynchronous(false), mFlagAborted(false), mFlagParseBody(false),
+    mFlagSyncLooping(false), mFlagBackgroundRequest(false),
+    mFlagHadUploadListenersOnSend(false), mFlagACwithCredentials(false),
+    mFlagTimedOut(false), mFlagDeleted(false), mFlagSend(false),
+    mUploadTransferred(0), mUploadTotal(0), mUploadComplete(true),
+    mProgressSinceLastProgressEvent(false),
+    mRequestSentTime(0), mTimeoutMilliseconds(0),
+    mErrorLoad(ErrorType::eOK), mErrorParsingXML(false),
+    mWaitingForOnStopRequest(false),
+    mProgressTimerIsActive(false),
+    mIsHtml(false),
+    mWarnAboutSyncHtml(false),
+    mLoadTotal(-1),
+    mIsSystem(false),
+    mIsAnon(false),
+    mFirstStartRequestSeen(false),
+    mInLoadProgressEvent(false),
+    mResultJSON(JS::UndefinedValue()),
+    mResultArrayBuffer(nullptr),
+    mIsMappedArrayBuffer(false),
+    mXPCOMifier(nullptr),
+    mEventDispatchingSuspended(false)
 {
   mozilla::HoldJSObjects(this);
 }
 
 XMLHttpRequestMainThread::~XMLHttpRequestMainThread()
 {
   mFlagDeleted = true;
 
--- a/dom/xml/nsXMLContentSink.cpp
+++ b/dom/xml/nsXMLContentSink.cpp
@@ -87,18 +87,17 @@ NS_NewXMLContentSink(nsIXMLContentSink**
   nsresult rv = it->Init(aDoc, aURI, aContainer, aChannel);
   NS_ENSURE_SUCCESS(rv, rv);
 
   it.forget(aResult);
   return NS_OK;
 }
 
 nsXMLContentSink::nsXMLContentSink()
-  : mState{ static_cast<XMLContentSinkState>(0) }
-  , mTextLength(0)
+  : mTextLength(0)
   , mNotifyLevel(0)
   , mPrettyPrintXML(true)
   , mPrettyPrintHasSpecialRoot(0)
   , mPrettyPrintHasFactoredElements(0)
   , mPrettyPrinting(0)
   , mPreventScriptExecution(0)
 {
   PodArrayZero(mText);
--- a/dom/xslt/xpath/txExprLexer.cpp
+++ b/dom/xslt/xpath/txExprLexer.cpp
@@ -12,21 +12,20 @@
 #include "nsString.h"
 #include "nsError.h"
 #include "txXMLUtils.h"
 
 /**
  * Creates a new ExprLexer
  */
 txExprLexer::txExprLexer()
-  : mPosition{ nullptr }
-  , mCurrentItem(nullptr)
-  , mFirstItem(nullptr)
-  , mLastItem(nullptr)
-  , mTokenCount(0)
+  : mCurrentItem(nullptr),
+    mFirstItem(nullptr),
+    mLastItem(nullptr),
+    mTokenCount(0)
 {
 }
 
 /**
  * Destroys this instance of an txExprLexer
  */
 txExprLexer::~txExprLexer()
 {
--- a/dom/xslt/xslt/txExecutionState.cpp
+++ b/dom/xslt/xslt/txExecutionState.cpp
@@ -49,28 +49,27 @@ txLoadedDocumentsHash::~txLoadedDocument
 	        delete entry->mDocument.forget();
 	    }
        }
     }
 }
 
 txExecutionState::txExecutionState(txStylesheet* aStylesheet,
                                    bool aDisableLoads)
-  : mOutputHandler(nullptr)
-  , mResultHandler(nullptr)
-  , mOutputHandlerFactory{ nullptr }
-  , mStylesheet(aStylesheet)
-  , mNextInstruction(nullptr)
-  , mLocalVariables(nullptr)
-  , mRecursionDepth(0)
-  , mEvalContext(nullptr)
-  , mInitialEvalContext(nullptr)
-  , mGlobalParams(nullptr)
-  , mKeyHash(aStylesheet->getKeyMap())
-  , mDisableLoads(aDisableLoads)
+    : mOutputHandler(nullptr),
+      mResultHandler(nullptr),
+      mStylesheet(aStylesheet),
+      mNextInstruction(nullptr),
+      mLocalVariables(nullptr),
+      mRecursionDepth(0),
+      mEvalContext(nullptr),
+      mInitialEvalContext(nullptr),
+      mGlobalParams(nullptr),
+      mKeyHash(aStylesheet->getKeyMap()),
+      mDisableLoads(aDisableLoads)
 {
     MOZ_COUNT_CTOR(txExecutionState);
 }
 
 txExecutionState::~txExecutionState()
 {
     MOZ_COUNT_DTOR(txExecutionState);
 
--- a/dom/xslt/xslt/txStylesheetCompiler.cpp
+++ b/dom/xslt/xslt/txStylesheetCompiler.cpp
@@ -509,34 +509,33 @@ txStylesheetCompiler::maybeDoneCompiling
 
     return NS_OK;
 }
 
 /**
  * txStylesheetCompilerState
  */
 
-txStylesheetCompilerState::txStylesheetCompilerState(
-  txACompileObserver* aObserver)
-  : mHandlerTable(nullptr)
-  , mSorter(nullptr)
-  , mDOE(false)
-  , mSearchingForFallback(false)
-  , mDisAllowed(0)
-  , mObserver(aObserver)
-  , mEmbedStatus(eNoEmbed)
-  , mIsTopCompiler{ false }
-  , mDoneWithThisStylesheet(false)
-  , mNextInstrPtr(nullptr)
-  , mToplevelIterator(nullptr)
-  , mReferrerPolicy{ mozilla::net::RP_Unset }
+
+txStylesheetCompilerState::txStylesheetCompilerState(txACompileObserver* aObserver)
+    : mHandlerTable(nullptr),
+      mSorter(nullptr),
+      mDOE(false),
+      mSearchingForFallback(false),
+      mDisAllowed(0),
+      mObserver(aObserver),
+      mEmbedStatus(eNoEmbed),
+      mDoneWithThisStylesheet(false),
+      mNextInstrPtr(nullptr),
+      mToplevelIterator(nullptr)
 {
-  // Embedded stylesheets have another handler, which is set in
-  // txStylesheetCompiler::init if the baseURI has a fragment identifier.
-  mHandlerTable = gTxRootHandler;
+    // Embedded stylesheets have another handler, which is set in
+    // txStylesheetCompiler::init if the baseURI has a fragment identifier.
+    mHandlerTable = gTxRootHandler;
+
 }
 
 nsresult
 txStylesheetCompilerState::init(const nsAString& aStylesheetURI,
                                 ReferrerPolicy aReferrerPolicy,
                                 txStylesheet* aStylesheet,
                                 txListIterator* aInsertPosition)
 {
--- a/dom/xul/nsXULContentSink.h
+++ b/dom/xul/nsXULContentSink.h
@@ -107,22 +107,17 @@ protected:
     class ContextStack {
     protected:
         struct Entry {
             RefPtr<nsXULPrototypeNode> mNode;
             // a LOT of nodes have children; preallocate for 8
             nsPrototypeArray    mChildren;
             State               mState;
             Entry*              mNext;
-            Entry()
-              : mChildren(8)
-              , mState{ static_cast<State>(0) }
-              , mNext{ nullptr }
-            {
-            }
+            Entry() : mChildren(8) {}
         };
 
         Entry* mTop;
         int32_t mDepth;
 
     public:
         ContextStack();
         ~ContextStack();
--- a/dom/xul/nsXULSortService.h
+++ b/dom/xul/nsXULSortService.h
@@ -34,22 +34,18 @@ struct nsSortState
   MOZ_INIT_OUTSIDE_CTOR nsSortState_direction direction;
   nsAutoString sort;
   nsTArray<RefPtr<nsAtom>> sortKeys;
 
   nsCOMPtr<nsIContent> lastContainer;
   MOZ_INIT_OUTSIDE_CTOR bool lastWasFirst, lastWasLast;
 
   nsSortState()
-    : initialized(false)
-    , invertSort{ false }
-    , sortHints(0)
-    /* FIXME: initialize direction */
-    , lastWasFirst{ false }
-    , lastWasLast{ false }
+    : initialized(false),
+      sortHints(0)
   {
   }
   void Traverse(nsCycleCollectionTraversalCallback &cb) const
   {
     cb.NoteXPCOMChild(lastContainer);
   }
 };
 
--- a/editor/libeditor/SelectionState.cpp
+++ b/editor/libeditor/SelectionState.cpp
@@ -634,18 +634,16 @@ RangeUpdater::DidMoveNode(nsINode* aOldP
 
 /******************************************************************************
  * mozilla::RangeItem
  *
  * Helper struct for SelectionState.  This stores range endpoints.
  ******************************************************************************/
 
 RangeItem::RangeItem()
-  : mStartOffset{}
-  , mEndOffset{}
 {
 }
 
 RangeItem::~RangeItem()
 {
 }
 
 NS_IMPL_CYCLE_COLLECTION(RangeItem, mStartContainer, mEndContainer)
--- a/editor/spellchecker/nsFilteredContentIterator.h
+++ b/editor/spellchecker/nsFilteredContentIterator.h
@@ -44,21 +44,17 @@ public:
   virtual bool IsDone() override;
   virtual nsresult PositionAt(nsINode* aCurNode) override;
 
   /* Helpers */
   bool DidSkip()      { return mDidSkip; }
   void         ClearDidSkip() {  mDidSkip = false; }
 
 protected:
-  nsFilteredContentIterator()
-    : mDidSkip(false)
-    , mIsOutOfRange(false) /* FIXME: initialize mDirection */
-  {
-  }
+  nsFilteredContentIterator() : mDidSkip(false), mIsOutOfRange(false) { }
 
   virtual ~nsFilteredContentIterator();
 
   /**
    * Callers must guarantee that mRange isn't nullptr and it's positioned.
    */
   nsresult InitWithRange();
 
--- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -9,21 +9,18 @@
 #include "prenv.h"
 #include "plbase64.h"
 #include "prerror.h"
 #include "mozilla/Telemetry.h"
 
 #include <stdlib.h>
 
 nsAuthSambaNTLM::nsAuthSambaNTLM()
-  : mInitialMessage(nullptr)
-  , mInitialMessageLen{}
-  , mChildPID(nullptr)
-  , mFromChildFD(nullptr)
-  , mToChildFD(nullptr)
+    : mInitialMessage(nullptr), mChildPID(nullptr), mFromChildFD(nullptr),
+      mToChildFD(nullptr)
 {
 }
 
 nsAuthSambaNTLM::~nsAuthSambaNTLM()
 {
     // ntlm_auth reads from stdin regularly so closing our file handles
     // should cause it to exit.
     Shutdown();
--- a/extensions/auth/nsHttpNegotiateAuth.cpp
+++ b/extensions/auth/nsHttpNegotiateAuth.cpp
@@ -247,21 +247,19 @@ class GetNextTokenCompleteEvent final : 
             free(mCreds);
         }
     };
 
 public:
     NS_DECL_THREADSAFE_ISUPPORTS
 
     explicit GetNextTokenCompleteEvent(nsIHttpAuthenticatorCallback* aCallback)
-      : mCallback(aCallback)
-      , mCreds(nullptr)
-      , mFlags{}
-      , mResult{ NS_ERROR_NOT_INITIALIZED }
-      , mCancelled(false)
+        : mCallback(aCallback)
+        , mCreds(nullptr)
+        , mCancelled(false)
     {
     }
 
     NS_IMETHODIMP DispatchSuccess(char *aCreds,
                                   uint32_t aFlags,
                                   already_AddRefed<nsISupports> aSessionState,
                                   already_AddRefed<nsISupports> aContinuationState)
     {
--- a/extensions/pref/autoconfig/src/nsAutoConfig.cpp
+++ b/extensions/pref/autoconfig/src/nsAutoConfig.cpp
@@ -37,17 +37,16 @@ extern nsresult EvaluateAdminConfigScrip
 
 // nsISupports Implementation
 
 NS_IMPL_ISUPPORTS(nsAutoConfig, nsIAutoConfig, nsITimerCallback, nsIStreamListener,
                   nsIObserver, nsIRequestObserver, nsISupportsWeakReference,
                   nsINamed)
 
 nsAutoConfig::nsAutoConfig()
-  : mLoaded{ false }
 {
 }
 
 nsresult nsAutoConfig::Init()
 {
     // member initializers and constructor code
 
     nsresult rv;
--- a/extensions/spellcheck/src/mozInlineSpellChecker.cpp
+++ b/extensions/spellcheck/src/mozInlineSpellChecker.cpp
@@ -99,21 +99,17 @@ static bool ContentIsDescendantOf(nsINod
                                     nsINode* aPossibleAncestor);
 
 static const char kMaxSpellCheckSelectionSize[] =
   "extensions.spellcheck.inline.max-misspellings";
 static const PRTime kMaxSpellCheckTimeInUsec =
   INLINESPELL_CHECK_TIMEOUT * PR_USEC_PER_MSEC;
 
 mozInlineSpellStatus::mozInlineSpellStatus(mozInlineSpellChecker* aSpellChecker)
-  : mSpellChecker(aSpellChecker)
-  , mWordCount(0)
-  , mOp{ static_cast<Operation>(0) }
-  , mForceNavigationWordCheck{ false }
-  , mNewNavigationPositionOffset{}
+    : mSpellChecker(aSpellChecker), mWordCount(0)
 {
 }
 
 // mozInlineSpellStatus::InitForEditorChange
 //
 //    This is the most complicated case. For changes, we need to compute the
 //    range of stuff that changed based on the old and new caret positions,
 //    as well as use a range possibly provided by the editor (start and end,
@@ -551,26 +547,25 @@ NS_IMPL_CYCLE_COLLECTION(mozInlineSpellC
                          mTextEditor,
                          mSpellCheck,
                          mCurrentSelectionAnchorNode)
 
 mozInlineSpellChecker::SpellCheckingState
   mozInlineSpellChecker::gCanEnableSpellChecking =
   mozInlineSpellChecker::SpellCheck_Uninitialized;
 
-mozInlineSpellChecker::mozInlineSpellChecker()
-  : mNumWordsInSpellSelection(0)
-  , mMaxNumWordsInSpellSelection(250)
-  , mCurrentSelectionOffset{}
-  , mNumPendingSpellChecks(0)
-  , mNumPendingUpdateCurrentDictionary(0)
-  , mDisabledAsyncToken(0)
-  , mNeedsCheckAfterNavigation(false)
-  , mFullSpellCheckScheduled(false)
-  , mIsListeningToEditActions(false)
+mozInlineSpellChecker::mozInlineSpellChecker() :
+    mNumWordsInSpellSelection(0),
+    mMaxNumWordsInSpellSelection(250),
+    mNumPendingSpellChecks(0),
+    mNumPendingUpdateCurrentDictionary(0),
+    mDisabledAsyncToken(0),
+    mNeedsCheckAfterNavigation(false),
+    mFullSpellCheckScheduled(false),
+    mIsListeningToEditActions(false)
 {
   nsCOMPtr<nsIPrefBranch> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID);
   if (prefs)
     prefs->GetIntPref(kMaxSpellCheckSelectionSize, &mMaxNumWordsInSpellSelection);
   mMaxMisspellingsPerCheck = mMaxNumWordsInSpellSelection * 3 / 4;
 }
 
 mozInlineSpellChecker::~mozInlineSpellChecker()
--- a/extensions/spellcheck/src/mozSpellChecker.cpp
+++ b/extensions/spellcheck/src/mozSpellChecker.cpp
@@ -33,18 +33,17 @@ NS_INTERFACE_MAP_BEGIN(mozSpellChecker)
   NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(mozSpellChecker)
 NS_INTERFACE_MAP_END
 
 NS_IMPL_CYCLE_COLLECTION(mozSpellChecker,
                          mTextServicesDocument,
                          mPersonalDictionary)
 
 mozSpellChecker::mozSpellChecker()
-  : mFromStart{ false }
-  , mEngine(nullptr)
+  : mEngine(nullptr)
 {
 }
 
 mozSpellChecker::~mozSpellChecker()
 {
   if (mPersonalDictionary) {
     //    mPersonalDictionary->Save();
     mPersonalDictionary->EndSession();
--- a/extensions/universalchardet/src/base/CharDistribution.h
+++ b/extensions/universalchardet/src/base/CharDistribution.h
@@ -8,23 +8,17 @@
 
 #include "nscore.h"
 
 #define ENOUGH_DATA_THRESHOLD 1024
 
 class CharDistributionAnalysis
 {
 public:
-  CharDistributionAnalysis()
-    : mCharToFreqOrder{ nullptr }
-    , mTableSize{}
-    , mTypicalDistributionRatio{ 0.0 }
-  {
-    Reset();
-  }
+  CharDistributionAnalysis() {Reset();}
 
   //feed a block of data and do distribution analysis
   void HandleData(const char* aBuf, uint32_t aLen) {}
 
   //Feed a character with known length
   void HandleOneChar(const char* aStr, uint32_t aCharLen)
   {
     int32_t order;
--- a/extensions/universalchardet/src/base/nsCodingStateMachine.h
+++ b/extensions/universalchardet/src/base/nsCodingStateMachine.h
@@ -28,23 +28,17 @@ typedef struct
 #ifdef DEBUG
   const size_t charLenTableLength;
 #endif
   const char* name;
 } SMModel;
 
 class nsCodingStateMachine {
 public:
-  explicit nsCodingStateMachine(const SMModel* sm)
-    : mCurrentCharLen{}
-    , mCurrentBytePos{}
-    , mModel(sm)
-  {
-    mCurrentState = eStart;
-  }
+  explicit nsCodingStateMachine(const SMModel* sm) : mModel(sm) { mCurrentState = eStart; }
   uint32_t NextState(char c){
     //for each byte we get its class , if it is first byte, we also get byte length
     uint32_t byteCls = GETCLASS(c);
     if (mCurrentState == eStart)
     {
       mCurrentBytePos = 0;
       MOZ_ASSERT(byteCls < mModel->charLenTableLength);
       mCurrentCharLen = mModel->charLenTable[byteCls];
--- a/extensions/universalchardet/src/base/nsUniversalDetector.cpp
+++ b/extensions/universalchardet/src/base/nsUniversalDetector.cpp
@@ -7,17 +7,16 @@
 
 #include "nsUniversalDetector.h"
 
 #include "nsMBCSGroupProber.h"
 #include "nsEscCharsetProber.h"
 #include "nsLatin1Prober.h"
 
 nsUniversalDetector::nsUniversalDetector()
-  : mLanguageFilter{}
 {
   mDone = false;
   mBestGuess = -1;   //illegal value as signal
   mInTag = false;
   mEscCharSetProber = nullptr;
 
   mStart = true;
   mDetectedCharset = nullptr;
--- a/extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.cpp
+++ b/extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.cpp
@@ -87,19 +87,18 @@ void nsXPCOMDetector::Report(const char*
 #ifdef DEBUG_chardet
   printf("Universal Charset Detector report charset %s . \r\n", aCharset);
 #endif
   mObserver->Notify(aCharset, eBestAnswer);
 }
 
 
 //---------------------------------------------------------------------
-nsXPCOMStringDetector::nsXPCOMStringDetector()
+nsXPCOMStringDetector:: nsXPCOMStringDetector()
   : nsUniversalDetector()
-  , mResult{ nullptr }
 {
 }
 //---------------------------------------------------------------------
 nsXPCOMStringDetector::~nsXPCOMStringDetector()
 {
 }
 //---------------------------------------------------------------------
 NS_IMPL_ISUPPORTS(nsXPCOMStringDetector, nsIStringCharsetDetector)
--- a/gfx/2d/2D.h
+++ b/gfx/2d/2D.h
@@ -915,22 +915,17 @@ class DrawTargetCapture;
  * factory and accepts drawing commands. The results of drawing to a target
  * may be used either through a Snapshot or by flushing the target and directly
  * accessing the backing store a DrawTarget was created with.
  */
 class DrawTarget : public external::AtomicRefCounted<DrawTarget>
 {
 public:
   MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(DrawTarget)
-  DrawTarget()
-    : mTransformDirty(false)
-    , mPermitSubpixelAA(false)
-    , mFormat{ SurfaceFormat::UNKNOWN }
-  {
-  }
+  DrawTarget() : mTransformDirty(false), mPermitSubpixelAA(false) {}
   virtual ~DrawTarget() {}
 
   virtual bool IsValid() const { return true; };
   virtual DrawTargetType GetType() const = 0;
 
   virtual BackendType GetBackendType() const = 0;
 
   virtual bool IsRecording() const { return false; }
--- a/gfx/2d/Blur.cpp
+++ b/gfx/2d/Blur.cpp
@@ -434,26 +434,23 @@ AlphaBoxBlur::RoundUpToMultipleOf4(int32
   return val;
 }
 
 AlphaBoxBlur::AlphaBoxBlur(const Rect& aRect,
                            const IntSize& aSpreadRadius,
                            const IntSize& aBlurRadius,
                            const Rect* aDirtyRect,
                            const Rect* aSkipRect)
-  : mStride{}
-  , mSurfaceAllocationSize(0)
+  : mSurfaceAllocationSize(0)
 {
   Init(aRect, aSpreadRadius, aBlurRadius, aDirtyRect, aSkipRect);
 }
 
 AlphaBoxBlur::AlphaBoxBlur()
-  : mStride{}
-  , mSurfaceAllocationSize(0)
-  , mHasDirtyRect{ false }
+  : mSurfaceAllocationSize(0)
 {
 }
 
 void
 AlphaBoxBlur::Init(const Rect& aRect,
                    const IntSize& aSpreadRadius,
                    const IntSize& aBlurRadius,
                    const Rect* aDirtyRect,
@@ -511,22 +508,21 @@ AlphaBoxBlur::Init(const Rect& aRect,
     }
   }
 }
 
 AlphaBoxBlur::AlphaBoxBlur(const Rect& aRect,
                            int32_t aStride,
                            float aSigmaX,
                            float aSigmaY)
-  : mRect(TruncatedToInt(aRect))
-  , mSpreadRadius()
-  , mBlurRadius(CalculateBlurRadius(Point(aSigmaX, aSigmaY)))
-  , mStride(aStride)
-  , mSurfaceAllocationSize(0)
-  , mHasDirtyRect{ false }
+  : mRect(TruncatedToInt(aRect)),
+    mSpreadRadius(),
+    mBlurRadius(CalculateBlurRadius(Point(aSigmaX, aSigmaY))),
+    mStride(aStride),
+    mSurfaceAllocationSize(0)
 {
   IntRect intRect;
   if (aRect.ToIntRect(&intRect)) {
     size_t minDataSize = BufferSizeFromStrideAndHeight(intRect.Width(), intRect.Height());
     if (minDataSize != 0) {
       mSurfaceAllocationSize = minDataSize;
     }
   }
--- a/gfx/2d/DrawTargetCairo.cpp
+++ b/gfx/2d/DrawTargetCairo.cpp
@@ -431,18 +431,16 @@ public:
     , mX(0)
     , mY(0)
   {
     Init(aSurface);
   }
 
   explicit AutoClearDeviceOffset(const Pattern& aPattern)
     : mSurface(nullptr)
-    , mX{ 0.0 }
-    , mY{ 0.0 }
   {
     if (aPattern.GetType() == PatternType::SURFACE) {
       const SurfacePattern& pattern = static_cast<const SurfacePattern&>(aPattern);
       Init(pattern.mSurface);
     }
   }
 
   ~AutoClearDeviceOffset()
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
@@ -271,22 +271,18 @@ GetSkImageForSurface(SourceSurface* aSur
   // Skia doesn't support RGBX surfaces so ensure that the alpha value is opaque white.
   MOZ_ASSERT(VerifyRGBXCorners(surf->GetData(), surf->GetSize(),
                                surf->Stride(), surf->GetFormat(),
                                aBounds, aMatrix));
   return image;
 }
 
 DrawTargetSkia::DrawTargetSkia()
-  : mCanvas{ nullptr }
-  , mSnapshot(nullptr)
-  , mSnapshotLock
-{
-  "DrawTargetSkia::mSnapshotLock"
-}
+  : mSnapshot(nullptr)
+  , mSnapshotLock{"DrawTargetSkia::mSnapshotLock"}
 #ifdef MOZ_WIDGET_COCOA
   , mCG(nullptr)
   , mColorSpace(nullptr)
   , mCanvasData(nullptr)
   , mCGSize(0, 0)
   , mNeedLayer(false)
 #endif
 {
--- a/gfx/2d/FilterNodeSoftware.cpp
+++ b/gfx/2d/FilterNodeSoftware.cpp
@@ -2075,30 +2075,25 @@ FilterNodeLinearTransferSoftware::FillLo
     int32_t val = NS_lround(aSlope * i + 255 * aIntercept);
     val = std::min(255, val);
     val = std::max(0, val);
     aTable[i] = val;
   }
 }
 
 FilterNodeGammaTransferSoftware::FilterNodeGammaTransferSoftware()
-  : mAmplitudeR(0)
-  , mAmplitudeG(0)
-  , mAmplitudeB(0)
-  , mAmplitudeA(0)
-  , mExponentR(0)
-  , mExponentG(0)
-  , mExponentB(0)
-  , mExponentA(0)
-  , mOffsetR{ 0.0 }
-  , mOffsetG{ 0.0 }
-  , mOffsetB{ 0.0 }
-  , mOffsetA{ 0.0 }
-{
-}
+ : mAmplitudeR(0)
+ , mAmplitudeG(0)
+ , mAmplitudeB(0)
+ , mAmplitudeA(0)
+ , mExponentR(0)
+ , mExponentG(0)
+ , mExponentB(0)
+ , mExponentA(0)
+{}
 
 void
 FilterNodeGammaTransferSoftware::SetAttribute(uint32_t aIndex,
                                               Float aValue)
 {
   switch (aIndex) {
     case ATT_GAMMA_TRANSFER_AMPLITUDE_R:
       mAmplitudeR = aValue;
@@ -3075,18 +3070,17 @@ FilterNodeGaussianBlurSoftware::SetAttri
 
 Size
 FilterNodeGaussianBlurSoftware::StdDeviationXY()
 {
   return Size(mStdDeviation, mStdDeviation);
 }
 
 FilterNodeDirectionalBlurSoftware::FilterNodeDirectionalBlurSoftware()
-  : mStdDeviation{ 0.0 }
-  , mBlurDirection(BLUR_DIRECTION_X)
+ : mBlurDirection(BLUR_DIRECTION_X)
 {}
 
 void
 FilterNodeDirectionalBlurSoftware::SetAttribute(uint32_t aIndex,
                                                 Float aStdDeviation)
 {
   switch (aIndex) {
     case ATT_DIRECTIONAL_BLUR_STD_DEVIATION:
--- a/gfx/2d/ImageScaling.h
+++ b/gfx/2d/ImageScaling.h
@@ -13,23 +13,19 @@
 #include "Point.h"
 
 namespace mozilla {
 namespace gfx {
 
 class ImageHalfScaler
 {
 public:
-  ImageHalfScaler(uint8_t* aData, int32_t aStride, const IntSize& aSize)
-    : mOrigData(aData)
-    , mOrigStride(aStride)
-    , mOrigSize(aSize)
+  ImageHalfScaler(uint8_t *aData, int32_t aStride, const IntSize &aSize)
+    : mOrigData(aData), mOrigStride(aStride), mOrigSize(aSize)
     , mDataStorage(nullptr)
-    , mData{ nullptr }
-    , mStride{}
   {
   }
 
   ~ImageHalfScaler()
   {
     delete [] mDataStorage;
   }
 
--- a/gfx/2d/JobScheduler_posix.cpp
+++ b/gfx/2d/JobScheduler_posix.cpp
@@ -12,17 +12,17 @@ using namespace std;
 namespace mozilla {
 namespace gfx {
 
 void* ThreadCallback(void* threadData);
 
 class WorkerThreadPosix : public WorkerThread {
 public:
   explicit WorkerThreadPosix(MultiThreadedJobQueue* aJobQueue)
-    : WorkerThread(aJobQueue)
+  : WorkerThread(aJobQueue)
   {
     pthread_create(&mThread, nullptr, ThreadCallback, static_cast<WorkerThread*>(this));
   }
 
   ~WorkerThreadPosix() override
   {
     pthread_join(mThread, nullptr);
   }
--- a/gfx/2d/Logging.h
+++ b/gfx/2d/Logging.h
@@ -196,19 +196,19 @@ struct BasicLogger
   }
 };
 
 struct CriticalLogger {
   static void OutputMessage(const std::string &aString, int aLevel, bool aNoNewline);
   static void CrashAction(LogReason aReason);
 };
 
-// The int is the index of the Log call; if the number of logs exceeds some
-// preset capacity we may not get all of them, so the indices help figure out
-// which ones we did save.  The double is expected to be the "TimeDuration",
+// The int is the index of the Log call; if the number of logs exceeds some preset
+// capacity we may not get all of them, so the indices help figure out which
+// ones we did save.  The double is expected to be the "TimeDuration", 
 // time in seconds since the process creation.
 typedef mozilla::Tuple<int32_t,std::string,double> LoggingRecordEntry;
 
 // Implement this interface and init the Factory with an instance to
 // forward critical logs.
 typedef std::vector<LoggingRecordEntry> LoggingRecord;
 class LogForwarder {
 public:
@@ -261,19 +261,18 @@ public:
   }
 
   // Note that we're calling BasicLogger::ShouldOutputMessage, rather than
   // Logger::ShouldOutputMessage.  Since we currently don't have a different
   // version of that method for different loggers, this is OK. Once we do,
   // change BasicLogger::ShouldOutputMessage to Logger::ShouldOutputMessage.
   explicit Log(int aOptions = Log::DefaultOptions(L == LOG_CRITICAL),
                LogReason aReason = LogReason::MustBeMoreThanThis)
-    : mOptions(0)
-    , mReason{ aReason }
-    , mLogIt(false)
+  : mOptions(0)
+  , mLogIt(false)
   {
     Init(aOptions, BasicLogger::ShouldOutputMessage(L), aReason);
   }
 
   ~Log() {
     Flush();
   }
 
@@ -288,18 +287,17 @@ public:
   }
 
   Log &operator <<(char aChar) {
     if (MOZ_UNLIKELY(LogIt())) {
       mMessage << aChar;
     }
     return *this;
   }
-  Log& operator<<(const std::string& aLogText)
-  {
+  Log &operator <<(const std::string &aLogText) { 
     if (MOZ_UNLIKELY(LogIt())) {
       mMessage << aLogText;
     }
     return *this;
   }
   Log &operator <<(const char aStr[]) {
     if (MOZ_UNLIKELY(LogIt())) {
       mMessage << static_cast<const char*>(aStr);
--- a/gfx/2d/Matrix.h
+++ b/gfx/2d/Matrix.h
@@ -1873,21 +1873,25 @@ public:
   {}
 
   Matrix4x4TypedFlagged(Float a11, Float a12, Float a13, Float a14,
                         Float a21, Float a22, Float a23, Float a24,
                         Float a31, Float a32, Float a33, Float a34,
                         Float a41, Float a42, Float a43, Float a44)
     : Parent(a11, a12, a13, a14, a21, a22, a23, a24,
              a31, a32, a33, a34, a41, a42, a43, a44)
-  /* FIXME: initialize mType */ { Analyze(); }
+  {
+    Analyze();
+  }
 
   MOZ_IMPLICIT Matrix4x4TypedFlagged(const Parent& aOther)
     : Parent(aOther)
-  /* FIXME: initialize mType */ { Analyze(); }
+  {
+    Analyze();
+  }
 
   template<class F>
   PointTyped<TargetUnits, F> TransformPoint(const PointTyped<SourceUnits, F> &aPoint) const
   {
     if (mType == MatrixType::Identity) {
       return aPoint;
     }
 
--- a/gfx/2d/RecordedEventImpl.h
+++ b/gfx/2d/RecordedEventImpl.h
@@ -90,21 +90,18 @@ private:
 
   template<class S>
   MOZ_IMPLICIT RecordedDrawTargetCreation(S &aStream);
 };
 
 class RecordedDrawTargetDestruction : public RecordedEventDerived<RecordedDrawTargetDestruction> {
 public:
   MOZ_IMPLICIT RecordedDrawTargetDestruction(ReferencePtr aRefPtr)
-    : RecordedEventDerived(DRAWTARGETDESTRUCTION)
-    , mRefPtr(aRefPtr)
-    , mBackendType{ BackendType::NONE }
-  {
-  }
+    : RecordedEventDerived(DRAWTARGETDESTRUCTION), mRefPtr(aRefPtr)
+  {}
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S>
   void Record(S &aStream) const;
   virtual void OutputSimpleEventInfo(std::stringstream &aStringStream) const override;
 
   virtual std::string GetName() const override { return "DrawTarget Destruction"; }
@@ -178,24 +175,18 @@ private:
   friend class RecordedEvent;
 
   template<class S>
   MOZ_IMPLICIT RecordedCreateClippedDrawTarget(S &aStream);
 };
 
 class RecordedFillRect : public RecordedDrawingEvent<RecordedFillRect> {
 public:
-  RecordedFillRect(DrawTarget* aDT,
-                   const Rect& aRect,
-                   const Pattern& aPattern,
-                   const DrawOptions& aOptions)
-    : RecordedDrawingEvent(FILLRECT, aDT)
-    , mRect(aRect)
-    , mPattern{}
-    , mOptions(aOptions)
+  RecordedFillRect(DrawTarget *aDT, const Rect &aRect, const Pattern &aPattern, const DrawOptions &aOptions)
+    : RecordedDrawingEvent(FILLRECT, aDT), mRect(aRect), mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S>
   void Record(S &aStream) const;
@@ -211,26 +202,20 @@ private:
 
   Rect mRect;
   PatternStorage mPattern;
   DrawOptions mOptions;
 };
 
 class RecordedStrokeRect : public RecordedDrawingEvent<RecordedStrokeRect> {
 public:
-  RecordedStrokeRect(DrawTarget* aDT,
-                     const Rect& aRect,
-                     const Pattern& aPattern,
-                     const StrokeOptions& aStrokeOptions,
-                     const DrawOptions& aOptions)
-    : RecordedDrawingEvent(STROKERECT, aDT)
-    , mRect(aRect)
-    , mPattern{}
-    , mStrokeOptions(aStrokeOptions)
-    , mOptions(aOptions)
+  RecordedStrokeRect(DrawTarget *aDT, const Rect &aRect, const Pattern &aPattern,
+                     const StrokeOptions &aStrokeOptions, const DrawOptions &aOptions)
+    : RecordedDrawingEvent(STROKERECT, aDT), mRect(aRect),
+      mStrokeOptions(aStrokeOptions), mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S>
   void Record(S &aStream) const;
@@ -247,28 +232,21 @@ private:
   Rect mRect;
   PatternStorage mPattern;
   StrokeOptions mStrokeOptions;
   DrawOptions mOptions;
 };
 
 class RecordedStrokeLine : public RecordedDrawingEvent<RecordedStrokeLine> {
 public:
-  RecordedStrokeLine(DrawTarget* aDT,
-                     const Point& aBegin,
-                     const Point& aEnd,
-                     const Pattern& aPattern,
-                     const StrokeOptions& aStrokeOptions,
-                     const DrawOptions& aOptions)
-    : RecordedDrawingEvent(STROKELINE, aDT)
-    , mBegin(aBegin)
-    , mEnd(aEnd)
-    , mPattern{}
-    , mStrokeOptions(aStrokeOptions)
-    , mOptions(aOptions)
+  RecordedStrokeLine(DrawTarget *aDT, const Point &aBegin, const Point &aEnd,
+                     const Pattern &aPattern, const StrokeOptions &aStrokeOptions,
+                     const DrawOptions &aOptions)
+    : RecordedDrawingEvent(STROKELINE, aDT), mBegin(aBegin), mEnd(aEnd),
+      mStrokeOptions(aStrokeOptions), mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S>
   void Record(S &aStream) const;
@@ -286,24 +264,18 @@ private:
   Point mEnd;
   PatternStorage mPattern;
   StrokeOptions mStrokeOptions;
   DrawOptions mOptions;
 };
 
 class RecordedFill : public RecordedDrawingEvent<RecordedFill> {
 public:
-  RecordedFill(DrawTarget* aDT,
-               ReferencePtr aPath,
-               const Pattern& aPattern,
-               const DrawOptions& aOptions)
-    : RecordedDrawingEvent(FILL, aDT)
-    , mPath(aPath)
-    , mPattern{}
-    , mOptions(aOptions)
+  RecordedFill(DrawTarget *aDT, ReferencePtr aPath, const Pattern &aPattern, const DrawOptions &aOptions)
+    : RecordedDrawingEvent(FILL, aDT), mPath(aPath), mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S> void Record(S &aStream) const;
   virtual void OutputSimpleEventInfo(std::stringstream &aStringStream) const override;
@@ -318,26 +290,19 @@ private:
 
   ReferencePtr mPath;
   PatternStorage mPattern;
   DrawOptions mOptions;
 };
 
 class RecordedFillGlyphs : public RecordedDrawingEvent<RecordedFillGlyphs> {
 public:
-  RecordedFillGlyphs(DrawTarget* aDT,
-                     ReferencePtr aScaledFont,
-                     const Pattern& aPattern,
-                     const DrawOptions& aOptions,
-                     const Glyph* aGlyphs,
-                     uint32_t aNumGlyphs)
-    : RecordedDrawingEvent(FILLGLYPHS, aDT)
-    , mScaledFont(aScaledFont)
-    , mPattern{}
-    , mOptions(aOptions)
+  RecordedFillGlyphs(DrawTarget *aDT, ReferencePtr aScaledFont, const Pattern &aPattern, const DrawOptions &aOptions,
+                     const Glyph *aGlyphs, uint32_t aNumGlyphs)
+    : RecordedDrawingEvent(FILLGLYPHS, aDT), mScaledFont(aScaledFont), mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
     mNumGlyphs = aNumGlyphs;
     mGlyphs = new Glyph[aNumGlyphs];
     memcpy(mGlyphs, aGlyphs, sizeof(Glyph) * aNumGlyphs);
   }
   virtual ~RecordedFillGlyphs();
 
@@ -358,24 +323,18 @@ private:
   PatternStorage mPattern;
   DrawOptions mOptions;
   Glyph *mGlyphs;
   uint32_t mNumGlyphs;
 };
 
 class RecordedMask : public RecordedDrawingEvent<RecordedMask> {
 public:
-  RecordedMask(DrawTarget* aDT,
-               const Pattern& aSource,
-               const Pattern& aMask,
-               const DrawOptions& aOptions)
-    : RecordedDrawingEvent(MASK, aDT)
-    , mSource{}
-    , mMask{}
-    , mOptions(aOptions)
+  RecordedMask(DrawTarget *aDT, const Pattern &aSource, const Pattern &aMask, const DrawOptions &aOptions)
+    : RecordedDrawingEvent(MASK, aDT), mOptions(aOptions)
   {
     StorePattern(mSource, aSource);
     StorePattern(mMask, aMask);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S> void Record(S &aStream) const;
@@ -391,26 +350,20 @@ private:
 
   PatternStorage mSource;
   PatternStorage mMask;
   DrawOptions mOptions;
 };
 
 class RecordedStroke : public RecordedDrawingEvent<RecordedStroke> {
 public:
-  RecordedStroke(DrawTarget* aDT,
-                 ReferencePtr aPath,
-                 const Pattern& aPattern,
-                 const StrokeOptions& aStrokeOptions,
-                 const DrawOptions& aOptions)
-    : RecordedDrawingEvent(STROKE, aDT)
-    , mPath(aPath)
-    , mPattern{}
-    , mStrokeOptions(aStrokeOptions)
-    , mOptions(aOptions)
+  RecordedStroke(DrawTarget *aDT, ReferencePtr aPath, const Pattern &aPattern,
+                     const StrokeOptions &aStrokeOptions, const DrawOptions &aOptions)
+    : RecordedDrawingEvent(STROKE, aDT), mPath(aPath),
+      mStrokeOptions(aStrokeOptions), mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S> void Record(S &aStream) const;
   virtual void OutputSimpleEventInfo(std::stringstream &aStringStream) const override;
@@ -1018,21 +971,20 @@ public:
 
   static void FontDataProc(const uint8_t *aData, uint32_t aSize,
                            uint32_t aIndex, void* aBaton)
   {
     auto recordedFontData = static_cast<RecordedFontData*>(aBaton);
     recordedFontData->SetFontData(aData, aSize, aIndex);
   }
 
-  explicit RecordedFontData(UnscaledFont* aUnscaledFont)
+  explicit RecordedFontData(UnscaledFont *aUnscaledFont)
     : RecordedEventDerived(FONTDATA)
     , mType(aUnscaledFont->GetType())
     , mData(nullptr)
-    , mFontDetails{}
   {
     mGetFontFileDataSucceeded = aUnscaledFont->GetFontFileData(&FontDataProc, this) && mData;
   }
 
   ~RecordedFontData();
 
   bool IsValid() const { return mGetFontFileDataSucceeded; }
 
@@ -1282,25 +1234,19 @@ private:
   ReferencePtr mRefPtr;
 
   template<class S>
   MOZ_IMPLICIT RecordedScaledFontDestruction(S &aStream);
 };
 
 class RecordedMaskSurface : public RecordedDrawingEvent<RecordedMaskSurface> {
 public:
-  RecordedMaskSurface(DrawTarget* aDT,
-                      const Pattern& aPattern,
-                      ReferencePtr aRefMask,
-                      const Point& aOffset,
-                      const DrawOptions& aOptions)
-    : RecordedDrawingEvent(MASKSURFACE, aDT)
-    , mPattern{}
-    , mRefMask(aRefMask)
-    , mOffset(aOffset)
+  RecordedMaskSurface(DrawTarget *aDT, const Pattern &aPattern, ReferencePtr aRefMask,
+                      const Point &aOffset, const DrawOptions &aOptions)
+    : RecordedDrawingEvent(MASKSURFACE, aDT), mRefMask(aRefMask), mOffset(aOffset)
     , mOptions(aOptions)
   {
     StorePattern(mPattern, aPattern);
   }
 
   virtual bool PlayEvent(Translator *aTranslator) const override;
 
   template<class S> void Record(S &aStream) const;
--- a/gfx/2d/SVGTurbulenceRenderer-inl.h
+++ b/gfx/2d/SVGTurbulenceRenderer-inl.h
@@ -91,31 +91,21 @@ private:
     return result;
   }
 
   int32_t mLast;
 };
 
 } // unnamed namespace
 
-template<TurbulenceType Type,
-         bool Stitch,
-         typename f32x4_t,
-         typename i32x4_t,
-         typename u8x16_t>
-SVGTurbulenceRenderer<Type, Stitch, f32x4_t, i32x4_t, u8x16_t>::
-  SVGTurbulenceRenderer(const Size& aBaseFrequency,
-                        int32_t aSeed,
-                        int aNumOctaves,
-                        const Rect& aTileRect)
-  : mBaseFrequency(aBaseFrequency)
-  , mNumOctaves(aNumOctaves)
-  , mStitchInfo{}
-  , mStitchable{ false }
-  , mType{ static_cast<TurbulenceType>(0) }
+template<TurbulenceType Type, bool Stitch, typename f32x4_t, typename i32x4_t, typename u8x16_t>
+SVGTurbulenceRenderer<Type,Stitch,f32x4_t,i32x4_t,u8x16_t>::SVGTurbulenceRenderer(const Size &aBaseFrequency, int32_t aSeed,
+                                                            int aNumOctaves, const Rect &aTileRect)
+ : mBaseFrequency(aBaseFrequency)
+ , mNumOctaves(aNumOctaves)
 {
   InitFromSeed(aSeed);
   if (Stitch) {
     AdjustBaseFrequencyForStitch(aTileRect);
     mStitchInfo = CreateStitchInfo(aTileRect);
   }
 }
 
--- a/gfx/2d/SourceSurfaceSkia.cpp
+++ b/gfx/2d/SourceSurfaceSkia.cpp
@@ -14,19 +14,17 @@
 #include "mozilla/CheckedInt.h"
 
 using namespace std;
 
 namespace mozilla {
 namespace gfx {
 
 SourceSurfaceSkia::SourceSurfaceSkia()
-  : mFormat{ SurfaceFormat::UNKNOWN }
-  , mStride{}
-  , mDrawTarget(nullptr)
+  : mDrawTarget(nullptr)
   , mChangeMutex("SourceSurfaceSkia::mChangeMutex")
 {
 }
 
 SourceSurfaceSkia::~SourceSurfaceSkia()
 {
 }
 
--- a/gfx/2d/Tools.h
+++ b/gfx/2d/Tools.h
@@ -141,23 +141,21 @@ IsOpaqueFormat(SurfaceFormat aFormat) {
 template<typename T, int alignment = 16>
 struct AlignedArray
 {
   typedef T value_type;
 
   AlignedArray()
     : mPtr(nullptr)
     , mStorage(nullptr)
-    , mCount{}
   {
   }
 
   explicit MOZ_ALWAYS_INLINE AlignedArray(size_t aCount, bool aZero = false)
-    : mPtr{ nullptr }
-    , mStorage(nullptr)
+    : mStorage(nullptr)
     , mCount(0)
   {
     Realloc(aCount, aZero);
   }
 
   MOZ_ALWAYS_INLINE ~AlignedArray()
   {
     Dealloc();
--- a/gfx/gl/ForceDiscreteGPUHelperCGL.h
+++ b/gfx/gl/ForceDiscreteGPUHelperCGL.h
@@ -12,26 +12,24 @@
  * 
  * As long as any ForceDiscreteGPUHelperCGL object is alive, we're on the discrete GPU.
  */
 class ForceDiscreteGPUHelperCGL
 {
     CGLPixelFormatObj mPixelFormatObj;
 
 public:
-  ForceDiscreteGPUHelperCGL()
-    : mPixelFormatObj{ nullptr }
-  {
-    // the code in this function is taken from Chromium,
-    // src/ui/gfx/gl/gl_context_cgl.cc, r122013 BSD-style license, (c) The
-    // Chromium Authors
-    CGLPixelFormatAttribute attribs[1];
-    attribs[0] = static_cast<CGLPixelFormatAttribute>(0);
-    GLint num_pixel_formats = 0;
-    CGLChoosePixelFormat(attribs, &mPixelFormatObj, &num_pixel_formats);
+    ForceDiscreteGPUHelperCGL()
+    {
+        // the code in this function is taken from Chromium, src/ui/gfx/gl/gl_context_cgl.cc, r122013
+        // BSD-style license, (c) The Chromium Authors
+        CGLPixelFormatAttribute attribs[1];
+        attribs[0] = static_cast<CGLPixelFormatAttribute>(0);
+        GLint num_pixel_formats = 0;
+        CGLChoosePixelFormat(attribs, &mPixelFormatObj, &num_pixel_formats);
     }
 
     ~ForceDiscreteGPUHelperCGL()
     {
         CGLReleasePixelFormat(mPixelFormatObj);
     }
 };
 
--- a/gfx/gl/GLLibraryEGL.cpp
+++ b/gfx/gl/GLLibraryEGL.cpp
@@ -233,20 +233,19 @@ GetAndInitDisplay(GLLibraryEGL& egl, voi
     if (!egl.fInitialize(display, nullptr, nullptr))
         return EGL_NO_DISPLAY;
 
     return display;
 }
 
 class AngleErrorReporting {
 public:
-  AngleErrorReporting()
-    : mFailureId{ nullptr }
-  {
-    // No static constructor
+    AngleErrorReporting()
+    {
+      // No static constructor
     }
 
     void SetFailureId(nsACString* const aFailureId)
     {
       mFailureId = aFailureId;
     }
 
     void logError(const char *errorMessage)
--- a/gfx/gl/GLTextureImage.cpp
+++ b/gfx/gl/GLTextureImage.cpp
@@ -238,26 +238,25 @@ WantsSmallTiles(GLContext* gl)
     return false;
 }
 
 TiledTextureImage::TiledTextureImage(GLContext* aGL,
                                      gfx::IntSize aSize,
                                      TextureImage::ContentType aContentType,
                                      TextureImage::Flags aFlags,
                                      TextureImage::ImageFormat aImageFormat)
-  : TextureImage(aSize, LOCAL_GL_CLAMP_TO_EDGE, aContentType, aFlags)
-  , mCurrentImage(0)
-  , mIterationCallback(nullptr)
-  , mIterationCallbackData(nullptr)
-  , mTileSize{}
-  , mRows(0)
-  , mColumns(0)
-  , mGL(aGL)
-  , mTextureState(Created)
-  , mImageFormat(aImageFormat)
+    : TextureImage(aSize, LOCAL_GL_CLAMP_TO_EDGE, aContentType, aFlags)
+    , mCurrentImage(0)
+    , mIterationCallback(nullptr)
+    , mIterationCallbackData(nullptr)
+    , mRows(0)
+    , mColumns(0)
+    , mGL(aGL)
+    , mTextureState(Created)
+    , mImageFormat(aImageFormat)
 {
     if (!(aFlags & TextureImage::DisallowBigImage) && WantsSmallTiles(mGL)) {
       mTileSize = 256;
     } else {
       mGL->fGetIntegerv(LOCAL_GL_MAX_TEXTURE_SIZE, (GLint*) &mTileSize);
     }
     if (aSize.width != 0 && aSize.height != 0) {
         Resize(aSize);
--- a/gfx/gl/ScopedGLHelpers.cpp
+++ b/gfx/gl/ScopedGLHelpers.cpp
@@ -93,68 +93,64 @@ ScopedBindFramebuffer::UnwrapImpl()
         mGL->BindReadFB(mOldReadFB);
     }
 }
 
 
 /* ScopedBindTextureUnit ******************************************************/
 
 ScopedBindTextureUnit::ScopedBindTextureUnit(GLContext* aGL, GLenum aTexUnit)
-  : ScopedGLWrapper<ScopedBindTextureUnit>(aGL)
-  , mOldTexUnit{}
+    : ScopedGLWrapper<ScopedBindTextureUnit>(aGL)
 {
-  MOZ_ASSERT(aTexUnit >= LOCAL_GL_TEXTURE0);
-  mGL->GetUIntegerv(LOCAL_GL_ACTIVE_TEXTURE, &mOldTexUnit);
-  mGL->fActiveTexture(aTexUnit);
+    MOZ_ASSERT(aTexUnit >= LOCAL_GL_TEXTURE0);
+    mGL->GetUIntegerv(LOCAL_GL_ACTIVE_TEXTURE, &mOldTexUnit);
+    mGL->fActiveTexture(aTexUnit);
 }
 
 void
 ScopedBindTextureUnit::UnwrapImpl() {
     mGL->fActiveTexture(mOldTexUnit);
 }
 
 
 /* ScopedTexture **************************************************************/
 
 ScopedTexture::ScopedTexture(GLContext* aGL)
-  : ScopedGLWrapper<ScopedTexture>(aGL)
-  , mTexture{}
+    : ScopedGLWrapper<ScopedTexture>(aGL)
 {
-  mGL->fGenTextures(1, &mTexture);
+    mGL->fGenTextures(1, &mTexture);
 }
 
 void
 ScopedTexture::UnwrapImpl()
 {
     mGL->fDeleteTextures(1, &mTexture);
 }
 
 /* ScopedFramebuffer **************************************************************/
 
 ScopedFramebuffer::ScopedFramebuffer(GLContext* aGL)
-  : ScopedGLWrapper<ScopedFramebuffer>(aGL)
-  , mFB{}
+    : ScopedGLWrapper<ScopedFramebuffer>(aGL)
 {
-  mGL->fGenFramebuffers(1, &mFB);
+    mGL->fGenFramebuffers(1, &mFB);
 }
 
 void
 ScopedFramebuffer::UnwrapImpl()
 {
     mGL->fDeleteFramebuffers(1, &mFB);
 }
 
 
 /* ScopedRenderbuffer **************************************************************/
 
 ScopedRenderbuffer::ScopedRenderbuffer(GLContext* aGL)
-  : ScopedGLWrapper<ScopedRenderbuffer>(aGL)
-  , mRB{}
+    : ScopedGLWrapper<ScopedRenderbuffer>(aGL)
 {
-  mGL->fGenRenderbuffers(1, &mRB);
+    mGL->fGenRenderbuffers(1, &mRB);
 }
 
 void
 ScopedRenderbuffer::UnwrapImpl()
 {
     mGL->fDeleteRenderbuffers(1, &mRB);
 }
 
@@ -361,45 +357,29 @@ void ScopedScissorRect::UnwrapImpl()
 ScopedVertexAttribPointer::ScopedVertexAttribPointer(GLContext* aGL,
                                                      GLuint index,
                                                      GLint size,
                                                      GLenum type,
                                                      realGLboolean normalized,
                                                      GLsizei stride,
                                                      GLuint buffer,
                                                      const GLvoid* pointer)
-  : ScopedGLWrapper<ScopedVertexAttribPointer>(aGL)
-  , mAttribEnabled{}
-  , mAttribSize{}
-  , mAttribStride{}
-  , mAttribType{}
-  , mAttribNormalized{}
-  , mAttribBufferBinding{}
-  , mAttribPointer{ nullptr }
-  , mBoundBuffer{}
+    : ScopedGLWrapper<ScopedVertexAttribPointer>(aGL)
 {
-  WrapImpl(index);
-  mGL->fBindBuffer(LOCAL_GL_ARRAY_BUFFER, buffer);
-  mGL->fVertexAttribPointer(index, size, type, normalized, stride, pointer);
-  mGL->fEnableVertexAttribArray(index);
+    WrapImpl(index);
+    mGL->fBindBuffer(LOCAL_GL_ARRAY_BUFFER, buffer);
+    mGL->fVertexAttribPointer(index, size, type, normalized, stride, pointer);
+    mGL->fEnableVertexAttribArray(index);
 }
 
 ScopedVertexAttribPointer::ScopedVertexAttribPointer(GLContext* aGL,
                                                      GLuint index)
-  : ScopedGLWrapper<ScopedVertexAttribPointer>(aGL)
-  , mAttribEnabled{}
-  , mAttribSize{}
-  , mAttribStride{}
-  , mAttribType{}
-  , mAttribNormalized{}
-  , mAttribBufferBinding{}
-  , mAttribPointer{ nullptr }
-  , mBoundBuffer{}
+    : ScopedGLWrapper<ScopedVertexAttribPointer>(aGL)
 {
-  WrapImpl(index);
+    WrapImpl(index);
 }
 
 void
 ScopedVertexAttribPointer::WrapImpl(GLuint index)
 {
     mAttribIndex = index;
 
     /*
@@ -442,44 +422,34 @@ ScopedVertexAttribPointer::UnwrapImpl()
         mGL->fDisableVertexAttribArray(mAttribIndex);
     mGL->fBindBuffer(LOCAL_GL_ARRAY_BUFFER, mBoundBuffer);
 }
 
 ////////////////////////////////////////////////////////////////////////
 // ScopedPackState
 
 ScopedPackState::ScopedPackState(GLContext* gl)
-  : ScopedGLWrapper<ScopedPackState>(gl)
-  , mAlignment{}
-  , mPixelBuffer{}
-  , mRowLength{}
-  , mSkipPixels{}
-  , mSkipRows{}
+    : ScopedGLWrapper<ScopedPackState>(gl)
 {
-  mGL->fGetIntegerv(LOCAL_GL_PACK_ALIGNMENT, &mAlignment);
+    mGL->fGetIntegerv(LOCAL_GL_PACK_ALIGNMENT, &mAlignment);
 
-  if (mAlignment != 4)
-    mGL->fPixelStorei(LOCAL_GL_PACK_ALIGNMENT, 4);
+    if (mAlignment != 4) mGL->fPixelStorei(LOCAL_GL_PACK_ALIGNMENT, 4);
+
+    if (!mGL->HasPBOState())
+        return;
 
-  if (!mGL->HasPBOState())
-    return;
-
-  mGL->fGetIntegerv(LOCAL_GL_PIXEL_PACK_BUFFER_BINDING, (GLint*)&mPixelBuffer);
-  mGL->fGetIntegerv(LOCAL_GL_PACK_ROW_LENGTH, &mRowLength);
-  mGL->fGetIntegerv(LOCAL_GL_PACK_SKIP_PIXELS, &mSkipPixels);
-  mGL->fGetIntegerv(LOCAL_GL_PACK_SKIP_ROWS, &mSkipRows);
+    mGL->fGetIntegerv(LOCAL_GL_PIXEL_PACK_BUFFER_BINDING, (GLint*)&mPixelBuffer);
+    mGL->fGetIntegerv(LOCAL_GL_PACK_ROW_LENGTH, &mRowLength);
+    mGL->fGetIntegerv(LOCAL_GL_PACK_SKIP_PIXELS, &mSkipPixels);
+    mGL->fGetIntegerv(LOCAL_GL_PACK_SKIP_ROWS, &mSkipRows);
 
-  if (mPixelBuffer != 0)
-    mGL->fBindBuffer(LOCAL_GL_PIXEL_PACK_BUFFER, 0);
-  if (mRowLength != 0)
-    mGL->fPixelStorei(LOCAL_GL_PACK_ROW_LENGTH, 0);
-  if (mSkipPixels != 0)
-    mGL->fPixelStorei(LOCAL_GL_PACK_SKIP_PIXELS, 0);
-  if (mSkipRows != 0)
-    mGL->fPixelStorei(LOCAL_GL_PACK_SKIP_ROWS, 0);
+    if (mPixelBuffer != 0) mGL->fBindBuffer(LOCAL_GL_PIXEL_PACK_BUFFER, 0);
+    if (mRowLength != 0)   mGL->fPixelStorei(LOCAL_GL_PACK_ROW_LENGTH, 0);
+    if (mSkipPixels != 0)  mGL->fPixelStorei(LOCAL_GL_PACK_SKIP_PIXELS, 0);
+    if (mSkipRows != 0)    mGL->fPixelStorei(LOCAL_GL_PACK_SKIP_ROWS, 0);
 }
 
 void
 ScopedPackState::UnwrapImpl()
 {
     mGL->fPixelStorei(LOCAL_GL_PACK_ALIGNMENT, mAlignment);
 
     if (!mGL->HasPBOState())
@@ -490,47 +460,39 @@ ScopedPackState::UnwrapImpl()
     mGL->fPixelStorei(LOCAL_GL_PACK_SKIP_PIXELS, mSkipPixels);
     mGL->fPixelStorei(LOCAL_GL_PACK_SKIP_ROWS, mSkipRows);
 }
 
 ////////////////////////////////////////////////////////////////////////
 // ResetUnpackState
 
 ResetUnpackState::ResetUnpackState(GLContext* gl)
-  : ScopedGLWrapper<ResetUnpackState>(gl)
-  , mAlignment{}
-  , mPBO{}
-  , mRowLength{}
-  , mImageHeight{}
-  , mSkipPixels{}
-  , mSkipRows{}
-  , mSkipImages{}
+    : ScopedGLWrapper<ResetUnpackState>(gl)
 {
-  const auto fnReset = [&](GLenum pname, GLuint val, GLuint* const out_old) {
-    mGL->GetUIntegerv(pname, out_old);
-    if (*out_old != val) {
-      mGL->fPixelStorei(pname, val);
-    }
-  };
+    const auto fnReset = [&](GLenum pname, GLuint val, GLuint* const out_old) {
+        mGL->GetUIntegerv(pname, out_old);
+        if (*out_old != val) {
+            mGL->fPixelStorei(pname, val);
+        }
+    };
+
+    // Default is 4, but 1 is more useful.
+    fnReset(LOCAL_GL_UNPACK_ALIGNMENT, 1, &mAlignment);
 
-  // Default is 4, but 1 is more useful.
-  fnReset(LOCAL_GL_UNPACK_ALIGNMENT, 1, &mAlignment);
+    if (!mGL->HasPBOState())
+        return;
 
-  if (!mGL->HasPBOState())
-    return;
+    mGL->GetUIntegerv(LOCAL_GL_PIXEL_UNPACK_BUFFER_BINDING, &mPBO);
+    if (mPBO != 0) mGL->fBindBuffer(LOCAL_GL_PIXEL_UNPACK_BUFFER, 0);
 
-  mGL->GetUIntegerv(LOCAL_GL_PIXEL_UNPACK_BUFFER_BINDING, &mPBO);
-  if (mPBO != 0)
-    mGL->fBindBuffer(LOCAL_GL_PIXEL_UNPACK_BUFFER, 0);
-
-  fnReset(LOCAL_GL_UNPACK_ROW_LENGTH, 0, &mRowLength);
-  fnReset(LOCAL_GL_UNPACK_IMAGE_HEIGHT, 0, &mImageHeight);
-  fnReset(LOCAL_GL_UNPACK_SKIP_PIXELS, 0, &mSkipPixels);
-  fnReset(LOCAL_GL_UNPACK_SKIP_ROWS, 0, &mSkipRows);
-  fnReset(LOCAL_GL_UNPACK_SKIP_IMAGES, 0, &mSkipImages);
+    fnReset(LOCAL_GL_UNPACK_ROW_LENGTH  , 0, &mRowLength);
+    fnReset(LOCAL_GL_UNPACK_IMAGE_HEIGHT, 0, &mImageHeight);
+    fnReset(LOCAL_GL_UNPACK_SKIP_PIXELS , 0, &mSkipPixels);
+    fnReset(LOCAL_GL_UNPACK_SKIP_ROWS   , 0, &mSkipRows);
+    fnReset(LOCAL_GL_UNPACK_SKIP_IMAGES , 0, &mSkipImages);
 }
 
 void
 ResetUnpackState::UnwrapImpl()
 {
     mGL->fPixelStorei(LOCAL_GL_UNPACK_ALIGNMENT, mAlignment);
 
     if (!mGL->HasPBOState())
--- a/gfx/layers/AnimationHelper.h
+++ b/gfx/layers/AnimationHelper.h
@@ -50,17 +50,16 @@ struct AnimatedValue {
     AnimationTransform mTransform;
     float mOpacity;
   };
 
   AnimatedValue(gfx::Matrix4x4&& aTransformInDevSpace,
                 gfx::Matrix4x4&& aFrameTransform,
                 const TransformData& aData)
     : mType(AnimatedValue::TRANSFORM)
-    , mOpacity{ 0.0 }
   {
     mTransform.mTransformInDevSpace = Move(aTransformInDevSpace);
     mTransform.mFrameTransform = Move(aFrameTransform);
     mTransform.mData = aData;
   }
 
   explicit AnimatedValue(const float& aValue)
     : mType(AnimatedValue::OPACITY)
--- a/gfx/layers/AtomicRefCountedWithFinalize.h
+++ b/gfx/layers/AtomicRefCountedWithFinalize.h
@@ -29,27 +29,26 @@ class RefSet;
 template<typename T>
 class RefQueue;
 } // namespace gl
 
 template<typename T>
 class AtomicRefCountedWithFinalize
 {
 protected:
-  explicit AtomicRefCountedWithFinalize(const char* aName)
-    : mRecycleCallback(nullptr)
-    , mClosure{ nullptr }
-    , mRefCount(0)
+    explicit AtomicRefCountedWithFinalize(const char* aName)
+      : mRecycleCallback(nullptr)
+      , mRefCount(0)
 #ifdef DEBUG
-    , mSpew(false)
-    , mManualAddRefs(0)
-    , mManualReleases(0)
+      , mSpew(false)
+      , mManualAddRefs(0)
+      , mManualReleases(0)
 #endif
 #ifdef NS_BUILD_REFCNT_LOGGING
-    , mName(aName)
+      , mName(aName)
 #endif
     {}
 
     ~AtomicRefCountedWithFinalize() {
       if (mRefCount >= 0) {
         gfxCriticalError() << "Deleting referenced object? " << mRefCount;
       }
     }
--- a/gfx/layers/LayerTreeInvalidation.cpp
+++ b/gfx/layers/LayerTreeInvalidation.cpp
@@ -165,20 +165,16 @@ struct LayerPropertiesBase : public Laye
     if (mUseClipRect) {
       mClipRect = *aLayer->GetLocalClipRect();
     }
     mTransform = GetTransformForInvalidation(aLayer);
   }
   LayerPropertiesBase()
     : mLayer(nullptr)
     , mMaskLayer(nullptr)
-    , mPostXScale{ 0.0 }
-    , mPostYScale{ 0.0 }
-    , mOpacity{ 0.0 }
-    , mUseClipRect{ false }
   {
     MOZ_COUNT_CTOR(LayerPropertiesBase);
   }
   ~LayerPropertiesBase() override
   {
     MOZ_COUNT_DTOR(LayerPropertiesBase);
   }
 
--- a/gfx/layers/SourceSurfaceSharedData.h
+++ b/gfx/layers/SourceSurfaceSharedData.h
@@ -36,18 +36,17 @@ class SourceSurfaceSharedDataWrapper fin
   typedef mozilla::ipc::SharedMemoryBasic SharedMemoryBasic;
 
 public:
   MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(SourceSurfaceSharedDataWrapper, override)
 
   SourceSurfaceSharedDataWrapper()
     : mStride(0)
     , mFormat(SurfaceFormat::UNKNOWN)
-  {
-  }
+  { }
 
   bool Init(const IntSize& aSize,
             int32_t aStride,
             SurfaceFormat aFormat,
             const SharedMemoryBasic::Handle& aHandle,
             base::ProcessId aCreatorPid);
 
   void Init(SourceSurfaceSharedData *aSurface);
--- a/gfx/layers/apz/src/KeyboardMap.cpp
+++ b/gfx/layers/apz/src/KeyboardMap.cpp
@@ -6,25 +6,17 @@
 
 #include "mozilla/layers/KeyboardMap.h"
 
 #include "mozilla/TextEvents.h" // for IgnoreModifierState, ShortcutKeyCandidate
 
 namespace mozilla {
 namespace layers {
 
-KeyboardShortcut::KeyboardShortcut()
-  : mKeyCode{}
-  , mCharCode{}
-  , mModifiers{}
-  , mModifiersMask{}
-  , mEventType{ static_cast<KeyboardInput::KeyboardEventType>(0) }
-  , mDispatchToContent{ false }
-{
-}
+KeyboardShortcut::KeyboardShortcut() = default;
 
 KeyboardShortcut::KeyboardShortcut(KeyboardInput::KeyboardEventType aEventType,
                                    uint32_t aKeyCode,
                                    uint32_t aCharCode,
                                    Modifiers aModifiers,
                                    Modifiers aModifiersMask,
                                    const KeyboardScrollAction& aAction)
   : mAction(aAction)
--- a/gfx/layers/basic/BasicLayerManager.cpp
+++ b/gfx/layers/basic/BasicLayerManager.cpp
@@ -309,17 +309,16 @@ BasicLayerManager::BasicLayerManager(nsI
 
 BasicLayerManager::BasicLayerManager(BasicLayerManagerType aType)
   : mPhase(PHASE_NONE)
   , mWidget(nullptr)
   , mDoubleBuffering(BufferMode::BUFFER_NONE)
   , mType(aType)
   , mUsingDefaultTarget(false)
   , mTransactionIncomplete(false)
-  , mCompositorMightResample{ false }
 {
   MOZ_COUNT_CTOR(BasicLayerManager);
   MOZ_ASSERT(mType != BLM_WIDGET);
 }
 
 BasicLayerManager::~BasicLayerManager()
 {
   NS_ASSERTION(!InTransaction(), "Died during transaction?");
--- a/gfx/layers/client/ClientLayerManager.cpp
+++ b/gfx/layers/client/ClientLayerManager.cpp
@@ -88,18 +88,16 @@ ClientLayerManager::MemoryPressureObserv
   }
 }
 
 NS_IMPL_ISUPPORTS(ClientLayerManager::MemoryPressureObserver, nsIObserver)
 
 ClientLayerManager::ClientLayerManager(nsIWidget* aWidget)
   : mPhase(PHASE_NONE)
   , mWidget(aWidget)
-  , mPaintedLayerCallback{ nullptr }
-  , mPaintedLayerCallbackData{ nullptr }
   , mLatestTransactionId(0)
   , mLastPaintTime(TimeDuration::Forever())
   , mTargetRotation(ROTATION_0)
   , mRepeatTransaction(false)
   , mIsRepeatTransaction(false)
   , mTransactionIncomplete(false)
   , mCompositorMightResample(false)
   , mNeedsComposite(false)
--- a/gfx/layers/composite/TextureHost.h
+++ b/gfx/layers/composite/TextureHost.h
@@ -903,25 +903,22 @@ private:
 
 /**
  * This can be used as an offscreen rendering target by the compositor, and
  * subsequently can be used as a source by the compositor.
  */
 class CompositingRenderTarget: public TextureSource
 {
 public:
+
   explicit CompositingRenderTarget(const gfx::IntPoint& aOrigin)
     : mClearOnBind(false)
     , mOrigin(aOrigin)
-    , mZNear{ 0.0 }
-    , mZFar{ 0.0 }
     , mHasComplexProjection(false)
-    , mEnableDepthBuffer{ false }
-  {
-  }
+  {}
   virtual ~CompositingRenderTarget() {}
 
   virtual const char* Name() const override { return "CompositingRenderTarget"; }
 
 #ifdef MOZ_DUMP_PAINTING
   virtual already_AddRefed<gfx::DataSourceSurface> Dump(Compositor* aCompositor) { return nullptr; }
 #endif
 
--- a/gfx/layers/ipc/CompositorBridgeParent.cpp
+++ b/gfx/layers/ipc/CompositorBridgeParent.cpp
@@ -314,43 +314,41 @@ CalculateCompositionFrameRate()
 #endif
 
 static inline MessageLoop*
 CompositorLoop()
 {
   return CompositorThreadHolder::Loop();
 }
 
-CompositorBridgeParent::CompositorBridgeParent(
-  CompositorManagerParent* aManager,
-  CSSToLayoutDeviceScale aScale,
-  const TimeDuration& aVsyncRate,
-  const CompositorOptions& aOptions,
-  bool aUseExternalSurfaceSize,
-  const gfx::IntSize& aSurfaceSize)
+CompositorBridgeParent::CompositorBridgeParent(CompositorManagerParent* aManager,
+                                               CSSToLayoutDeviceScale aScale,
+                                               const TimeDuration& aVsyncRate,
+                                               const CompositorOptions& aOptions,
+                                               bool aUseExternalSurfaceSize,
+                                               const gfx::IntSize& aSurfaceSize)
   : CompositorBridgeParentBase(aManager)
   , mWidget(nullptr)
   , mScale(aScale)
   , mVsyncRate(aVsyncRate)
   , mPendingTransaction(0)
   , mPaused(false)
   , mUseExternalSurfaceSize(aUseExternalSurfaceSize)
   , mEGLSurfaceSize(aSurfaceSize)
   , mOptions(aOptions)
   , mPauseCompositionMonitor("PauseCompositionMonitor")
   , mResumeCompositionMonitor("ResumeCompositionMonitor")
-  , mCompositorBridgeID{}
-  , mRootLayerTreeID{ 0 }
+  , mRootLayerTreeID{0}
   , mOverrideComposeReadiness(false)
   , mForceCompositionTask(nullptr)
   , mCompositorScheduler(nullptr)
   , mAnimationStorage(nullptr)
   , mPaintTime(TimeDuration::Forever())
 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
-  , mLastPluginUpdateLayerTreeId{ 0 }
+  , mLastPluginUpdateLayerTreeId{0}
   , mDeferPluginWindows(false)
   , mPluginWindowsHidden(false)
 #endif
 {
 }
 
 void
 CompositorBridgeParent::InitSameProcess(widget::CompositorWidget* aWidget,
--- a/gfx/layers/ipc/LayerTransactionParent.cpp
+++ b/gfx/layers/ipc/LayerTransactionParent.cpp
@@ -40,31 +40,29 @@
 
 using mozilla::layout::RenderFrameParent;
 
 namespace mozilla {
 namespace layers {
 
 //--------------------------------------------------
 // LayerTransactionParent
-LayerTransactionParent::LayerTransactionParent(
-  HostLayerManager* aManager,
-  CompositorBridgeParentBase* aBridge,
-  CompositorAnimationStorage* aAnimStorage,
-  LayersId aId)
+LayerTransactionParent::LayerTransactionParent(HostLayerManager* aManager,
+                                               CompositorBridgeParentBase* aBridge,
+                                               CompositorAnimationStorage* aAnimStorage,
+                                               LayersId aId)
   : mLayerManager(aManager)
   , mCompositorBridge(aBridge)
   , mAnimStorage(aAnimStorage)
   , mId(aId)
   , mChildEpoch(0)
   , mParentEpoch(0)
   , mPendingTransaction(0)
   , mDestroyed(false)
   , mIPCOpen(false)
-  , mUpdateHitTestingTree{ false }
 {
   MOZ_ASSERT(mId.IsValid());
 }
 
 LayerTransactionParent::~LayerTransactionParent()
 {
 }
 
--- a/gfx/layers/ipc/ShadowLayers.cpp
+++ b/gfx/layers/ipc/ShadowLayers.cpp
@@ -57,17 +57,16 @@ typedef nsTArray<Edit> EditVector;
 typedef nsTHashtable<nsPtrHashKey<ShadowableLayer>> ShadowableLayerSet;
 typedef nsTArray<OpDestroy> OpDestroyVector;
 
 class Transaction
 {
 public:
   Transaction()
     : mTargetRotation(ROTATION_0)
-    , mTargetOrientation{}
     , mOpen(false)
     , mRotationChanged(false)
   {}
 
   void Begin(const gfx::IntRect& aTargetBounds, ScreenRotation aRotation,
              dom::ScreenOrientationInternal aOrientation)
   {
     mOpen = true;
--- a/gfx/layers/mlgpu/ContainerLayerMLGPU.cpp
+++ b/gfx/layers/mlgpu/ContainerLayerMLGPU.cpp
@@ -15,21 +15,20 @@
 #include "UtilityMLGPU.h"
 
 namespace mozilla {
 namespace layers {
 
 using namespace gfx;
 
 ContainerLayerMLGPU::ContainerLayerMLGPU(LayerManagerMLGPU* aManager)
-  : ContainerLayer(aManager, nullptr)
-  , LayerMLGPU(aManager)
-  , mInvalidateEntireSurface(false)
-  , mSurfaceCopyNeeded(false)
-  , mView{ nullptr }
+ : ContainerLayer(aManager, nullptr),
+   LayerMLGPU(aManager),
+   mInvalidateEntireSurface(false),
+   mSurfaceCopyNeeded(false)
 {
 }
 
 ContainerLayerMLGPU::~ContainerLayerMLGPU()
 {
   while (mFirstChild) {
     RemoveChild(mFirstChild);
   }
--- a/gfx/layers/mlgpu/LayerMLGPU.cpp
+++ b/gfx/layers/mlgpu/LayerMLGPU.cpp
@@ -13,20 +13,19 @@
 namespace mozilla {
 namespace layers {
 
 using namespace gfx;
 
 uint64_t LayerMLGPU::sFrameKey = 0;
 
 LayerMLGPU::LayerMLGPU(LayerManagerMLGPU* aManager)
-  : HostLayer(aManager)
-  , mFrameKey(0)
-  , mComputedOpacity{ 0.0 }
-  , mPrepared(false)
+ : HostLayer(aManager),
+   mFrameKey(0),
+   mPrepared(false)
 {
 }
 
 /* static */ void
 LayerMLGPU::BeginFrame()
 {
   sFrameKey++;
 }
--- a/gfx/layers/mlgpu/MLGDevice.cpp
+++ b/gfx/layers/mlgpu/MLGDevice.cpp
@@ -62,22 +62,21 @@ MLGSwapChain::ApplyNewInvalidRegion(nsIn
   if (mIsDoubleBuffered) {
     mFrontBufferInvalid.OrWith(invalid);
     AL_LOG("Frontbuffer invalid region: %s\n", Stringify(mFrontBufferInvalid).c_str());
   }
   return true;
 }
 
 MLGDevice::MLGDevice()
-  : mTopology(MLGPrimitiveTopology::Unknown)
-  , mInitialized{ false }
-  , mIsValid(false)
-  , mCanUseClearView(false)
-  , mCanUseConstantBufferOffsetBinding(false)
-  , mMaxConstantBufferBindSize(0)
+ : mTopology(MLGPrimitiveTopology::Unknown),
+   mIsValid(false),
+   mCanUseClearView(false),
+   mCanUseConstantBufferOffsetBinding(false),
+   mMaxConstantBufferBindSize(0)
 {
 }
 
 MLGDevice::~MLGDevice()
 {
 }
 
 bool
--- a/gfx/layers/mlgpu/RenderPassMLGPU.cpp
+++ b/gfx/layers/mlgpu/RenderPassMLGPU.cpp
@@ -562,21 +562,19 @@ TexturedRenderPass::AddClippedItem(Txn& 
       if (!aTxn.Add(traits)) {
         return false;
       }
     }
   }
   return true;
 }
 
-SingleTexturePass::SingleTexturePass(FrameBuilder* aBuilder,
-                                     const ItemInfo& aItem)
-  : TexturedRenderPass(aBuilder, aItem)
-  , mSamplerMode{ static_cast<SamplerMode>(0) }
-  , mOpacity(1.0f)
+SingleTexturePass::SingleTexturePass(FrameBuilder* aBuilder, const ItemInfo& aItem)
+ : TexturedRenderPass(aBuilder, aItem),
+   mOpacity(1.0f)
 {
   SetDefaultGeometry(aItem);
 }
 
 bool
 SingleTexturePass::AddToPass(LayerMLGPU* aLayer, ItemInfo& aItem)
 {
   RefPtr<TextureSource> texture;
@@ -672,21 +670,19 @@ SingleTexturePass::SetupPipeline()
       if (mGeometry == GeometryMode::UnitQuad)
         mDevice->SetPixelShader(PixelShaderID::TexturedQuadRGB);
       else
         mDevice->SetPixelShader(PixelShaderID::TexturedVertexRGB);
       break;
   }
 }
 
-ComponentAlphaPass::ComponentAlphaPass(FrameBuilder* aBuilder,
-                                       const ItemInfo& aItem)
-  : TexturedRenderPass(aBuilder, aItem)
-  , mOpacity(1.0f)
-  , mSamplerMode{ static_cast<SamplerMode>(0) }
+ComponentAlphaPass::ComponentAlphaPass(FrameBuilder* aBuilder, const ItemInfo& aItem)
+ : TexturedRenderPass(aBuilder, aItem),
+   mOpacity(1.0f)
 {
   SetDefaultGeometry(aItem);
 }
 
 bool
 ComponentAlphaPass::AddToPass(LayerMLGPU* aLayer, ItemInfo& aItem)
 {
   PaintedLayerMLGPU* layer = aLayer->AsPaintedLayerMLGPU();
@@ -700,17 +696,17 @@ ComponentAlphaPass::AddToPass(LayerMLGPU
     {
       return false;
     }
   } else {
     mOpacity = layer->GetComputedOpacity();
     mSamplerMode = layer->GetSamplerMode();
     mTextureOnBlack = layer->GetTexture();
     mTextureOnWhite = layer->GetTextureOnWhite();
-  }
+  } 
 
   Txn txn(this);
 
   Info info(aItem, layer);
   if (!AddItems(txn, info, layer->GetDrawRects())) {
     return false;
   }
   return txn.Commit();
@@ -740,19 +736,18 @@ ComponentAlphaPass::SetupPipeline()
     mDevice->SetPixelShader(PixelShaderID::ComponentAlphaVertex);
   }
 
   mDevice->SetSamplerMode(kDefaultSamplerSlot, mSamplerMode);
   mDevice->SetPSTextures(0, 2, textures);
 }
 
 VideoRenderPass::VideoRenderPass(FrameBuilder* aBuilder, const ItemInfo& aItem)
-  : TexturedRenderPass(aBuilder, aItem)
-  , mSamplerMode{ static_cast<SamplerMode>(0) }
-  , mOpacity(1.0f)
+ : TexturedRenderPass(aBuilder, aItem),
+   mOpacity(1.0f)
 {
   SetDefaultGeometry(aItem);
 }
 
 bool
 VideoRenderPass::AddToPass(LayerMLGPU* aLayer, ItemInfo& aItem)
 {
   ImageLayerMLGPU* layer = aLayer->AsImageLayerMLGPU();
--- a/gfx/layers/mlgpu/SharedBufferMLGPU.cpp
+++ b/gfx/layers/mlgpu/SharedBufferMLGPU.cpp
@@ -8,29 +8,26 @@
 #include "BufferCache.h"
 #include "MLGDevice.h"
 
 using namespace std;
 
 namespace mozilla {
 namespace layers {
 
-SharedBufferMLGPU::SharedBufferMLGPU(MLGDevice* aDevice,
-                                     MLGBufferType aType,
-                                     size_t aDefaultSize)
-  : mDevice(aDevice)
-  , mType(aType)
-  , mDefaultSize(aDefaultSize)
-  , mCanUseOffsetAllocation(true)
-  , mCurrentPosition(0)
-  , mMaxSize(0)
-  , mMap{}
-  , mMapped(false)
-  , mBytesUsedThisFrame(0)
-  , mNumSmallFrames(0)
+SharedBufferMLGPU::SharedBufferMLGPU(MLGDevice* aDevice, MLGBufferType aType, size_t aDefaultSize)
+ : mDevice(aDevice),
+   mType(aType),
+   mDefaultSize(aDefaultSize),
+   mCanUseOffsetAllocation(true),
+   mCurrentPosition(0),
+   mMaxSize(0),
+   mMapped(false),
+   mBytesUsedThisFrame(0),
+   mNumSmallFrames(0)
 {
   MOZ_COUNT_CTOR(SharedBufferMLGPU);
 }
 
 SharedBufferMLGPU::~SharedBufferMLGPU()
 {
   MOZ_COUNT_DTOR(SharedBufferMLGPU);
   Unmap();
@@ -191,21 +188,18 @@ VertexBufferSection::Init(MLGBuffer* aBu
 {
   mBuffer = aBuffer;
   mOffset = aOffset;
   mNumVertices = aNumVertices;
   mStride = aStride;
 }
 
 ConstantBufferSection::ConstantBufferSection()
-  : mOffset(-1)
-  , mNumBytes{}
-  , mNumItems{}
-{
-}
+ : mOffset(-1)
+{}
 
 void
 ConstantBufferSection::Init(MLGBuffer* aBuffer, ptrdiff_t aOffset, size_t aBytes, size_t aNumItems)
 {
   mBuffer = aBuffer;
   mOffset = aOffset;
   mNumBytes = aBytes;
   mNumItems = aNumItems;
--- a/gfx/layers/mlgpu/TexturedLayerMLGPU.cpp
+++ b/gfx/layers/mlgpu/TexturedLayerMLGPU.cpp
@@ -165,20 +165,18 @@ TexturedLayerMLGPU::AssignBigImage(Frame
 
     // Since the layer tree is not holding this alive, we have to ask the
     // FrameBuilder to do it for us.
     aBuilder->RetainTemporaryLayer(item);
   } while (aIter->NextTile());
 }
 
 TempImageLayerMLGPU::TempImageLayerMLGPU(LayerManagerMLGPU* aManager)
-  : ImageLayer(aManager, static_cast<HostLayer*>(this))
-  , TexturedLayerMLGPU(aManager)
-  , mFilter{ static_cast<gfx::SamplingFilter>(0) }
-  , mIsOpaque{ false }
+ : ImageLayer(aManager, static_cast<HostLayer*>(this)),
+   TexturedLayerMLGPU(aManager)
 {
 }
 
 TempImageLayerMLGPU::~TempImageLayerMLGPU()
 {
 }
 
 void
--- a/gfx/layers/opengl/CompositingRenderTargetOGL.h
+++ b/gfx/layers/opengl/CompositingRenderTargetOGL.h
@@ -40,22 +40,17 @@ class CompositingRenderTargetOGL : publi
 {
   typedef mozilla::gl::GLContext GLContext;
 
   friend class CompositorOGL;
 
   // For lazy initialisation of the GL stuff
   struct InitParams
   {
-    InitParams()
-      : mStatus(NO_PARAMS)
-      , mFBOTextureTarget{}
-      , mInit{ INIT_MODE_NONE }
-    {
-    }
+    InitParams() : mStatus(NO_PARAMS) {}
     InitParams(const gfx::IntSize& aSize,
                const gfx::IntSize& aPhySize,
                GLenum aFBOTextureTarget,
                SurfaceInitMode aInit)
       : mStatus(READY)
       , mSize(aSize)
       , mPhySize(aPhySize)
       , mFBOTextureTarget(aFBOTextureTarget)
--- a/gfx/layers/opengl/CompositorOGL.cpp
+++ b/gfx/layers/opengl/CompositorOGL.cpp
@@ -82,25 +82,21 @@ CompositorOGL::BindBackdrop(ShaderProgra
   mGLContext->fBindTexture(LOCAL_GL_TEXTURE_2D, aBackdrop);
   mGLContext->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_MIN_FILTER, LOCAL_GL_LINEAR);
   mGLContext->fTexParameteri(LOCAL_GL_TEXTURE_2D, LOCAL_GL_TEXTURE_MAG_FILTER, LOCAL_GL_LINEAR);
   aProgram->SetBackdropTextureUnit(aTexUnit - LOCAL_GL_TEXTURE0);
 }
 
 CompositorOGL::CompositorOGL(CompositorBridgeParent* aParent,
                              widget::CompositorWidget* aWidget,
-                             int aSurfaceWidth,
-                             int aSurfaceHeight,
+                             int aSurfaceWidth, int aSurfaceHeight,
                              bool aUseExternalSurfaceSize)
   : Compositor(aWidget, aParent)
   , mWidgetSize(-1, -1)
   , mSurfaceSize(aSurfaceWidth, aSurfaceHeight)
-  , mFBOTextureTarget{}
-  , mQuadVBO{}
-  , mTriangleVBO{}
   , mHasBGRA(0)
   , mUseExternalSurfaceSize(aUseExternalSurfaceSize)
   , mFrameInProgress(false)
   , mDestroyed(false)
   , mViewportSize(0, 0)
   , mCurrentProgram(nullptr)
 {
   MOZ_COUNT_CTOR(CompositorOGL);
--- a/gfx/layers/opengl/TextureHostOGL.h
+++ b/gfx/layers/opengl/TextureHostOGL.h
@@ -78,18 +78,17 @@ inline void ApplySamplingFilterToBoundTe
 /**
  * TextureSourceOGL provides the necessary API for CompositorOGL to composite
  * a TextureSource.
  */
 class TextureSourceOGL
 {
 public:
   TextureSourceOGL()
-    : mCachedSamplingFilter{ static_cast<gfx::SamplingFilter>(0) }
-    , mHasCachedSamplingFilter(false)
+    : mHasCachedSamplingFilter(false)
   {}
 
   virtual bool IsValid() const = 0;
 
   virtual void BindTexture(GLenum aTextureUnit,
                            gfx::SamplingFilter aSamplingFilter) = 0;
 
   virtual gfx::IntSize GetSize() const = 0;
--- a/gfx/layers/protobuf/LayerScopePacket.pb.cc
+++ b/gfx/layers/protobuf/LayerScopePacket.pb.cc
@@ -407,17 +407,17 @@ const int CommandPacket::CmdType_ARRAYSI
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int FramePacket::kValueFieldNumber;
 const int FramePacket::kScaleFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 FramePacket::FramePacket()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , scale_{0.0} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.FramePacket)
 }
 FramePacket::FramePacket(const FramePacket& from)
   : ::google::protobuf::MessageLite(),
@@ -703,17 +703,17 @@ void FramePacket::set_scale(float value)
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int ColorPacket::kLayerrefFieldNumber;
 const int ColorPacket::kWidthFieldNumber;
 const int ColorPacket::kHeightFieldNumber;
 const int ColorPacket::kColorFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 ColorPacket::ColorPacket()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , width_{}, height_{}, color_{} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.ColorPacket)
 }
 ColorPacket::ColorPacket(const ColorPacket& from)
   : ::google::protobuf::MessageLite(),
@@ -1109,17 +1109,17 @@ void ColorPacket::set_color(::google::pr
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int TexturePacket_Rect::kXFieldNumber;
 const int TexturePacket_Rect::kYFieldNumber;
 const int TexturePacket_Rect::kWFieldNumber;
 const int TexturePacket_Rect::kHFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 TexturePacket_Rect::TexturePacket_Rect()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , y_{0.0}, w_{0.0}, h_{0.0} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.Rect)
 }
 TexturePacket_Rect::TexturePacket_Rect(const TexturePacket_Rect& from)
   : ::google::protobuf::MessageLite(),
@@ -1505,17 +1505,17 @@ void TexturePacket_Rect::set_h(float val
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int TexturePacket_Size::kWFieldNumber;
 const int TexturePacket_Size::kHFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 TexturePacket_Size::TexturePacket_Size()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , h_{} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.Size)
 }
 TexturePacket_Size::TexturePacket_Size(const TexturePacket_Size& from)
   : ::google::protobuf::MessageLite(),
@@ -1802,17 +1802,17 @@ void TexturePacket_Size::set_h(::google:
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int TexturePacket_Matrix::kIs2DFieldNumber;
 const int TexturePacket_Matrix::kIsIdFieldNumber;
 const int TexturePacket_Matrix::kMFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 TexturePacket_Matrix::TexturePacket_Matrix()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , isid_{false} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.Matrix)
 }
 TexturePacket_Matrix::TexturePacket_Matrix(const TexturePacket_Matrix& from)
   : ::google::protobuf::MessageLite(),
@@ -2163,17 +2163,17 @@ TexturePacket_Matrix::mutable_m() {
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int TexturePacket_EffectMask::kMIs3DFieldNumber;
 const int TexturePacket_EffectMask::kMSizeFieldNumber;
 const int TexturePacket_EffectMask::kMMaskTransformFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 TexturePacket_EffectMask::TexturePacket_EffectMask()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , mmasktransform_{nullptr}, mis3d_{false} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket.EffectMask)
 }
 TexturePacket_EffectMask::TexturePacket_EffectMask(const TexturePacket_EffectMask& from)
   : ::google::protobuf::MessageLite(),
@@ -2581,17 +2581,17 @@ const int TexturePacket::kDataFieldNumbe
 const int TexturePacket::kMTextureCoordsFieldNumber;
 const int TexturePacket::kMPremultipliedFieldNumber;
 const int TexturePacket::kMFilterFieldNumber;
 const int TexturePacket::kIsMaskFieldNumber;
 const int TexturePacket::kMaskFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 TexturePacket::TexturePacket()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , mask_{nullptr}, layerref_{}, width_{}, height_{}, stride_{}, name_{}, target_{}, dataformat_{}, glcontext_{}, mfilter_{}, mpremultiplied_{false}, ismask_{false} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.TexturePacket)
 }
 TexturePacket::TexturePacket(const TexturePacket& from)
   : ::google::protobuf::MessageLite(),
@@ -3654,17 +3654,17 @@ void TexturePacket::set_allocated_mask(:
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int LayersPacket_Layer_Size::kWFieldNumber;
 const int LayersPacket_Layer_Size::kHFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 LayersPacket_Layer_Size::LayersPacket_Layer_Size()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , h_{} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Size)
 }
 LayersPacket_Layer_Size::LayersPacket_Layer_Size(const LayersPacket_Layer_Size& from)
   : ::google::protobuf::MessageLite(),
@@ -3952,17 +3952,17 @@ void LayersPacket_Layer_Size::set_h(::go
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int LayersPacket_Layer_Rect::kXFieldNumber;
 const int LayersPacket_Layer_Rect::kYFieldNumber;
 const int LayersPacket_Layer_Rect::kWFieldNumber;
 const int LayersPacket_Layer_Rect::kHFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 LayersPacket_Layer_Rect::LayersPacket_Layer_Rect()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , y_{}, w_{}, h_{} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Rect)
 }
 LayersPacket_Layer_Rect::LayersPacket_Layer_Rect(const LayersPacket_Layer_Rect& from)
   : ::google::protobuf::MessageLite(),
@@ -4589,17 +4589,17 @@ LayersPacket_Layer_Region::r() const {
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int LayersPacket_Layer_Matrix::kIs2DFieldNumber;
 const int LayersPacket_Layer_Matrix::kIsIdFieldNumber;
 const int LayersPacket_Layer_Matrix::kMFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 LayersPacket_Layer_Matrix::LayersPacket_Layer_Matrix()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , isid_{false} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Matrix)
 }
 LayersPacket_Layer_Matrix::LayersPacket_Layer_Matrix(const LayersPacket_Layer_Matrix& from)
   : ::google::protobuf::MessageLite(),
@@ -4950,17 +4950,17 @@ LayersPacket_Layer_Matrix::mutable_m() {
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int LayersPacket_Layer_Shadow::kClipFieldNumber;
 const int LayersPacket_Layer_Shadow::kTransformFieldNumber;
 const int LayersPacket_Layer_Shadow::kVRegionFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 LayersPacket_Layer_Shadow::LayersPacket_Layer_Shadow()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , transform_{nullptr}, vregion_{nullptr} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer.Shadow)
 }
 LayersPacket_Layer_Shadow::LayersPacket_Layer_Shadow(const LayersPacket_Layer_Shadow& from)
   : ::google::protobuf::MessageLite(),
@@ -5409,17 +5409,17 @@ const int LayersPacket_Layer::kColorFiel
 const int LayersPacket_Layer::kFilterFieldNumber;
 const int LayersPacket_Layer::kRefIDFieldNumber;
 const int LayersPacket_Layer::kSizeFieldNumber;
 const int LayersPacket_Layer::kDisplayListLogLengthFieldNumber;
 const int LayersPacket_Layer::kDisplayListLogFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 LayersPacket_Layer::LayersPacket_Layer()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , transform_{nullptr}, vregion_{nullptr}, shadow_{nullptr}, hitregion_{nullptr}, dispatchregion_{nullptr}, noactionregion_{nullptr}, hpanregion_{nullptr}, vpanregion_{nullptr}, valid_{nullptr}, size_{nullptr}, ptr_{}, parentptr_{}, type_{}, opacity_{0.0}, barid_{}, mask_{}, copaque_{false}, calpha_{false}, color_{}, refid_{}, filter_{}, displaylistloglength_{} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.LayersPacket.Layer)
 }
 LayersPacket_Layer::LayersPacket_Layer(const LayersPacket_Layer& from)
   : ::google::protobuf::MessageLite(),
@@ -7859,17 +7859,17 @@ void MetaPacket::set_composedbyhwc(bool 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int DrawPacket_Rect::kXFieldNumber;
 const int DrawPacket_Rect::kYFieldNumber;
 const int DrawPacket_Rect::kWFieldNumber;
 const int DrawPacket_Rect::kHFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 DrawPacket_Rect::DrawPacket_Rect()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , y_{0.0}, w_{0.0}, h_{0.0} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.DrawPacket.Rect)
 }
 DrawPacket_Rect::DrawPacket_Rect(const DrawPacket_Rect& from)
   : ::google::protobuf::MessageLite(),
@@ -8282,17 +8282,17 @@ const int DrawPacket::kMvMatrixFieldNumb
 const int DrawPacket::kTotalRectsFieldNumber;
 const int DrawPacket::kLayerRectFieldNumber;
 const int DrawPacket::kLayerrefFieldNumber;
 const int DrawPacket::kTexIDsFieldNumber;
 const int DrawPacket::kTextureRectFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 DrawPacket::DrawPacket()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , offsety_{0.0}, layerref_{}, totalrects_{} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.DrawPacket)
 }
 DrawPacket::DrawPacket(const DrawPacket& from)
   : ::google::protobuf::MessageLite(),
@@ -8978,17 +8978,17 @@ const int Packet::kFrameFieldNumber;
 const int Packet::kColorFieldNumber;
 const int Packet::kTextureFieldNumber;
 const int Packet::kLayersFieldNumber;
 const int Packet::kMetaFieldNumber;
 const int Packet::kDrawFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 Packet::Packet()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , color_{nullptr}, texture_{nullptr}, layers_{nullptr}, meta_{nullptr}, draw_{nullptr} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.Packet)
 }
 Packet::Packet(const Packet& from)
   : ::google::protobuf::MessageLite(),
@@ -9747,17 +9747,17 @@ void Packet::set_allocated_draw(::mozill
 // ===================================================================
 
 #if !defined(_MSC_VER) || _MSC_VER >= 1900
 const int CommandPacket::kTypeFieldNumber;
 const int CommandPacket::kValueFieldNumber;
 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
 
 CommandPacket::CommandPacket()
-  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) , value_{false} {
+  : ::google::protobuf::MessageLite(), _internal_metadata_(NULL) {
   if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
     protobuf_LayerScopePacket_2eproto::InitDefaults();
   }
   SharedCtor();
   // @@protoc_insertion_point(constructor:mozilla.layers.layerscope.CommandPacket)
 }
 CommandPacket::CommandPacket(const CommandPacket& from)
   : ::google::protobuf::MessageLite(),
--- a/gfx/layers/wr/WebRenderCommandBuilder.cpp
+++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp
@@ -92,20 +92,18 @@ struct BlobItemData
   // properties that are used to emulate layer tree invalidation
   Matrix mMatrix; // updated to track the current transform to device space
   Matrix4x4Flagged mTransform; // only used with nsDisplayTransform items to detect transform changes
   float mOpacity; // only used with nsDisplayOpacity items to detect change to opacity
 
   IntRect mImageRect;
   IntPoint mGroupOffset;
 
-  BlobItemData(DIGroup* aGroup, nsDisplayItem* aItem)
-    : mUsed{ false }
-    , mGroup(aGroup)
-    , mOpacity{ 0.0 }
+  BlobItemData(DIGroup* aGroup, nsDisplayItem *aItem)
+    : mGroup(aGroup)
   {
     mInvalid = false;
     mEmpty = false;
     mDisplayItemKey = aItem->GetPerFrameKey();
     AddFrame(aItem->Frame());
   }
 
 private:
@@ -176,19 +174,17 @@ DestroyBlobGroupDataProperty(nsTArray<Bl
   delete aArray;
 }
 
 
 struct DIGroup;
 struct Grouper
 {
   explicit Grouper(ScrollingLayersHelper& aScrollingHelper)
-    : mAppUnitsPerDevPixel{}
-    , mDisplayListBuilder{ nullptr }
-    , mScrollingHelper(aScrollingHelper)
+   : mScrollingHelper(aScrollingHelper)
   {}
 
   int32_t mAppUnitsPerDevPixel;
   std::vector<nsDisplayItem*> mItemStack;
   nsDisplayListBuilder* mDisplayListBuilder;
   ScrollingLayersHelper& mScrollingHelper;
   Matrix mTransform;
 
--- a/gfx/src/nsDeviceContext.cpp
+++ b/gfx/src/nsDeviceContext.cpp
@@ -42,36 +42,32 @@
 using namespace mozilla;
 using namespace mozilla::gfx;
 using mozilla::services::GetObserverService;
 using mozilla::widget::ScreenManager;
 
 class nsFontCache final : public nsIObserver
 {
 public:
-  nsFontCache()
-    : mContext{ nullptr }
-  {
-  }
+    nsFontCache() {}
 
-  NS_DECL_ISUPPORTS
-  NS_DECL_NSIOBSERVER
+    NS_DECL_ISUPPORTS
+    NS_DECL_NSIOBSERVER
+
+    void Init(nsDeviceContext* aContext);
+    void Destroy();
 
-  void Init(nsDeviceContext* aContext);
-  void Destroy();
+    already_AddRefed<nsFontMetrics> GetMetricsFor(
+        const nsFont& aFont, const nsFontMetrics::Params& aParams);
 
-  already_AddRefed<nsFontMetrics> GetMetricsFor(
-    const nsFont& aFont,
-    const nsFontMetrics::Params& aParams);
+    void FontMetricsDeleted(const nsFontMetrics* aFontMetrics);
+    void Compact();
+    void Flush();
 
-  void FontMetricsDeleted(const nsFontMetrics* aFontMetrics);
-  void Compact();
-  void Flush();
-
-  void UpdateUserFonts(gfxUserFontSet* aUserFontSet);
+    void UpdateUserFonts(gfxUserFontSet* aUserFontSet);
 
 protected:
     ~nsFontCache() {}
 
     nsDeviceContext*          mContext; // owner
     RefPtr<nsAtom>         mLocaleLanguage;
     nsTArray<nsFontMetrics*>  mFontMetrics;
 };
--- a/gfx/src/nsRegion.h
+++ b/gfx/src/nsRegion.h
@@ -2176,22 +2176,16 @@ public:
     const nsRegion& mRegion;
     typename BandArray::const_iterator mCurrentBand;
     typename StripArray::const_iterator mCurrentStrip;
 
   public:
     explicit RectIterator(const nsRegion& aRegion)
       : mRegion(aRegion)
       , mCurrentBand(aRegion.mBands.begin())
-#ifndef DEBUG
-      , mCurrentStrip
-    {
-      nullptr
-    }
-#endif
     {
       mIsDone = mRegion.mBounds.Is