summaryrefslogtreecommitdiffstats
path: root/layout/mathml
diff options
context:
space:
mode:
authorwin7-7 <win7-7@users.noreply.github.com>2020-02-16 16:06:53 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-04-14 12:45:15 +0200
commitc9fd86cb784b81ab30461b773667b7251347fae6 (patch)
tree2b11c58b75866de08e091d27ea1d4ec289c20873 /layout/mathml
parent550d634ff522b0fa1a586f8d85692cff361dca17 (diff)
downloadUXP-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.cpp20
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);