Skip to content
  • commit-queue@webkit.org's avatar
    Defer ScriptExecutionContext::Task's in Document when page loading is deferred. · 160529f8
    commit-queue@webkit.org authored
    Schedule them with timer when page loading is resumed. The tasks will be performed
    in the original order. This fixes the problem that database callbacks could be missed
    when page loading was deferred.
    https://bugs.webkit.org/show_bug.cgi?id=49401
    
    Patch by Yong Li <yoli@rim.com> on 2011-12-07
    Reviewed by Darin Adler.
    
    Manual test added: ManualTests/database-callback-deferred.html.
    
    * dom/Document.cpp:
    (WebCore::Document::Document):
    (WebCore::Document::didReceiveTask):
    (WebCore::Document::postTask):
    (WebCore::Document::pendingTasksTimerFired):
    (WebCore::Document::suspendScheduledTasks):
    (WebCore::Document::resumeScheduledTasks):
    * dom/Document.h:
    * page/PageGroupLoadDeferrer.cpp:
    (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
    (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@102278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    160529f8