fix for [beta2] bugs:

37835
39085
32920

-r pinkerton, rods, hyatt


git-svn-id: svn://10.0.0.236/trunk@70910 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
evaughan%netscape.com
2000-05-26 06:42:29 +00:00
parent ce4a10a206
commit e32f5aa5dd
18 changed files with 328 additions and 148 deletions

View File

@@ -4064,21 +4064,42 @@ nsCSSFrameConstructor::ConstructSelectFrame(nsIPresShell* aPresShell,
#endif
}
nsCOMPtr<nsIStyleContext> gfxScrolledStyle;
aPresContext->ResolvePseudoStyleContextFor(aContent,
nsLayoutAtoms::selectScrolledContentPseudo,
gfxListStyle, PR_FALSE,
getter_AddRefs(gfxScrolledStyle));
// create the area frame we are scrolling
flags = NS_BLOCK_SHRINK_WRAP | (aIsAbsolutelyPositioned?NS_BLOCK_SPACE_MGR:0);
nsIFrame* scrolledFrame = nsnull;
NS_NewSelectsAreaFrame(aPresShell, &scrolledFrame, flags);
nsIFrame* newScrollFrame = nsnull;
/* scroll frame */
#ifdef NEWGFX_LIST_SCROLLFRAME
nsIStyleContext* newStyle = nsnull;
// ok take the style context, the Select area frame to scroll,the listFrame, and its parent
// and build the scrollframe.
BuildScrollFrame(aPresShell, aPresContext, aState, aContent, gfxScrolledStyle, scrolledFrame,
listFrame, newScrollFrame, newStyle);
gfxScrolledStyle = newStyle;
#else
newScrollFrame = scrolledFrame;
#endif
/*
// resolve a style for our gfx scrollframe based on the list frames style
// resolve a style for our gfx scrollframe based on the list frames style
nsCOMPtr<nsIStyleContext> scrollFrameStyle;
aPresContext->ResolvePseudoStyleContextFor(aContent,
nsLayoutAtoms::selectScrolledContentPseudo,
gfxListStyle, PR_FALSE,
getter_AddRefs(scrollFrameStyle));
InitAndRestoreFrame(aPresContext, aState, aContent,
listFrame, scrollFrameStyle, nsnull, scrolledFrame);
parentFrame, gfxScrolledStyle, nsnull, scrolledFrame);
*/
// XXX Temporary for Bug 19416
{
@@ -4093,8 +4114,6 @@ nsCSSFrameConstructor::ConstructSelectFrame(nsIPresShell* aPresShell,
// scrolledFrameStyleContext - The resolved style context of the scrolledframe you passed in.
// this is not the style of the scrollFrame.
nsIFrame* newScrollFrame = nsnull;
nsFrameItems anonChildItems;
// Create display and button frames from the combobox'es anonymous content
CreateAnonymousFrames(aPresShell, aPresContext, nsHTMLAtoms::combobox, aState, aContent, comboboxFrame,
@@ -4104,21 +4123,6 @@ nsCSSFrameConstructor::ConstructSelectFrame(nsIPresShell* aPresShell,
anonChildItems.childList);
/* scroll frame */
#ifdef NEWGFX_LIST_SCROLLFRAME
nsIStyleContext * scrolledFrameStyleContext = nsnull;
// ok take the style context, the Select area frame to scroll,the listFrame, and its parent
// and build the scrollframe.
BuildScrollFrame(aPresShell, aPresContext, aState, aContent, scrollFrameStyle, scrolledFrame,
listFrame, newScrollFrame, scrolledFrameStyleContext);
#else
newScrollFrame = scrolledFrame;
#endif
// The area frame is a floater container
PRBool haveFirstLetterStyle, haveFirstLineStyle;
HaveSpecialBlockStyle(aPresContext, aContent, aStyleContext,