Title: [265742] trunk
Revision
265742
Author
[email protected]
Date
2020-08-16 12:11:06 -0700 (Sun, 16 Aug 2020)

Log Message

[AS Layout Tests] 6 WPT css-backgrounds tests consistently failing
https://bugs.webkit.org/show_bug.cgi?id=215533
rdar://66660924

Reviewed by Youenn Fablet.

Source/WebCore:

A static_cast from float to int, where the float value is larger than MAX_INT, produces
different results on x86_64 and arm64e. Unfortunately, fixing this exposed the fact
that we were accidentally passing the tests below on Intel.

This commit addresses the casting issue and marks the tests as now accurately
failing. Details on the new bug at: webkit.org/b/206753

Covered by:
imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--height.html
imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--width.html
imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--height.html
imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--width.html

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::containerSize const): Don't static_cast from float to int. Rather, use
the explicit IntSize constructor.

LayoutTests:

* TestExpectations: Mark some tests as failing.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (265741 => 265742)


--- trunk/LayoutTests/ChangeLog	2020-08-16 08:16:10 UTC (rev 265741)
+++ trunk/LayoutTests/ChangeLog	2020-08-16 19:11:06 UTC (rev 265742)
@@ -1,3 +1,13 @@
+2020-08-16  Dean Jackson  <[email protected]>
+
+        [AS Layout Tests] 6 WPT css-backgrounds tests consistently failing
+        https://bugs.webkit.org/show_bug.cgi?id=215533
+        rdar://66660924
+
+        Reviewed by Youenn Fablet.
+
+        * TestExpectations: Mark some tests as failing.
+
 2020-08-15  Lauro Moura  <[email protected]>
 
         [GTK][WPE] Add provisional expectation to http/tests to allow the bots to run

Modified: trunk/LayoutTests/TestExpectations (265741 => 265742)


--- trunk/LayoutTests/TestExpectations	2020-08-16 08:16:10 UTC (rev 265741)
+++ trunk/LayoutTests/TestExpectations	2020-08-16 19:11:06 UTC (rev 265742)
@@ -3570,7 +3570,7 @@
 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-nonpercent-height-viewbox.html [ ImageOnlyFailure ]
 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-omitted-height-viewbox.html [ ImageOnlyFailure ]
 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--percent-width-percent-height-viewbox.html [ ImageOnlyFailure ]
-webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--width.html [ ImageOnlyFailure ]
+webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--cover--width.html [ Pass ImageOnlyFailure ]
 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-repeat-round.html [ ImageOnlyFailure ]
 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-round-and-stretch.html [ ImageOnlyFailure ]
 webkit.org/b/206753 imported/w3c/web-platform-tests/css/css-backgrounds/border-image-slice-003.xht [ ImageOnlyFailure ]
@@ -4542,3 +4542,9 @@
 
 # WebKit2 only.
 js/throw-large-string-oom.html [ Skip ]
+
+webkit.org/b/215531 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--height.html [ ImageOnlyFailure ]
+webkit.org/b/215531 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--width.html [ ImageOnlyFailure ]
+webkit.org/b/215531 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--height.html [ ImageOnlyFailure ]
+webkit.org/b/215531 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--width.html [ ImageOnlyFailure ]
+

Modified: trunk/Source/WebCore/ChangeLog (265741 => 265742)


--- trunk/Source/WebCore/ChangeLog	2020-08-16 08:16:10 UTC (rev 265741)
+++ trunk/Source/WebCore/ChangeLog	2020-08-16 19:11:06 UTC (rev 265742)
@@ -1,3 +1,28 @@
+2020-08-16  Dean Jackson  <[email protected]>
+
+        [AS Layout Tests] 6 WPT css-backgrounds tests consistently failing
+        https://bugs.webkit.org/show_bug.cgi?id=215533
+        rdar://66660924
+
+        Reviewed by Youenn Fablet.
+
+        A static_cast from float to int, where the float value is larger than MAX_INT, produces
+        different results on x86_64 and arm64e. Unfortunately, fixing this exposed the fact
+        that we were accidentally passing the tests below on Intel.
+
+        This commit addresses the casting issue and marks the tests as now accurately
+        failing. Details on the new bug at: webkit.org/b/206753
+
+        Covered by:
+        imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--height.html
+        imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/tall--contain--width.html
+        imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--height.html
+        imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--width.html
+
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::containerSize const): Don't static_cast from float to int. Rather, use
+        the explicit IntSize constructor.
+
 2020-08-15  Andres Gonzalez  <[email protected]>
 
         Revert unnecessary change for https://bugs.webkit.org/show_bug.cgi?id=215521.

Modified: trunk/Source/WebCore/svg/graphics/SVGImage.cpp (265741 => 265742)


--- trunk/Source/WebCore/svg/graphics/SVGImage.cpp	2020-08-16 08:16:10 UTC (rev 265741)
+++ trunk/Source/WebCore/svg/graphics/SVGImage.cpp	2020-08-16 19:11:06 UTC (rev 265742)
@@ -170,11 +170,11 @@
     else
         currentSize = rootElement->currentViewBoxRect().size();
 
-    if (!currentSize.isEmpty())
-        return IntSize(static_cast<int>(ceilf(currentSize.width())), static_cast<int>(ceilf(currentSize.height())));
+    // Use the default CSS intrinsic size if the above failed.
+    if (currentSize.isEmpty())
+        return IntSize(300, 150);
 
-    // As last resort, use CSS default intrinsic size.
-    return IntSize(300, 150);
+    return IntSize(currentSize);
 }
 
 ImageDrawResult SVGImage::drawForContainer(GraphicsContext& context, const FloatSize containerSize, float containerZoom, const URL& initialFragmentURL, const FloatRect& dstRect,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to