Bug 1243125 - patch 2 - Don't ever set NS_FRAME_TRUNCATED for orthogonal flows. r=dholbert

This commit is contained in:
Jonathan Kew 2016-02-03 09:24:28 +00:00
Родитель 4fcfda5536
Коммит a2574a52b6
1 изменённых файлов: 8 добавлений и 3 удалений

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

@ -2925,9 +2925,14 @@ void
nsHTMLReflowState::SetTruncated(const nsHTMLReflowMetrics& aMetrics, nsHTMLReflowState::SetTruncated(const nsHTMLReflowMetrics& aMetrics,
nsReflowStatus* aStatus) const nsReflowStatus* aStatus) const
{ {
if (AvailableBSize() != NS_UNCONSTRAINEDSIZE && const WritingMode containerWM = aMetrics.GetWritingMode();
AvailableBSize() < aMetrics.BSize(GetWritingMode()) && if (GetWritingMode().IsOrthogonalTo(containerWM)) {
!mFlags.mIsTopOfPage) { // Orthogonal flows are always reflowed with an unconstrained dimension,
// so should never end up truncated (see nsHTMLReflowState::Init()).
*aStatus &= ~NS_FRAME_TRUNCATED;
} else if (AvailableBSize() != NS_UNCONSTRAINEDSIZE &&
AvailableBSize() < aMetrics.BSize(containerWM) &&
!mFlags.mIsTopOfPage) {
*aStatus |= NS_FRAME_TRUNCATED; *aStatus |= NS_FRAME_TRUNCATED;
} else { } else {
*aStatus &= ~NS_FRAME_TRUNCATED; *aStatus &= ~NS_FRAME_TRUNCATED;