Bug 1618643 - Remove nsAutoPtr usage from parser. r=hsivonen

Differential Revision: https://phabricator.services.mozilla.com/D64251
This commit is contained in:
Eric Rahm
2020-02-28 20:49:06 +00:00
parent 33ce2a3600
commit c1573a024e
10 changed files with 33 additions and 31 deletions

View File

@@ -160,7 +160,8 @@ nsHtml5StreamParser::nsHtml5StreamParser(nsHtml5TreeOpExecutor* aExecutor,
? nullptr
: mExecutor->GetStage(),
aMode == NORMAL ? mExecutor->GetStage() : nullptr)),
mTokenizer(new nsHtml5Tokenizer(mTreeBuilder, aMode == VIEW_SOURCE_XML)),
mTokenizer(
new nsHtml5Tokenizer(mTreeBuilder.get(), aMode == VIEW_SOURCE_XML)),
mTokenizerMutex("nsHtml5StreamParser mTokenizerMutex"),
mOwner(aOwner),
mLastWasCR(false),
@@ -710,7 +711,7 @@ nsresult nsHtml5StreamParser::SniffStreamBytes(
if (!mMetaScanner &&
(mMode == NORMAL || mMode == VIEW_SOURCE_HTML || mMode == LOAD_AS_DATA)) {
mMetaScanner = new nsHtml5MetaScanner(mTreeBuilder);
mMetaScanner = MakeUnique<nsHtml5MetaScanner>(mTreeBuilder.get());
}
if (mSniffingLength + aFromSegment.Length() >= SNIFFING_BUFFER_SIZE) {
@@ -1795,7 +1796,7 @@ void nsHtml5StreamParser::ContinueAfterScripts(nsHtml5Tokenizer* aTokenizer,
return;
}
nsHtml5Speculation* speculation = mSpeculations.ElementAt(0);
const auto& speculation = mSpeculations.ElementAt(0);
if (aLastWasCR || !aTokenizer->isInDataState() ||
!aTreeBuilder->snapshotMatches(speculation->GetSnapshot())) {
speculationFailed = true;
@@ -1845,7 +1846,7 @@ void nsHtml5StreamParser::ContinueAfterScripts(nsHtml5Tokenizer* aTokenizer,
if (speculationFailed) {
// Rewind the stream
mAtEOF = false;
nsHtml5Speculation* speculation = mSpeculations.ElementAt(0);
const auto& speculation = mSpeculations.ElementAt(0);
mFirstBuffer = speculation->GetBuffer();
mFirstBuffer->setStart(speculation->GetStart());
mTokenizer->setLineNumber(speculation->GetStartLineNumber());