• abarth@webkit.org's avatar
    2011-02-04 Adam Barth <abarth@webkit.org> · c4c33cd8
    abarth@webkit.org authored
            Reviewed by Eric Seidel.
    
            PluginDocuments don't create widgets for plugins on back/forward
            https://bugs.webkit.org/show_bug.cgi?id=53474
    
            Test that plugin loads when in a plugin document on back-forward.
    
            * plugins/plugin-document-back-forward-expected.txt: Added.
            * plugins/plugin-document-back-forward.html: Added.
    2011-02-04  Adam Barth  <abarth@webkit.org>
    
            Reviewed by Eric Seidel.
    
            PluginDocuments don't create widgets for plugins on back/forward
            https://bugs.webkit.org/show_bug.cgi?id=53474
    
            Long ago, PluginDocument always caused the HTMLEmbedElement to create
            its widget synchronously during a post-layout task.  Recently, however,
            some changes to the HistroyController caused layout on back/forward to
            become slightly more complicated (and added an extra level of recursion
            to layout).  This extra level of recursion triggered the "I've recursed
            too many times" condition in the post-layout task queue, causing the
            FrameView to run the remainder of the tasks asynchronously.
            Unfortunately, that broke PluginDocument because it needs its the
            HTMLEmbedElement's updateWidget task to run synchronously.
    
            This patch adds a mechanism for "kicking off" the pending post-layout
            tasks synchronously (instead of waiting for the timer to fire).
            PluginDocument then uses that facility to ensure that the
            HTMLEmbedElement's updateWidget task happens.
    
            Test: plugins/plugin-document-back-forward.html
    
            * html/PluginDocument.cpp:
            (WebCore::PluginDocumentParser::appendBytes):
            * page/FrameView.cpp:
            (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
            * page/FrameView.h:
    2011-02-04  Adam Barth  <abarth@webkit.org>
    
            Reviewed by Eric Seidel.
    
            PluginDocuments don't create widgets for plugins on back/forward
            https://bugs.webkit.org/show_bug.cgi?id=53474
    
            Teach the test plugin how to call alert on load.
    
            * DumpRenderTree/TestNetscapePlugIn/main.cpp:
            (NPP_New):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c4c33cd8
plugin-document-back-forward-expected.txt 45 Bytes