Table border doesn't show up

https://bugs.webkit.org/show_bug.cgi?id=13709

Patch by Suchit Agrawal <a.suchit@samsung.com> on 2013-04-09
Reviewed by Antti Koivisto.

Source/WebCore:

Border issue is fixed when border width is less than 0.8pt

Border width is stored as unsigned. Border width (specified by
author) is converted into pixels and some times this pixel value
goes less than 1px. In this case, border width becomes 0px when
pixel value (double type) assigned to unsigned type.
Border width should not fall to 0px unless it is specified by
author.

Test: fast/borders/border-width-less-then-a-unit-of-pt.html

* css/StyleBuilder.cpp:
ApplyPropetyComputeLength class is replaced with 3 classes :
ApplyPropertyComputeBorderWidth, ApplyPropertyComputeTextSpacing
and ApplyPropertyComputeTransformOriginZ.

(WebCore::ApplyPropertyComputeBorderWidth::applyValue):
(WebCore::ApplyPropertyComputeBorderWidth::createHandler):
This class handles all width properties like border, outline,
etc. These all properties stores value in integer types.
Pixel value rounded of to 1px if value less than 1px and greater
than 0px.

(WebCore):
(ApplyPropertyComputeTextSpacing):
(WebCore::ApplyPropertyComputeTextSpacing::setValue):
(WebCore::ApplyPropertyComputeTextSpacing::applyValue):
(WebCore::ApplyPropertyComputeTextSpacing::createHandler):
This class handles all spacing properties like word-spacing,
letter-spacing etc.

(ApplyPropertyComputeTransformOriginZ):
(WebCore::ApplyPropertyComputeTransformOriginZ::setValue):
(WebCore::ApplyPropertyComputeTransformOriginZ::applyValue):
(WebCore::ApplyPropertyComputeTransformOriginZ::createHandler):
This class handles TransformOriginZ Property.

(WebCore::StyleBuilder::StyleBuilder):
ApplyProprtyComputeLength class usage changed with defined new
classes as per class definition.

LayoutTests:

This test file have border width, outline offset, outline width, border
spacing and column rule width properties test cases.
* fast/borders/border-width-less-then-a-unit-of-pt-expected.html: Added.
* fast/borders/border-width-less-then-a-unit-of-pt.html: Added.

Test case table/mozilla_expected_failures/bug89315.html need to do rebaseline
in efl, gtk and mac.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

Updated the test result for table/mozilla_expected_failures/bug89315.html
Border is expected for table in test table/mozilla_expected_failures/bug89315.html
* platform/qt/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/qt/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
* tables/mozilla_expected_failures/bugs/bug89315-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent b587f2c5
2013-04-09 Suchit Agrawal <a.suchit@samsung.com>
Table border doesn't show up
https://bugs.webkit.org/show_bug.cgi?id=13709
Reviewed by Antti Koivisto.
This test file have border width, outline offset, outline width, border
spacing and column rule width properties test cases.
* fast/borders/border-width-less-then-a-unit-of-pt-expected.html: Added.
* fast/borders/border-width-less-then-a-unit-of-pt.html: Added.
Test case table/mozilla_expected_failures/bug89315.html need to do rebaseline
in efl, gtk and mac.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
Updated the test result for table/mozilla_expected_failures/bug89315.html
Border is expected for table in test table/mozilla_expected_failures/bug89315.html
* platform/qt/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/qt/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
* tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
2013-04-09 Seokju Kwon <seokju.kwon@gmail.com>
[Qt] Unskip and update inspector tests
<!doctype html>
<html>
<head>
<title>Border Test</title>
<style>div.b,table.b{border-style:solid;border-color:black;outline-style:dotted;outline-color:red;}div.l{-webkit-column-count:6;-webkit-column-gap:30px;-webkit-column-rule-style:outset;</style>
</head>
<body>
<h3>Test for bugzilla bug : <a href="https://bugs.webkit.org/show_bug.cgi?id=13709">13709</a>. Border is not displaying if border width of the element is less than 0.8pt.</h3>
<h4>All below elements should display with borders.</h4>
<table class="b" style="border-width:1px;outline-offset:1px;outline-width:1px;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1px;outline-offset:1px;outline-width:1px">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:1px;outline-offset:1px;outline-width:1px;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1px;outline-offset:1px;outline-width:1px">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:1px;outline-offset:1px;outline-width:1px;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1px;outline-offset:1px;outline-width:1px">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:1px;outline-offset:1px;outline-width:1px;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1px;outline-offset:1px;outline-width:1px;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:2px;outline-offset:2px;outline-width:2px;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:2px;outline-offset:2px;outline-width:2px;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:2px;outline-offset:2px;outline-width:2px;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:2px;outline-offset:2px;outline-width:2px;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table border="1" style="border-spacing:1px;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:1px;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:1px;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:1px;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:2px;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:2px;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<div class="l" style="-webkit-column-rule-width:1px;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:1px;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:1px;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:1px;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:2px;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:2px;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
</body>
</html>
\ No newline at end of file
<!doctype html>
<html>
<head>
<title>Border Test</title>
<style>div.b,table.b{border-style:solid;border-color:black;outline-style:dotted;outline-color:red;}div.l{-webkit-column-count:6;-webkit-column-gap:30px;-webkit-column-rule-style:outset;}</style>
</head>
<body>
<h3>Test for bugzilla bug : <a href="https://bugs.webkit.org/show_bug.cgi?id=13709">13709</a>. Border is not displaying if border width of the element is less than 0.8pt.</h3>
<h4>All below elements should display with borders.</h4>
<table class="b" style="border-width:.3pt;outline-offset:.3pt;outline-width:.3pt;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:.3pt;outline-offset:.3pt;outline-width:.3pt;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:.7pt;outline-offset:.7pt;outline-width:.7pt;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:.7pt;outline-offset:.7pt;outline-width:.7pt;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:.8pt;outline-offset:.8pt;outline-width:.8pt;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:.8pt;outline-offset:.8pt;outline-width:.8pt;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:1.3pt;outline-offset:1.3pt;outline-width:1.3pt;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1.3pt;outline-offset:1.3pt;outline-width:1.3pt;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:1.5pt;outline-offset:1.5pt;outline-width:1.5pt;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1.5pt;outline-offset:1.5pt;outline-width:1.5pt;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table class="b" style="border-width:1.7pt;outline-offset:1.7pt;outline-width:1.7pt;">
<tr>
<td>Table border and outline dotted border should present. There should be some gap between table border and outline dotted border.</td>
</tr>
</table>
<br/>
<div class="b" style="border-width:1.7pt;outline-offset:1.7pt;outline-width:1.7pt;">There should be a border around this text and a outline dotted border. There should be some gap between text border and outline dotted border.</div>
<br/>
<table border="1" style="border-spacing:.3pt;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:.7pt;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:.8pt;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:1.3pt;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:1.5pt;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<table border="1" style="border-spacing:1.7pt;">
<tr>
<td>There are some gap between table border and cell border.</td>
</tr>
</table>
<br/>
<div class="l" style="-webkit-column-rule-width:0.3pt;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:0.7pt;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:0.8pt;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:1.3pt;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:1.5pt;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
<br/>
<div class="l" style="-webkit-column-rule-width:1.7pt;">Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line. Columns should be saperated with line.</div>
</body>
</html>
\ No newline at end of file
......@@ -1851,3 +1851,7 @@ webkit.org/b/82776 storage/indexeddb/pending-version-change-stuck-works-with-ter
webkit.org/b/106732 storage/indexeddb/transaction-complete-workers.html [ Failure ]
webkit.org/b/106507 storage/indexeddb/database-quota.html [ Failure ]
webkit.org/b/107194 storage/indexeddb/pending-activity-workers.html [ Failure ]
# Needs rebaseline after bug https://bugs.webkit.org/show_bug.cgi?id=13709
webkit.org/b/89315 tables/mozilla_expected_failures/bugs/bug89315.html [ Failure Rebaseline ]
......@@ -1398,6 +1398,9 @@ webkit.org/b/114251 accessibility/svg-group-element-with-title.html [ Failure ]
webkit.org/b/114259 platform/gtk/accessibility/aria-slider-required-attributes.html [ Failure ]
webkit.org/b/114259 platform/gtk/accessibility/combo-box-collapsed-selection-changed.html [ Failure ]
# Needs rebaseline after bug https://bugs.webkit.org/show_bug.cgi?id=13709
webkit.org/b/89315 tables/mozilla_expected_failures/bugs/bug89315.html [ Failure Rebaseline ]
#////////////////////////////////////////////////////////////////////////////////////////
# End of Tests failing
#////////////////////////////////////////////////////////////////////////////////////////
......@@ -1493,3 +1493,7 @@ webkit.org/b/113227 transitions/svg-text-shadow-transition.html [ Pass Failure ]
# New test failing, needs investigation.
webkit.org/b/103857 fast/events/mouse-cursor-change.html
# Needs rebaseline after bug https://bugs.webkit.org/show_bug.cgi?id=13709
webkit.org/b/89315 tables/mozilla_expected_failures/bugs/bug89315.html [ Failure Rebaseline ]
2013-04-09 Suchit Agrawal <a.suchit@samsung.com>
Table border doesn't show up
https://bugs.webkit.org/show_bug.cgi?id=13709
Reviewed by Antti Koivisto.
Border issue is fixed when border width is less than 0.8pt
Border width is stored as unsigned. Border width (specified by
author) is converted into pixels and some times this pixel value
goes less than 1px. In this case, border width becomes 0px when
pixel value (double type) assigned to unsigned type.
Border width should not fall to 0px unless it is specified by
author.
Test: fast/borders/border-width-less-then-a-unit-of-pt.html
* css/StyleBuilder.cpp:
ApplyPropetyComputeLength class is replaced with 3 classes :
ApplyPropertyComputeBorderWidth, ApplyPropertyComputeTextSpacing
and ApplyPropertyComputeTransformOriginZ.
(WebCore::ApplyPropertyComputeBorderWidth::applyValue):
(WebCore::ApplyPropertyComputeBorderWidth::createHandler):
This class handles all width properties like border, outline,
etc. These all properties stores value in integer types.
Pixel value rounded of to 1px if value less than 1px and greater
than 0px.
(WebCore):
(ApplyPropertyComputeTextSpacing):
(WebCore::ApplyPropertyComputeTextSpacing::setValue):
(WebCore::ApplyPropertyComputeTextSpacing::applyValue):
(WebCore::ApplyPropertyComputeTextSpacing::createHandler):
This class handles all spacing properties like word-spacing,
letter-spacing etc.
(ApplyPropertyComputeTransformOriginZ):
(WebCore::ApplyPropertyComputeTransformOriginZ::setValue):
(WebCore::ApplyPropertyComputeTransformOriginZ::applyValue):
(WebCore::ApplyPropertyComputeTransformOriginZ::createHandler):
This class handles TransformOriginZ Property.
(WebCore::StyleBuilder::StyleBuilder):
ApplyProprtyComputeLength class usage changed with defined new
classes as per class definition.
2013-04-09 Gabor Loki <loki@webkit.org>
Initialization skipped error on WinCario after r147643
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment