Skip to content

Commit

Permalink
Keep points on edges crossing w=0 under kInfiniteCoordinate.
Browse files Browse the repository at this point in the history
This adds half of std::numeric_limits<float>::epsilon() (FLT_EPSILON),
which is the smallest representable difference for a float at 1.0, so
that the code to shift t away from the point where w=0 will move it
enough so that the result is less than kInfiniteCoordinate.

Bug: 1224066
Change-Id: I7df134c277f280987405d0d0c2d47de15d3ef55d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3002270
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#898172}
  • Loading branch information
dbaron authored and chromium-wpt-export-bot committed Jul 2, 2021
1 parent 92e9e67 commit 4282133
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions css/css-transforms/crashtests/preserve3d-scene-001.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!DOCTYPE HTML>
<title>CSS Test (Transforms): Very large values in matrix3d()</title>
<link rel="author" title="L. David Baron" href="https://dbaron.org/">
<link rel="author" title="Google" href="http://www.google.com/">
<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1224066">
<meta name="assert" content="This should not crash.">
<style>

.outer {
column-count:16384;
-webkit-mask-box-image: url('?') 10% 90% repeat;
}

.middle {
-webkit-transform-style:preserve-3d;
display:list-item;
}

table {
height:7.1px;
padding-right:4em;
transform:matrix3d(0,7.8,+9,+2,-3.6,3.4,6,8.8,9.5,7,7.3,5.3,6.4,3.7,8.3,8);
border-left: medium black solid;
}

tbody {
font:icon;
}

</style>

<div class="outer"><div class="middle"><table>

0 comments on commit 4282133

Please sign in to comment.