| Index: third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp b/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
|
| index f5cad31543ec3404aed70046df64f6c3982549de..8ae81dc94ac9bcafb25fd234200deae74994cc8b 100644
|
| --- a/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
|
| +++ b/third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp
|
| @@ -134,7 +134,9 @@ HTMLDocumentParser::HTMLDocumentParser(Document& document,
|
| TaskRunnerHelper::get(TaskType::Networking, &document)->clone()),
|
| m_parserScheduler(
|
| syncPolicy == AllowAsynchronousParsing
|
| - ? HTMLParserScheduler::create(this, m_loadingTaskRunner.get())
|
| + ? HTMLParserScheduler::create(document,
|
| + this,
|
| + m_loadingTaskRunner.get())
|
| : nullptr),
|
| m_xssAuditorDelegate(&document),
|
| m_weakFactory(this),
|
| @@ -145,7 +147,6 @@ HTMLDocumentParser::HTMLDocumentParser(Document& document,
|
| m_shouldUseThreading(syncPolicy == AllowAsynchronousParsing),
|
| m_endWasDelayed(false),
|
| m_haveBackgroundParser(false),
|
| - m_tasksWereSuspended(false),
|
| m_pumpSessionNestingLevel(0),
|
| m_pumpSpeculationsSessionNestingLevel(0),
|
| m_isParsingAtLineNumber(false),
|
| @@ -381,12 +382,8 @@ void HTMLDocumentParser::notifyPendingTokenizedChunks() {
|
| for (auto& chunk : pendingChunks)
|
| m_speculations.append(std::move(chunk));
|
|
|
| - if (!isWaitingForScripts() && !isScheduledForResume()) {
|
| - if (m_tasksWereSuspended)
|
| - m_parserScheduler->forceResumeAfterYield();
|
| - else
|
| - m_parserScheduler->scheduleForResume();
|
| - }
|
| + if (!isWaitingForScripts() && !isScheduledForResume())
|
| + m_parserScheduler->scheduleForResume();
|
| }
|
|
|
| void HTMLDocumentParser::didReceiveEncodingDataFromBackgroundParser(
|
| @@ -1123,20 +1120,6 @@ void HTMLDocumentParser::parseDocumentFragment(
|
| parser->detach();
|
| }
|
|
|
| -void HTMLDocumentParser::suspendScheduledTasks() {
|
| - ASSERT(!m_tasksWereSuspended);
|
| - m_tasksWereSuspended = true;
|
| - if (m_parserScheduler)
|
| - m_parserScheduler->suspend();
|
| -}
|
| -
|
| -void HTMLDocumentParser::resumeScheduledTasks() {
|
| - ASSERT(m_tasksWereSuspended);
|
| - m_tasksWereSuspended = false;
|
| - if (m_parserScheduler)
|
| - m_parserScheduler->resume();
|
| -}
|
| -
|
| void HTMLDocumentParser::appendBytes(const char* data, size_t length) {
|
| if (!length || isStopped())
|
| return;
|
|
|