Fix for 4109667, sIFR flash replacement technique often malfunctions. This bug...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 May 2005 18:35:22 +0000 (18:35 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 5 May 2005 18:35:22 +0000 (18:35 +0000)
commitad2ddb39c1e3a9021e19ef045077554c8ab83d76
treecfe9b74b2b0f4b3d46f1e0599f8d46a1462ffe40
parentde716c9d968156051a3abcfa581423a9a247be6b
Fix for 4109667, sIFR flash replacement technique often malfunctions.  This bug occurs when the plugin
widget update causes the onload for the document to fire.  Because you can be in the middle of a style
recalc when doing an attach (in response to a stylesheet load), the onload fires in the middle of the attach
process when the tree is in a bogus state.

The fix is to add a bit to the document that tells style recalc that the implicitClose() method was invoked
during the style recalc process and the code has been patched so that when this situation occurs, the close is
deferred until after the style recalc has finished.

        Reviewed by John Sullivan

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::recalcStyle):
        (DocumentImpl::implicitClose):
        * khtml/xml/dom_docimpl.h:
        * layout-tests/fast/dynamic/flash-replacement-test.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/fast/dynamic/flash-replacement-test.html [new file with mode: 0644]
WebCore/ChangeLog-2005-08-23
WebCore/khtml/xml/dom_docimpl.cpp
WebCore/khtml/xml/dom_docimpl.h