From 51488285b1209cb6be49b6e07736fab99169d1c5 Mon Sep 17 00:00:00 2001 From: "alexis.menard@openbossa.org" Date: Mon, 2 Jul 2012 19:56:36 +0000 Subject: [PATCH] fast/box-decoration-break/box-decoration-break-rendering.html failing on mac bots https://bugs.webkit.org/show_bug.cgi?id=89620 Reviewed by Simon Fraser. Remove the border-radius from the test case as it can produce differences between the test case and the reference html. At first we thought the 3 pixels difference was only happening on Mac but after investigation it also happens in Qt (at least). It was not triggered because ImageDiff was called with some tolerance. Turning the tolerance to 0 on Qt also trigger some pixel differences. The differences on how the radius is drawn can be explained by the fact that the reference html and the test case uses two different paths for drawing the border. The reference on the slice case only draw three borders which leads into the contruction of three different drawing paths that we use to clip and clip out. We then draw the border with antialiasing off as we have constructed the outer and inner paths pretty accurately. The test case in the other hand uses the fast path for drawing the borders. The slice effect is in fact is happening because the graphics context is clipped to the current InlineFlowBox rect but still the border has 4 edges and its drawing will happen using the following : create a path with an outer rounded rectangle and an inner rounded rectangle. The path is then filled with RULE_EVENODD and anti-aliasing turn on to achieve a nice looking effect. To conclude the pixel differences are the fact of the two different drawing techniques used here. Fast drawing and anti-aliasing to get a decent result or more accurate algorithm but slower. The original test was not about testing the radiuses of the borders but rather if the borders are cloned or sliced. Even removing the radius still cover the feature. * fast/box-decoration-break/box-decoration-break-rendering-expected.html: * fast/box-decoration-break/box-decoration-break-rendering.html: * platform/mac/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121703 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 33 ++++++++++++++++++++++ .../box-decoration-break-rendering-expected.html | 9 ------ .../box-decoration-break-rendering.html | 1 - LayoutTests/platform/mac/Skipped | 3 -- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 7949469..d30537a 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,36 @@ +2012-07-02 Alexis Menard + + fast/box-decoration-break/box-decoration-break-rendering.html failing on mac bots + https://bugs.webkit.org/show_bug.cgi?id=89620 + + Reviewed by Simon Fraser. + + Remove the border-radius from the test case as it can produce differences between + the test case and the reference html. At first we thought the 3 pixels difference + was only happening on Mac but after investigation it also happens in Qt (at least). + It was not triggered because ImageDiff was called with some tolerance. Turning the + tolerance to 0 on Qt also trigger some pixel differences. + + The differences on how the radius is drawn can be explained by the fact that + the reference html and the test case uses two different paths for drawing the border. + The reference on the slice case only draw three borders which leads into the contruction + of three different drawing paths that we use to clip and clip out. We then draw the border with + antialiasing off as we have constructed the outer and inner paths pretty accurately. + The test case in the other hand uses the fast path for drawing the borders. The slice effect + is in fact is happening because the graphics context is clipped to the current InlineFlowBox rect but still + the border has 4 edges and its drawing will happen using the following : create a path with + an outer rounded rectangle and an inner rounded rectangle. The path is then filled with RULE_EVENODD + and anti-aliasing turn on to achieve a nice looking effect. + + To conclude the pixel differences are the fact of the two different drawing techniques used here. Fast + drawing and anti-aliasing to get a decent result or more accurate algorithm but slower. The original test + was not about testing the radiuses of the borders but rather if the borders are cloned or sliced. Even + removing the radius still cover the feature. + + * fast/box-decoration-break/box-decoration-break-rendering-expected.html: + * fast/box-decoration-break/box-decoration-break-rendering.html: + * platform/mac/Skipped: + 2012-07-02 Dan Bernstein In vertical writing modes, child following float-clearing block has incorrect logical top diff --git a/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering-expected.html b/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering-expected.html index 999b0b7..8dd6502 100644 --- a/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering-expected.html +++ b/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering-expected.html @@ -17,10 +17,6 @@ border-right: 0px solid red; border-left: 2px solid red; border-bottom: 2px solid red; - border-top-left-radius: 4px; - border-top-right-radius: 0px; - border-bottom-right-radius: 0px; - border-bottom-left-radius: 4px; background: yellow; box-shadow: 0px 1px 3px dimgrey; } @@ -32,10 +28,6 @@ border-right: 2px solid red; border-left: 0px solid red; border-bottom: 2px solid red; - border-top-left-radius: 0px; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 0px; background: yellow; box-shadow: 0px 1px 3px dimgrey; } @@ -44,7 +36,6 @@ margin: 0px; padding: 0px; border: 2px solid red; - border-radius: 4px; background: yellow; box-shadow: 0px 1px 3px dimgrey; } diff --git a/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering.html b/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering.html index 73b2362..f8b5698 100644 --- a/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering.html +++ b/LayoutTests/fast/box-decoration-break/box-decoration-break-rendering.html @@ -13,7 +13,6 @@ } span highlight { border: 2px solid red; - border-radius: 4px; background: yellow; box-shadow: 0px 1px 3px dimgrey; } diff --git a/LayoutTests/platform/mac/Skipped b/LayoutTests/platform/mac/Skipped index c870915..869dbba 100644 --- a/LayoutTests/platform/mac/Skipped +++ b/LayoutTests/platform/mac/Skipped @@ -894,9 +894,6 @@ svg/filters/feSpecularLight-premultiplied.svg # https://bugs.webkit.org/show_bug.cgi?id=88736 http/tests/security/mixedContent/blob-url-in-iframe.html -# https://bugs.webkit.org/show_bug.cgi?id=89620 -fast/box-decoration-break/box-decoration-break-rendering.html - # https://bugs.webkit.org/show_bug.cgi?id=89680 fast/canvas/canvas-imageSmoothingEnabled-repaint.html -- 2.7.4