diff --git a/layout/generic/crashtests/430352-1.html b/layout/generic/crashtests/430352-1.html new file mode 100644 index 000000000000..e22d641299fb --- /dev/null +++ b/layout/generic/crashtests/430352-1.html @@ -0,0 +1,5 @@ + + + + + diff --git a/layout/generic/crashtests/crashtests.list b/layout/generic/crashtests/crashtests.list index ece1d583094e..13a3f10910a8 100644 --- a/layout/generic/crashtests/crashtests.list +++ b/layout/generic/crashtests/crashtests.list @@ -137,3 +137,4 @@ load 416476-1.html load 418532-1.html load 421404-1.html load 425253-1.html +load 430352-1.html diff --git a/layout/generic/nsBlockFrame.cpp b/layout/generic/nsBlockFrame.cpp index b679c48bf4e5..0d0c795a7eca 100644 --- a/layout/generic/nsBlockFrame.cpp +++ b/layout/generic/nsBlockFrame.cpp @@ -796,9 +796,10 @@ CalculateContainingBlockSizeForAbsolutes(const nsHTMLReflowState& aReflowState, nsSize cbSize(aFrameSize); // Containing block is relative to the padding edge - const nsMargin& border = aReflowState.mStyleBorder->GetActualBorder(); - cbSize.width -= border.left + border.right; - cbSize.height -= border.top + border.bottom; + const nsMargin& border = + aReflowState.mComputedBorderPadding - aReflowState.mComputedPadding; + cbSize.width -= border.LeftRight(); + cbSize.height -= border.TopBottom(); if (frame->GetParent()->GetContent() == frame->GetContent()) { // We are a wrapped frame for the content. Use the container's