Bug 512336. Make frame lists doubly-linked. r=roc,fantasai

This commit is contained in:
Boris Zbarsky
2009-10-02 12:27:37 -04:00
parent 9b15dc7272
commit 8e9c649afe
14 changed files with 74 additions and 149 deletions

View File

@@ -122,12 +122,11 @@ public:
}
/**
* Take aFrame out of the frame list. This also disconnects aFrame
* from the sibling list. The frame must be non-null and present on
* this list.
* The second frame is a hint for the prev-sibling of aFrame; if the
* hint is correct, then this is O(1) time.
*/
void RemoveFrame(nsIFrame* aFrame, nsIFrame* aPrevSiblingHint = nsnull);
void RemoveFrame(nsIFrame* aFrame);
/**
* Take aFrame out of the frame list, if present. This also disconnects
@@ -153,10 +152,8 @@ public:
/**
* Take aFrame out of the frame list and then destroy it.
* The frame must be non-null and present on this list.
* The second frame is a hint for the prev-sibling of aFrame; if the
* hint is correct, then this is O(1) time.
*/
void DestroyFrame(nsIFrame* aFrame, nsIFrame* aPrevSiblingHint = nsnull);
void DestroyFrame(nsIFrame* aFrame);
/**
* If aFrame is present on this list then take it out of the list and
@@ -235,8 +232,6 @@ public:
PRInt32 GetLength() const;
nsIFrame* GetPrevSiblingFor(nsIFrame* aFrame) const;
/**
* If this frame list has only one frame, return that frame.
* Otherwise, return null.