-
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