Bug 1453795 - Parser/HTML - Initialize member fields in classes/ structures. r=hsivonen

This commit is contained in:
Andi-Bogdan Postelnicu 2018-06-14 11:46:13 +03:00
parent 9acd552c83
commit 0d7d76f23b
6 changed files with 70 additions and 10 deletions

View File

@ -9,13 +9,10 @@
using namespace mozilla;
nsHtml5SpeculativeLoad::nsHtml5SpeculativeLoad()
:
#ifdef DEBUG
mOpCode(eSpeculativeLoadUninitialized)
,
#endif
mIsAsync(false)
: mOpCode(eSpeculativeLoadUninitialized)
, mIsAsync(false)
, mIsDefer(false)
, mEncoding(nullptr)
{
MOZ_COUNT_CTOR(nsHtml5SpeculativeLoad);
new (&mCharsetOrSrcset) nsString;

View File

@ -14,9 +14,7 @@ class nsHtml5TreeOpExecutor;
enum eHtml5SpeculativeLoad
{
#ifdef DEBUG
eSpeculativeLoadUninitialized,
#endif
eSpeculativeLoadBase,
eSpeculativeLoadCSP,
eSpeculativeLoadMetaReferrer,

View File

@ -87,7 +87,14 @@ nsHtml5StackNode::isHtmlIntegrationPoint()
nsHtml5StackNode::nsHtml5StackNode(int32_t idxInTreeBuilder)
: idxInTreeBuilder(idxInTreeBuilder)
, flags(0)
, name(nullptr)
, popName(nullptr)
, ns(0)
, node(nullptr)
, attributes(nullptr)
, refcount(0)
, htmlCreator(nullptr)
{
MOZ_COUNT_CTOR(nsHtml5StackNode);
}

View File

@ -126,9 +126,29 @@ nsHtml5Tokenizer::nsHtml5Tokenizer(nsHtml5TreeBuilder* tokenHandler,
bool viewingXmlSource)
: tokenHandler(tokenHandler)
, encodingDeclarationHandler(nullptr)
, lastCR(false)
, stateSave(0)
, returnStateSave(0)
, index(0)
, forceQuirks(false)
, additional(u'\0')
, entCol(0)
, firstCharKey(0)
, lo(0)
, hi(0)
, candidate(0)
, charRefBufMark(0)
, value(0)
, seenDigits(false)
, cstart(0)
, strBufLen(0)
, charRefBuf(jArray<char16_t, int32_t>::newJArray(32))
, charRefBufLen(0)
, bmpChar(jArray<char16_t, int32_t>::newJArray(1))
, astralChar(jArray<char16_t, int32_t>::newJArray(2))
, endTagExpectation(nullptr)
, endTagExpectationAsArray{}
, endTag(false)
, containsHyphen(false)
, tagName(nullptr)
, nonInternedTagName(new nsHtml5ElementName())
@ -140,6 +160,11 @@ nsHtml5Tokenizer::nsHtml5Tokenizer(nsHtml5TreeBuilder* tokenHandler,
, attributes(tokenHandler->HasBuilder() ? new nsHtml5HtmlAttributes(0)
: nullptr)
, newAttributesEachTime(!tokenHandler->HasBuilder())
, shouldSuspend(false)
, confident(false)
, line(0)
, attributeLine(0)
, interner(nullptr)
, viewingXmlSource(viewingXmlSource)
{
MOZ_COUNT_CTOR(nsHtml5Tokenizer);

View File

@ -13,13 +13,27 @@
#include "mozilla/UniquePtr.h"
nsHtml5TreeBuilder::nsHtml5TreeBuilder(nsHtml5OplessBuilder* aBuilder)
: scriptingEnabled(false)
: mode(0)
, originalMode(0)
, framesetOk(false)
, tokenizer(nullptr)
, scriptingEnabled(false)
, needToDropLF(false)
, fragment(false)
, contextName(nullptr)
, contextNamespace(kNameSpaceID_None)
, contextNode(nullptr)
, templateModePtr(0)
, stackNodesIdx(0)
, numStackNodes(0)
, currentPtr(0)
, listPtr(0)
, formPointer(nullptr)
, headPointer(nullptr)
, deepTreeSurrogateParent(nullptr)
, charBufferLen(0)
, quirks(false)
, isSrcdocDocument(false)
, mBuilder(aBuilder)
, mViewSource(nullptr)
, mOpSink(nullptr)
@ -38,13 +52,27 @@ nsHtml5TreeBuilder::nsHtml5TreeBuilder(nsHtml5OplessBuilder* aBuilder)
nsHtml5TreeBuilder::nsHtml5TreeBuilder(nsAHtml5TreeOpSink* aOpSink,
nsHtml5TreeOpStage* aStage)
: scriptingEnabled(false)
: mode(0)
, originalMode(0)
, framesetOk(false)
, tokenizer(nullptr)
, scriptingEnabled(false)
, needToDropLF(false)
, fragment(false)
, contextName(nullptr)
, contextNamespace(kNameSpaceID_None)
, contextNode(nullptr)
, templateModePtr(0)
, stackNodesIdx(0)
, numStackNodes(0)
, currentPtr(0)
, listPtr(0)
, formPointer(nullptr)
, headPointer(nullptr)
, deepTreeSurrogateParent(nullptr)
, charBufferLen(0)
, quirks(false)
, isSrcdocDocument(false)
, mBuilder(nullptr)
, mViewSource(nullptr)
, mOpSink(aOpSink)

View File

@ -80,6 +80,11 @@ private:
nsHtml5TreeOperation::nsHtml5TreeOperation()
: mOpCode(eTreeOpUninitialized)
, mOne{}
, mTwo{}
, mThree{}
, mFour{}
, mFive{}
{
MOZ_COUNT_CTOR(nsHtml5TreeOperation);
}