зеркало из https://github.com/mozilla/pjs.git
border collapse - lookup the correct border owner style, bug 196133, r=jkeiser sr=roc+moz
This commit is contained in:
Родитель
d325dff0e8
Коммит
f96d268197
|
@ -6506,6 +6506,8 @@ struct BCVerticalSeg
|
|||
PRInt32 colX;
|
||||
nsTableCellFrame* ajaCell;
|
||||
nsTableCellFrame* firstCell; // cell at the start of the segment
|
||||
nsTableRowGroupFrame* firstRowGroup; // row group at the start of the segment
|
||||
nsTableRowFrame* firstRow; // row at the start of the segment
|
||||
nsTableCellFrame* lastCell; // cell at the current end of the segment
|
||||
PRInt32 segY;
|
||||
PRInt32 segHeight;
|
||||
|
@ -6547,6 +6549,8 @@ BCVerticalSeg::Start(BCMapBorderIterator& aIter,
|
|||
segWidth = aVerSegWidth;
|
||||
owner = aBorderOwner;
|
||||
firstCell = aIter.cell;
|
||||
firstRowGroup = aIter.rg;
|
||||
firstRow = aIter.row;
|
||||
if (xAdj > 0) {
|
||||
ajaCell = aVerInfoArray[xAdj - 1].lastCell;
|
||||
}
|
||||
|
@ -6769,6 +6773,8 @@ nsTableFrame::PaintBCBorders(nsIPresContext* aPresContext,
|
|||
// get the border style, color and paint the segment
|
||||
PRUint8 side = (iter.IsRightMost()) ? NS_SIDE_RIGHT : NS_SIDE_LEFT;
|
||||
nsTableColGroupFrame* cg = nsnull;
|
||||
nsTableRowFrame* row = info.firstRow;
|
||||
nsTableRowGroupFrame* rowGroup = info.firstRowGroup;
|
||||
nsTableColFrame* col = info.col; if (!col) ABORT0();
|
||||
nsTableCellFrame* cell = info.firstCell;
|
||||
PRUint8 style = NS_STYLE_BORDER_STYLE_SOLID;
|
||||
|
@ -6806,16 +6812,16 @@ nsTableFrame::PaintBCBorders(nsIPresContext* aPresContext,
|
|||
NS_ASSERTION(PR_FALSE, "program error"); // and fall through
|
||||
case eRowGroupOwner:
|
||||
NS_ASSERTION(iter.IsLeftMostTable() || iter.IsRightMostTable(), "program error");
|
||||
if (iter.rg) {
|
||||
::GetStyleInfo(*iter.rg, side, style, color, ignoreIfRules);
|
||||
if (rowGroup) {
|
||||
::GetStyleInfo(*rowGroup, side, style, color, ignoreIfRules);
|
||||
}
|
||||
break;
|
||||
case eAjaRowOwner:
|
||||
NS_ASSERTION(PR_FALSE, "program error"); // and fall through
|
||||
case eRowOwner:
|
||||
NS_ASSERTION(iter.IsLeftMostTable() || iter.IsRightMostTable(), "program error");
|
||||
if (iter.row) {
|
||||
::GetStyleInfo(*iter.row, side, style, color, ignoreIfRules);
|
||||
if (row) {
|
||||
::GetStyleInfo(*row, side, style, color, ignoreIfRules);
|
||||
}
|
||||
break;
|
||||
case eAjaCellOwner:
|
||||
|
|
|
@ -6506,6 +6506,8 @@ struct BCVerticalSeg
|
|||
PRInt32 colX;
|
||||
nsTableCellFrame* ajaCell;
|
||||
nsTableCellFrame* firstCell; // cell at the start of the segment
|
||||
nsTableRowGroupFrame* firstRowGroup; // row group at the start of the segment
|
||||
nsTableRowFrame* firstRow; // row at the start of the segment
|
||||
nsTableCellFrame* lastCell; // cell at the current end of the segment
|
||||
PRInt32 segY;
|
||||
PRInt32 segHeight;
|
||||
|
@ -6547,6 +6549,8 @@ BCVerticalSeg::Start(BCMapBorderIterator& aIter,
|
|||
segWidth = aVerSegWidth;
|
||||
owner = aBorderOwner;
|
||||
firstCell = aIter.cell;
|
||||
firstRowGroup = aIter.rg;
|
||||
firstRow = aIter.row;
|
||||
if (xAdj > 0) {
|
||||
ajaCell = aVerInfoArray[xAdj - 1].lastCell;
|
||||
}
|
||||
|
@ -6769,6 +6773,8 @@ nsTableFrame::PaintBCBorders(nsIPresContext* aPresContext,
|
|||
// get the border style, color and paint the segment
|
||||
PRUint8 side = (iter.IsRightMost()) ? NS_SIDE_RIGHT : NS_SIDE_LEFT;
|
||||
nsTableColGroupFrame* cg = nsnull;
|
||||
nsTableRowFrame* row = info.firstRow;
|
||||
nsTableRowGroupFrame* rowGroup = info.firstRowGroup;
|
||||
nsTableColFrame* col = info.col; if (!col) ABORT0();
|
||||
nsTableCellFrame* cell = info.firstCell;
|
||||
PRUint8 style = NS_STYLE_BORDER_STYLE_SOLID;
|
||||
|
@ -6806,16 +6812,16 @@ nsTableFrame::PaintBCBorders(nsIPresContext* aPresContext,
|
|||
NS_ASSERTION(PR_FALSE, "program error"); // and fall through
|
||||
case eRowGroupOwner:
|
||||
NS_ASSERTION(iter.IsLeftMostTable() || iter.IsRightMostTable(), "program error");
|
||||
if (iter.rg) {
|
||||
::GetStyleInfo(*iter.rg, side, style, color, ignoreIfRules);
|
||||
if (rowGroup) {
|
||||
::GetStyleInfo(*rowGroup, side, style, color, ignoreIfRules);
|
||||
}
|
||||
break;
|
||||
case eAjaRowOwner:
|
||||
NS_ASSERTION(PR_FALSE, "program error"); // and fall through
|
||||
case eRowOwner:
|
||||
NS_ASSERTION(iter.IsLeftMostTable() || iter.IsRightMostTable(), "program error");
|
||||
if (iter.row) {
|
||||
::GetStyleInfo(*iter.row, side, style, color, ignoreIfRules);
|
||||
if (row) {
|
||||
::GetStyleInfo(*row, side, style, color, ignoreIfRules);
|
||||
}
|
||||
break;
|
||||
case eAjaCellOwner:
|
||||
|
|
Загрузка…
Ссылка в новой задаче