diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index 9a4306ae81bce4f5e31f8f3ae8bda53469a51444..25bc7c4260cb6e2e7ad9f0700de5712b8470f016 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -3399,6 +3399,14 @@ nsCSSFrameConstructor::ConstructTableCaptionFrame(nsFrameConstructorState& aStat // XXXbz should we be passing in a non-null aContentParentFrame? nsHTMLContainerFrame::CreateViewForFrame(aNewFrame, nsnull, PR_FALSE); + PRBool haveFirstLetterStyle, haveFirstLineStyle; + HaveSpecialBlockStyle(aContent, aStyleContext, + &haveFirstLetterStyle, &haveFirstLineStyle); + + // The caption frame is a float container + nsFrameConstructorSaveState floatSaveState; + aState.PushFloatContainingBlock(aNewFrame, floatSaveState, + haveFirstLetterStyle, haveFirstLineStyle); nsFrameItems childItems; // pass in aTableCreator so ProcessChildren will call TableProcessChildren rv = ProcessChildren(aState, aContent, aNewFrame,