diff options
author | win7-7 <win7-7@users.noreply.github.com> | 2020-02-16 16:06:53 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 12:45:15 +0200 |
commit | c9fd86cb784b81ab30461b773667b7251347fae6 (patch) | |
tree | 2b11c58b75866de08e091d27ea1d4ec289c20873 /layout/mathml | |
parent | 550d634ff522b0fa1a586f8d85692cff361dca17 (diff) | |
download | UXP-c9fd86cb784b81ab30461b773667b7251347fae6.tar UXP-c9fd86cb784b81ab30461b773667b7251347fae6.tar.gz UXP-c9fd86cb784b81ab30461b773667b7251347fae6.tar.lz UXP-c9fd86cb784b81ab30461b773667b7251347fae6.tar.xz UXP-c9fd86cb784b81ab30461b773667b7251347fae6.zip |
Issue #1355 - Make nsTableCellFrame::GetColIndex/GetRowIndex faster
We can devirtualize it, remove some branches.
Diffstat (limited to 'layout/mathml')
-rw-r--r-- | layout/mathml/nsMathMLmtableFrame.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/layout/mathml/nsMathMLmtableFrame.cpp b/layout/mathml/nsMathMLmtableFrame.cpp index 1ff8a28ef..4bd7d4395 100644 --- a/layout/mathml/nsMathMLmtableFrame.cpp +++ b/layout/mathml/nsMathMLmtableFrame.cpp @@ -183,10 +183,8 @@ static void ApplyBorderToStyle(const nsMathMLmtdFrame* aFrame, nsStyleBorder& aStyleBorder) { - int32_t rowIndex; - int32_t columnIndex; - aFrame->GetRowIndex(rowIndex); - aFrame->GetColIndex(columnIndex); + uint32_t rowIndex = aFrame->RowIndex(); + uint32_t columnIndex = aFrame->ColIndex(); nscoord borderWidth = aFrame->PresContext()->GetBorderWidthTable()[NS_STYLE_BORDER_WIDTH_THIN]; @@ -201,7 +199,7 @@ ApplyBorderToStyle(const nsMathMLmtdFrame* aFrame, if (rowIndex > 0 && rowLinesList) { // If the row number is greater than the number of provided rowline // values, we simply repeat the last value. - int32_t listLength = rowLinesList->Length(); + uint32_t listLength = rowLinesList->Length(); if (rowIndex < listLength) { aStyleBorder.SetBorderStyle(NS_SIDE_TOP, rowLinesList->ElementAt(rowIndex - 1)); @@ -216,7 +214,7 @@ ApplyBorderToStyle(const nsMathMLmtdFrame* aFrame, if (columnIndex > 0 && columnLinesList) { // If the column number is greater than the number of provided columline // values, we simply repeat the last value. - int32_t listLength = columnLinesList->Length(); + uint32_t listLength = columnLinesList->Length(); if (columnIndex < listLength) { aStyleBorder.SetBorderStyle(NS_SIDE_LEFT, columnLinesList->ElementAt(columnIndex - 1)); @@ -1202,12 +1200,11 @@ nsMathMLmtdFrame::GetVerticalAlign() const nsTArray<int8_t>* alignmentList = FindCellProperty(this, RowAlignProperty()); if (alignmentList) { - int32_t rowIndex; - GetRowIndex(rowIndex); + uint32_t rowIndex = RowIndex(); // If the row number is greater than the number of provided rowalign values, // we simply repeat the last value. - if (rowIndex < (int32_t)alignmentList->Length()) + if (rowIndex < alignmentList->Length()) alignment = alignmentList->ElementAt(rowIndex); else alignment = alignmentList->ElementAt(alignmentList->Length() - 1); @@ -1294,12 +1291,11 @@ nsStyleText* nsMathMLmtdInnerFrame::StyleTextForLineLayout() if (alignmentList) { nsMathMLmtdFrame* cellFrame = (nsMathMLmtdFrame*)GetParent(); - int32_t columnIndex; - cellFrame->GetColIndex(columnIndex); + uint32_t columnIndex = cellFrame->ColIndex(); // If the column number is greater than the number of provided columalign // values, we simply repeat the last value. - if (columnIndex < (int32_t)alignmentList->Length()) + if (columnIndex < alignmentList->Length()) alignment = alignmentList->ElementAt(columnIndex); else alignment = alignmentList->ElementAt(alignmentList->Length() - 1); |