Bug 1278007 - [css-grid] Reset all baseline bits when we decide a grid item doesn't participate in [first|last]-baseline alignment. r=dholbert

This commit is contained in:
Mats Palmgren 2016-06-03 17:30:00 +02:00
Родитель 14c6b15018
Коммит 16d21bb3d7
3 изменённых файлов: 29 добавлений и 2 удалений

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

@ -0,0 +1,26 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
.grid {
display: grid;
}
.sfb { align-self:baseline; }
.slb { align-self:last-baseline; }
.vl { writing-mode: vertical-lr; }
</style>
</head>
<body>
<div class="grid"><input class="slb"></div>
<div class="grid"><input class="sfb"></div>
<div class="grid"><input class="slb vl"></div>
<div class="grid"><input class="sfb vl"></div>
</body>
</html>

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

@ -626,3 +626,4 @@ asserts-if(Android,2-4) asserts-if(!Android,4) load 1225005.html # bug 682647 an
load 1233191.html
asserts(2) load 1272983-1.html # bug 586628
asserts(2) load 1272983-2.html # bug 586628
load 1278007.html

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

@ -3771,7 +3771,7 @@ nsGridContainerFrame::Tracks::InitializeItemBaselines(
firstBaselineItems.AppendElement(ItemBaselineData(
{ baselineTrack, baseline, alignSize, &gridItem }));
} else {
state &= ~ItemState::eFirstBaseline;
state &= ~ItemState::eAllBaselineBits;
}
} else {
if (nsLayoutUtils::GetLastLineBaseline(wm, child, &baseline)) {
@ -3784,7 +3784,7 @@ nsGridContainerFrame::Tracks::InitializeItemBaselines(
lastBaselineItems.AppendElement(ItemBaselineData(
{ baselineTrack, descent, alignSize, &gridItem }));
} else {
state &= ~ItemState::eLastBaseline;
state &= ~ItemState::eAllBaselineBits;
}
}
}