Revamped to create/destroy manage first-letter frames so that incremental operations (append/insert/remove) work properly

git-svn-id: svn://10.0.0.236/trunk@44920 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kipp%netscape.com
1999-08-27 21:46:10 +00:00
parent 858dd7ad39
commit 5b8f10fa6d
4 changed files with 1554 additions and 496 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -505,7 +505,8 @@ protected:
nsIContent* aContent,
nsIFrame* aFrame,
PRBool aCanHaveGeneratedContent,
nsFrameItems& aFrameItems);
nsFrameItems& aFrameItems,
PRBool aParentIsBlock);
nsresult CreateInputFrame(nsIPresContext *aPresContext,
nsIContent *aContent,
@@ -626,10 +627,6 @@ InitializeScrollFrame(nsIPresContext* aPresContext,
// Methods support creating block frames and their children
PRBool HaveFirstLetterStyle(nsIPresContext* aPresContext,
nsIContent* aContent,
nsIStyleContext* aStyleContext);
nsIStyleContext* GetFirstLetterStyle(nsIPresContext* aPresContext,
nsIContent* aContent,
nsIStyleContext* aStyleContext);
@@ -638,13 +635,29 @@ InitializeScrollFrame(nsIPresContext* aPresContext,
nsIContent* aContent,
nsIFrame* aFrame);
nsresult ProcessBlockChildren(nsIPresContext* aPresContext,
nsresult ConstructBlock(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
const nsStyleDisplay* aDisplay,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsIFrame* aNewFrame);
nsresult ConstructInline(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
const nsStyleDisplay* aDisplay,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsIFrame* aNewFrame);
nsresult MakeFirstLetterFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aFrame,
nsFrameItems& aFrameItems,
PRBool aCanHaveGeneratedContent,
PRBool aForBlock);
nsIContent* aContainer,
nsIContent* aChild,
nsIContent* aContainingBlockContent,
nsIFrame* aParentFrame,
nsFrameItems& aFrameItems);
nsresult WrapTextFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,

File diff suppressed because it is too large Load Diff

View File

@@ -505,7 +505,8 @@ protected:
nsIContent* aContent,
nsIFrame* aFrame,
PRBool aCanHaveGeneratedContent,
nsFrameItems& aFrameItems);
nsFrameItems& aFrameItems,
PRBool aParentIsBlock);
nsresult CreateInputFrame(nsIPresContext *aPresContext,
nsIContent *aContent,
@@ -626,10 +627,6 @@ InitializeScrollFrame(nsIPresContext* aPresContext,
// Methods support creating block frames and their children
PRBool HaveFirstLetterStyle(nsIPresContext* aPresContext,
nsIContent* aContent,
nsIStyleContext* aStyleContext);
nsIStyleContext* GetFirstLetterStyle(nsIPresContext* aPresContext,
nsIContent* aContent,
nsIStyleContext* aStyleContext);
@@ -638,13 +635,29 @@ InitializeScrollFrame(nsIPresContext* aPresContext,
nsIContent* aContent,
nsIFrame* aFrame);
nsresult ProcessBlockChildren(nsIPresContext* aPresContext,
nsresult ConstructBlock(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
const nsStyleDisplay* aDisplay,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsIFrame* aNewFrame);
nsresult ConstructInline(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
const nsStyleDisplay* aDisplay,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsIFrame* aNewFrame);
nsresult MakeFirstLetterFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aFrame,
nsFrameItems& aFrameItems,
PRBool aCanHaveGeneratedContent,
PRBool aForBlock);
nsIContent* aContainer,
nsIContent* aChild,
nsIContent* aContainingBlockContent,
nsIFrame* aParentFrame,
nsFrameItems& aFrameItems);
nsresult WrapTextFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,