Bug 654167. Fix drawing of thin 'border-style: double' border-collapsed borders. r=roc

This commit is contained in:
Boris Zbarsky 2011-05-04 13:57:01 -04:00
Родитель 9f9b93131e
Коммит 44b750c135
4 изменённых файлов: 18 добавлений и 1 удалений

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

@ -3315,7 +3315,11 @@ nsCSSRendering::DrawTableBorderSegment(nsRenderingContext& aContext,
}
break;
case NS_STYLE_BORDER_STYLE_DOUBLE:
if ((aBorder.width > 2) && (aBorder.height > 2)) {
// We can only do "double" borders if the thickness of the border
// is more than 2px. Otherwise, we fall through to painting a
// solid border.
if ((aBorder.width > 2*twipsPerPixel || horizontal) &&
(aBorder.height > 2*twipsPerPixel || !horizontal)) {
nscoord startBevel = (aStartBevelOffset > 0)
? RoundFloatToPixel(0.333333f * (float)aStartBevelOffset, twipsPerPixel) : 0;
nscoord endBevel = (aEndBevelOffset > 0)

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

@ -0,0 +1,6 @@
<!DOCTYPE html>
<table style="border-collapse: collapse; border: 1px double blue">
<tr>
<td>This should have a blue border</td>
</tr>
</table>

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

@ -0,0 +1,6 @@
<!DOCTYPE html>
<table style="border-collapse: collapse; border: 1px solid blue">
<tr>
<td>This should have a blue border</td>
</tr>
</table>

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

@ -93,3 +93,4 @@ fails-if(cocoaWidget) == bc_borderoffset2.html bc_borderoffset2_ref.html # bug 4
== bordercolor-3.html bordercolor-3-ref.html
== bordercolor-4.html bordercolor-4-ref.html
== empty-toprow.html empty-toprow-ref.html
== double_borders.html double_borders_ref.html