From 2bde8e466a4451c7319e3a072d118917957d6554 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 25 May 2011 19:08:45 +0100 Subject: Merge WebKit at r82507: Initial merge by git Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e --- Source/WebCore/html/parser/HTMLParserScheduler.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Source/WebCore/html/parser/HTMLParserScheduler.cpp') 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 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); -- cgit v1.1