Bug 1335552 - Make nsIFrame::SynthesizeBaselineBOffsetFromBorderBox do something reasonable with orthogonal writing modes. r=dholbert

Differential Revision: https://phabricator.services.mozilla.com/D82038
This commit is contained in:
Jonathan Kew 2020-07-10 15:39:07 +00:00
Родитель 304b57adbc
Коммит 4d4b40d24a
4 изменённых файлов: 31 добавлений и 2 удалений

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

@ -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;

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

@ -0,0 +1,13 @@
<html><head>
<meta charset=utf-8>
<script>
window.onload = function() {
let t = document.createElement('tbody');
t.style="writing-mode:sideways-lr";
document.body.appendChild(t);
let c = document.createElement('col');
t.appendChild(c);
};
</script>
</head>
<body>

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

@ -0,0 +1,13 @@
<html><head>
<meta charset=utf-8>
<script>
window.onload = function() {
let t = document.createElement('div');
t.style="writing-mode:sideways-lr; display:table-row-group;";
document.body.appendChild(t);
let c = document.createElement('col');
t.appendChild(c);
};
</script>
</head>
<body>

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

@ -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