From 4d4b40d24a066a0e829e330853191d250b7c0b83 Mon Sep 17 00:00:00 2001 From: Jonathan Kew Date: Fri, 10 Jul 2020 15:39:07 +0000 Subject: [PATCH] Bug 1335552 - Make nsIFrame::SynthesizeBaselineBOffsetFromBorderBox do something reasonable with orthogonal writing modes. r=dholbert Differential Revision: https://phabricator.services.mozilla.com/D82038 --- layout/generic/nsIFrameInlines.h | 5 +++-- layout/tables/crashtests/1335552-1.html | 13 +++++++++++++ layout/tables/crashtests/1335552-2.html | 13 +++++++++++++ layout/tables/crashtests/crashtests.list | 2 ++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 layout/tables/crashtests/1335552-1.html create mode 100644 layout/tables/crashtests/1335552-2.html diff --git a/layout/generic/nsIFrameInlines.h b/layout/generic/nsIFrameInlines.h index bcb1f79527e6..d397c160e34c 100644 --- a/layout/generic/nsIFrameInlines.h +++ b/layout/generic/nsIFrameInlines.h @@ -128,8 +128,9 @@ nscoord nsIFrame::SynthesizeBaselineBOffsetFromMarginBox( nscoord nsIFrame::SynthesizeBaselineBOffsetFromBorderBox( mozilla::WritingMode aWM, BaselineSharingGroup aGroup) const { - MOZ_ASSERT(!aWM.IsOrthogonalTo(GetWritingMode())); - nscoord borderBoxSize = BSize(aWM); + nscoord borderBoxSize = MOZ_UNLIKELY(aWM.IsOrthogonalTo(GetWritingMode())) + ? ISize(aWM) + : BSize(aWM); if (aGroup == BaselineSharingGroup::First) { return MOZ_LIKELY(aWM.IsAlphabeticalBaseline()) ? borderBoxSize : borderBoxSize / 2; diff --git a/layout/tables/crashtests/1335552-1.html b/layout/tables/crashtests/1335552-1.html new file mode 100644 index 000000000000..95c59f01f967 --- /dev/null +++ b/layout/tables/crashtests/1335552-1.html @@ -0,0 +1,13 @@ + + + + + diff --git a/layout/tables/crashtests/1335552-2.html b/layout/tables/crashtests/1335552-2.html new file mode 100644 index 000000000000..dad49092de7f --- /dev/null +++ b/layout/tables/crashtests/1335552-2.html @@ -0,0 +1,13 @@ + + + + + diff --git a/layout/tables/crashtests/crashtests.list b/layout/tables/crashtests/crashtests.list index 82c41035c45b..c92639bf15ac 100644 --- a/layout/tables/crashtests/crashtests.list +++ b/layout/tables/crashtests/crashtests.list @@ -164,6 +164,8 @@ load 1183896.html load 1223282.html load 1223232.html load 1243623-1.html +load 1335552-1.html +load 1335552-2.html load 1555757-1.html load 1555757-2.html load 1555757-3.html