Fix regression that prevented 'font-size' from applying to list numbers. b=110360 sr=attinasi r=karnaze a=roc

This commit is contained in:
dbaron%fas.harvard.edu 2002-02-21 01:36:16 +00:00
Родитель 856d45b4e1
Коммит 21048cb4cf
6 изменённых файлов: 44 добавлений и 16 удалений

Просмотреть файл

@ -57,6 +57,7 @@ HTML_ATOM(mozAnonymousPositionedBlock, ":-moz-anonymous-positioned-block")
HTML_ATOM(mozFirstLineFixup, ":-moz-first-line-fixup")
HTML_ATOM(mozLineFrame, ":-moz-line-frame")
HTML_ATOM(mozListBulletPseudo, ":-moz-list-bullet")
HTML_ATOM(mozListNumberPseudo, ":-moz-list-number")
HTML_ATOM(mozSingleLineTextControlFrame, ":-moz-singleline-textcontrol-frame")
HTML_ATOM(mozFocusInnerPseudo, ":-moz-focus-inner")
HTML_ATOM(mozFocusOuterPseudo, ":-moz-focus-outer")

Просмотреть файл

@ -57,6 +57,7 @@ HTML_ATOM(mozAnonymousPositionedBlock, ":-moz-anonymous-positioned-block")
HTML_ATOM(mozFirstLineFixup, ":-moz-first-line-fixup")
HTML_ATOM(mozLineFrame, ":-moz-line-frame")
HTML_ATOM(mozListBulletPseudo, ":-moz-list-bullet")
HTML_ATOM(mozListNumberPseudo, ":-moz-list-number")
HTML_ATOM(mozSingleLineTextControlFrame, ":-moz-singleline-textcontrol-frame")
HTML_ATOM(mozFocusInnerPseudo, ":-moz-focus-inner")
HTML_ATOM(mozFocusOuterPseudo, ":-moz-focus-outer")

Просмотреть файл

@ -859,7 +859,8 @@ nsBlockFrame::Reflow(nsIPresContext* aPresContext,
}
}
// XXX_perf get rid of this!
// XXX_perf get rid of this! This is one of the things that makes
// incremental reflow O(N^2).
BuildFloaterList();
}
@ -1443,7 +1444,8 @@ nsBlockFrame::ComputeFinalSize(const nsHTMLReflowState& aReflowState,
}
// Compute the combined area of our children
// XXX_perf: This can be done incrementally
// XXX_perf: This can be done incrementally. It is currently one of
// the things that makes incremental reflow O(N^2).
nscoord xa = 0, ya = 0, xb = aMetrics.width, yb = aMetrics.height;
if (NS_STYLE_OVERFLOW_HIDDEN != aReflowState.mStyleDisplay->mOverflow) {
for (line_iterator line = begin_lines(), line_end = end_lines();
@ -6123,10 +6125,23 @@ nsBlockFrame::SetInitialChildList(nsIPresContext* aPresContext,
(NS_STYLE_DISPLAY_LIST_ITEM == styleDisplay->mDisplay) &&
(nsnull == mBullet)) {
// Resolve style for the bullet frame
const nsStyleList* styleList;
GetStyleData(eStyleStruct_List, (const nsStyleStruct*&) styleList);
nsIAtom *pseudoElement;
switch (styleList->mListStyleType) {
case NS_STYLE_LIST_STYLE_DISC:
case NS_STYLE_LIST_STYLE_CIRCLE:
case NS_STYLE_LIST_STYLE_SQUARE:
pseudoElement = nsHTMLAtoms::mozListBulletPseudo;
break;
default:
pseudoElement = nsHTMLAtoms::mozListNumberPseudo;
break;
}
nsIStyleContext* kidSC;
aPresContext->ResolvePseudoStyleContextFor(mContent,
nsHTMLAtoms::mozListBulletPseudo,
mStyleContext, PR_FALSE, &kidSC);
aPresContext->ResolvePseudoStyleContextFor(mContent, pseudoElement,
mStyleContext, PR_FALSE,
&kidSC);
// Create bullet frame
nsCOMPtr<nsIPresShell> shell;
@ -6142,8 +6157,6 @@ nsBlockFrame::SetInitialChildList(nsIPresContext* aPresContext,
// If the list bullet frame should be positioned inside then add
// it to the flow now.
const nsStyleList* styleList;
GetStyleData(eStyleStruct_List, (const nsStyleStruct*&) styleList);
if (NS_STYLE_LIST_STYLE_POSITION_INSIDE ==
styleList->mListStylePosition) {
AddFrames(aPresContext, mBullet, nsnull);

Просмотреть файл

@ -859,7 +859,8 @@ nsBlockFrame::Reflow(nsIPresContext* aPresContext,
}
}
// XXX_perf get rid of this!
// XXX_perf get rid of this! This is one of the things that makes
// incremental reflow O(N^2).
BuildFloaterList();
}
@ -1443,7 +1444,8 @@ nsBlockFrame::ComputeFinalSize(const nsHTMLReflowState& aReflowState,
}
// Compute the combined area of our children
// XXX_perf: This can be done incrementally
// XXX_perf: This can be done incrementally. It is currently one of
// the things that makes incremental reflow O(N^2).
nscoord xa = 0, ya = 0, xb = aMetrics.width, yb = aMetrics.height;
if (NS_STYLE_OVERFLOW_HIDDEN != aReflowState.mStyleDisplay->mOverflow) {
for (line_iterator line = begin_lines(), line_end = end_lines();
@ -6123,10 +6125,23 @@ nsBlockFrame::SetInitialChildList(nsIPresContext* aPresContext,
(NS_STYLE_DISPLAY_LIST_ITEM == styleDisplay->mDisplay) &&
(nsnull == mBullet)) {
// Resolve style for the bullet frame
const nsStyleList* styleList;
GetStyleData(eStyleStruct_List, (const nsStyleStruct*&) styleList);
nsIAtom *pseudoElement;
switch (styleList->mListStyleType) {
case NS_STYLE_LIST_STYLE_DISC:
case NS_STYLE_LIST_STYLE_CIRCLE:
case NS_STYLE_LIST_STYLE_SQUARE:
pseudoElement = nsHTMLAtoms::mozListBulletPseudo;
break;
default:
pseudoElement = nsHTMLAtoms::mozListNumberPseudo;
break;
}
nsIStyleContext* kidSC;
aPresContext->ResolvePseudoStyleContextFor(mContent,
nsHTMLAtoms::mozListBulletPseudo,
mStyleContext, PR_FALSE, &kidSC);
aPresContext->ResolvePseudoStyleContextFor(mContent, pseudoElement,
mStyleContext, PR_FALSE,
&kidSC);
// Create bullet frame
nsCOMPtr<nsIPresShell> shell;
@ -6142,8 +6157,6 @@ nsBlockFrame::SetInitialChildList(nsIPresContext* aPresContext,
// If the list bullet frame should be positioned inside then add
// it to the flow now.
const nsStyleList* styleList;
GetStyleData(eStyleStruct_List, (const nsStyleStruct*&) styleList);
if (NS_STYLE_LIST_STYLE_POSITION_INSIDE ==
styleList->mListStylePosition) {
AddFrames(aPresContext, mBullet, nsnull);

Просмотреть файл

@ -339,7 +339,7 @@ abbr[title], acronym[title] {
/* lists */
*|*:-moz-list-bullet {
*|*:-moz-list-bullet, *|*:-moz-list-number {
display: inline;
vertical-align: baseline;
margin-right: 8px;

Просмотреть файл

@ -339,7 +339,7 @@ abbr[title], acronym[title] {
/* lists */
*|*:-moz-list-bullet {
*|*:-moz-list-bullet, *|*:-moz-list-number {
display: inline;
vertical-align: baseline;
margin-right: 8px;