Index: Source/core/html/parser/HTMLParserScheduler.cpp |
diff --git a/Source/core/html/parser/HTMLParserScheduler.cpp b/Source/core/html/parser/HTMLParserScheduler.cpp |
index 61cb172ccae8990de673cc9d4634963ad5e2d19c..0765052e0a77a31cc68ab312dfe6a5cb52f4f2be 100644 |
--- a/Source/core/html/parser/HTMLParserScheduler.cpp |
+++ b/Source/core/html/parser/HTMLParserScheduler.cpp |
@@ -93,6 +93,12 @@ void HTMLParserScheduler::continueNextChunkTimerFired(Timer<HTMLParserScheduler> |
void HTMLParserScheduler::scheduleForResume() |
{ |
+ // FIXME: Currently Timers use the SharedTimer queue, so scheduling |
+ // a 0ms timer here may cause the parser to resume again before |
+ // returning to the Chromium MessageLoop, thus starving other tasks |
+ // in the MessageLoop. This will be fixed by moving Blink's Timer |
+ // class ontop of postTask, but until then we're probably missing |
+ // frames with this implementation. |
m_continueNextChunkTimer.startOneShot(0, FROM_HERE); |
} |