Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(427)

Unified Diff: third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.cpp

Issue 2554813002: Make HTMLParserScheduler inherit from ActiveDOMObject
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698