summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/html/parser/HTMLParserScheduler.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-25 19:08:45 +0100
committerSteve Block <steveblock@google.com>2011-06-08 13:51:31 +0100
commit2bde8e466a4451c7319e3a072d118917957d6554 (patch)
tree28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebCore/html/parser/HTMLParserScheduler.cpp
parent6939c99b71d9372d14a0c74a772108052e8c48c8 (diff)
downloadexternal_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip
external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz
external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebCore/html/parser/HTMLParserScheduler.cpp')
-rw-r--r--Source/WebCore/html/parser/HTMLParserScheduler.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/WebCore/html/parser/HTMLParserScheduler.cpp b/Source/WebCore/html/parser/HTMLParserScheduler.cpp
index c4525c8..393c4be 100644
--- a/Source/WebCore/html/parser/HTMLParserScheduler.cpp
+++ b/Source/WebCore/html/parser/HTMLParserScheduler.cpp
@@ -86,6 +86,16 @@ void HTMLParserScheduler::continueNextChunkTimerFired(Timer<HTMLParserScheduler>
m_parser->resumeParsingAfterYield();
}
+void HTMLParserScheduler::checkForYieldBeforeScript(PumpSession& session)
+{
+ // If we've never painted before and a layout is pending, yield prior to running
+ // scripts to give the page a chance to paint earlier.
+ Document* document = m_parser->document();
+ bool needsFirstPaint = document->view() && !document->view()->hasEverPainted();
+ if (needsFirstPaint && document->isLayoutTimerActive())
+ session.needsYield = true;
+}
+
void HTMLParserScheduler::scheduleForResume()
{
m_continueNextChunkTimer.startOneShot(0);