Index: Source/core/html/parser/HTMLDocumentParser.cpp |
diff --git a/Source/core/html/parser/HTMLDocumentParser.cpp b/Source/core/html/parser/HTMLDocumentParser.cpp |
index 494e626632747c47732fd85919edf1c039b0c49f..42afc34feadad9a77fce0a28becff2709a8bc364 100644 |
--- a/Source/core/html/parser/HTMLDocumentParser.cpp |
+++ b/Source/core/html/parser/HTMLDocumentParser.cpp |
@@ -530,6 +530,10 @@ void HTMLDocumentParser::pumpPendingSpeculations() |
SpeculationsPumpSession session(m_pumpSpeculationsSessionNestingLevel, contextForParsingSession()); |
while (!m_speculations.isEmpty()) { |
ASSERT(!isScheduledForResume()); |
+ |
+ if (m_parserScheduler->yieldIfNeeded(session, m_speculations.first()->startingScript)) |
Sami
2015/01/26 18:07:41
I wonder if we should move this yield point in a s
alex clarke (OOO till 29th)
2015/01/27 11:41:19
Done.
|
+ break; |
+ |
size_t elementTokenCount = processParsedChunkFromBackgroundParser(m_speculations.takeFirst()); |
session.addedElementTokens(elementTokenCount); |
@@ -539,9 +543,6 @@ void HTMLDocumentParser::pumpPendingSpeculations() |
// which invokes nested event loops. (e.g. inspector breakpoints) |
if (!isParsing() || isWaitingForScripts() || isScheduledForResume()) |
break; |
- |
- if (m_speculations.isEmpty() || m_parserScheduler->yieldIfNeeded(session, m_speculations.first()->startingScript)) |
- break; |
} |
TRACE_EVENT_END1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "ParseHTML", "endLine", lineNumber().zeroBasedInt()); |