Table border doesn't show up
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 9 Apr 2013 11:51:13 +0000 (11:51 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 9 Apr 2013 11:51:13 +0000 (11:51 +0000)
commite79024f958928c263c9da40ca7dade1253b65d5e
tree126cbd238da7776344ee0a4bbf152a4297ab4bf6
parente2ad8a7e5c292477f91bd658c1f0849ba0c77398
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: https://svn.webkit.org/repository/webkit/trunk@148010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/borders/border-width-less-then-a-unit-of-pt-expected.html [new file with mode: 0644]
LayoutTests/fast/borders/border-width-less-then-a-unit-of-pt.html [new file with mode: 0644]
LayoutTests/platform/efl/TestExpectations
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/mac/TestExpectations
LayoutTests/platform/qt/tables/mozilla_expected_failures/bugs/bug89315-expected.png
LayoutTests/platform/qt/tables/mozilla_expected_failures/bugs/bug89315-expected.txt
LayoutTests/tables/mozilla_expected_failures/bugs/bug89315-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/css/StyleBuilder.cpp