Improve border images

Respect CSS border-image-width.
Properly support gradients as a border-image-source.
Only emit a border item if the border-width is non-zero
for simple borders but still emit one if the item is
an image as paint worklet that are not drawn cause servo
to hang and fail tests.

Add a new test and mark 4 more as passing.
This commit is contained in:
Pyfisch 2018-09-04 21:19:59 +02:00
parent 41a2010ee7
commit fabb70f874
9 changed files with 272 additions and 163 deletions

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>border-image-width has the same effect as a border-width and the image is displayed even if border-width is zero</title>
<link rel="match" href="border-image-width-008-ref.html">
<link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#propdef-border-image-width" />
<style>
#test {
width: 400px;
height: 300px;
border-style: solid;
/* Note: Chrome does not display an image if border-width is 0 */
border-width: 0px;
border-image-source: url("support/border.png");
border-image-width: 40px 40px 20px 0px;
border-image-slice: 27;
}
</style>
<body>
<div id="test"></div>
</body>