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
parent e128e82c8e
commit e3f9bcd043

View File

@ -2925,9 +2925,14 @@ void
nsHTMLReflowState::SetTruncated(const nsHTMLReflowMetrics& aMetrics,
nsReflowStatus* aStatus) const
{
if (AvailableBSize() != NS_UNCONSTRAINEDSIZE &&
AvailableBSize() < aMetrics.BSize(GetWritingMode()) &&
!mFlags.mIsTopOfPage) {
const WritingMode containerWM = aMetrics.GetWritingMode();
if (GetWritingMode().IsOrthogonalTo(containerWM)) {
// 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;
} else {
*aStatus &= ~NS_FRAME_TRUNCATED;