diff --git a/layout/html/base/src/nsBodyFrame.cpp b/layout/html/base/src/nsBodyFrame.cpp
index 70f591ba38a8..fd17077f46b9 100644
--- a/layout/html/base/src/nsBodyFrame.cpp
+++ b/layout/html/base/src/nsBodyFrame.cpp
@@ -29,7 +29,6 @@
#include "nsHTMLAtoms.h"
#include "nsIView.h"
#include "nsViewsCID.h"
-#include "nsAbsoluteFrame.h"
#include "nsHTMLIIDs.h"
#include "nsIWebShell.h"
#include "nsHTMLValue.h"
@@ -61,24 +60,6 @@ nsBodyFrame::~nsBodyFrame()
NS_RELEASE(mSpaceManager);
}
-/////////////////////////////////////////////////////////////////////////////
-// nsISupports
-
-nsresult
-nsBodyFrame::QueryInterface(const nsIID& aIID, void** aInstancePtr)
-{
- NS_PRECONDITION(0 != aInstancePtr, "null ptr");
- if (NULL == aInstancePtr) {
- return NS_ERROR_NULL_POINTER;
- }
- if (aIID.Equals(kIAbsoluteItemsIID)) {
- nsIAbsoluteItems* tmp = this;
- *aInstancePtr = (void*) tmp;
- return NS_OK;
- }
- return nsBlockFrame::QueryInterface(aIID, aInstancePtr);
-}
-
/////////////////////////////////////////////////////////////////////////////
// nsIFrame
@@ -288,13 +269,10 @@ nsBodyFrame::Reflow(nsIPresContext& aPresContext,
mStyleContext->GetStyleData(eStyleStruct_Display);
if (NS_STYLE_OVERFLOW_HIDDEN != display->mOverflow) {
- for (PRInt32 i = 0; i < mAbsoluteItems.Count(); i++) {
- // Get the anchor frame
- nsAbsoluteFrame* anchorFrame = (nsAbsoluteFrame*)mAbsoluteItems[i];
- nsIFrame* absoluteFrame = anchorFrame->GetAbsoluteFrame();
- nsRect rect;
+ for (nsIFrame* f = mAbsoluteFrames; nsnull != f; f->GetNextSibling(f)) {
+ nsRect rect;
- absoluteFrame->GetRect(rect);
+ f->GetRect(rect);
nscoord xmost = rect.XMost();
nscoord ymost = rect.YMost();
if (xmost > aDesiredSize.width) {
@@ -371,7 +349,7 @@ nsBodyFrame::CreateContinuingFrame(nsIPresContext& aPresContext,
if (nsnull == cf) {
return NS_ERROR_OUT_OF_MEMORY;
}
- cf->Init(aPresContext, mContent, aParent, aStyleContext);
+ cf->Init(aPresContext, mContent, aParent, mContentParent, aStyleContext);
cf->SetFlags(mFlags);
cf->AppendToFlow(this);
aContinuingFrame = cf;
@@ -506,18 +484,6 @@ void nsBodyFrame::AddAbsoluteFrame(nsIFrame* aFrame)
}
}
-/////////////////////////////////////////////////////////////////////////////
-
-// nsIAbsoluteItems
-
-NS_METHOD nsBodyFrame::AddAbsoluteItem(nsAbsoluteFrame* aAnchorFrame)
-{
- // Add the absolute anchor frame to our list of absolutely positioned
- // items.
- mAbsoluteItems.AppendElement(aAnchorFrame);
- return NS_OK;
-}
-
PRBool
nsBodyFrame::IsAbsoluteFrame(nsIFrame* aFrame)
{
@@ -531,18 +497,13 @@ nsBodyFrame::IsAbsoluteFrame(nsIFrame* aFrame)
return PR_FALSE;
}
-NS_METHOD nsBodyFrame::RemoveAbsoluteItem(nsAbsoluteFrame* aAnchorFrame)
-{
- NS_NOTYETIMPLEMENTED("removing an absolutely positioned frame");
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
// Called at the end of the Reflow() member function so we can process
// any abolutely positioned items that need to be reflowed
void
nsBodyFrame::ReflowAbsoluteItems(nsIPresContext& aPresContext,
const nsHTMLReflowState& aReflowState)
{
+#if 0
for (PRInt32 i = 0; i < mAbsoluteItems.Count(); i++) {
// Get the anchor frame and its absolutely positioned frame
nsAbsoluteFrame* anchorFrame = (nsAbsoluteFrame*)mAbsoluteItems[i];
@@ -638,6 +599,7 @@ nsBodyFrame::ReflowAbsoluteItems(nsIPresContext& aPresContext,
}
}
}
+#endif
}
// Translate aPoint from aFrameFrom's coordinate space to our coordinate space