Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Outline] Add support for outline with border-radius (non-inline edit…
…ion) https://bugs.webkit.org/show_bug.cgi?id=246064 Reviewed by Antti Koivisto. 1. Compute the radii for inner/outer outline border. 2. Call BorderPainter::paintSides as if we were drawing "border" property. * Source/WebCore/rendering/BorderPainter.cpp: (WebCore::BorderPainter::paintOutline): (Test needs fuzzy adjustment due to the slightly different border radius values to mimic outline.) Canonical link: https://commits.webkit.org/255300@main
- Loading branch information
1 parent
76aa139
commit c3770c7
Showing
3 changed files
with
175 additions
and
46 deletions.
There are no files selected for viewing
65 changes: 65 additions & 0 deletions
65
LayoutTests/fast/borders/outline-border-radius-simple-expected.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
<style> | ||
div { | ||
display: inline-block; | ||
width: 50px; | ||
height: 50px; | ||
border: 2px solid green; | ||
margin-right: 6px; | ||
margin-bottom: 6px; | ||
position: relative; | ||
top: -2px; | ||
left: -2px; | ||
} | ||
|
||
.container { | ||
display: block; | ||
margin: 0px; | ||
width: auto; | ||
height: auto; | ||
border: none; | ||
} | ||
|
||
#outline-width > div { | ||
border-width: 5px; | ||
top: -3px; | ||
} | ||
|
||
#outline-offset > div { | ||
top: -8px; | ||
width: 54px; | ||
height: 54px | ||
} | ||
|
||
</style> | ||
<div style="border-radius: 12px;"></div> | ||
<div style="border-radius: 17px;"></div> | ||
<div style="border-radius: 22px;"></div> | ||
<div style="border-radius: 27px;"></div> | ||
<div style="border-radius: 32px;"></div> | ||
<br> | ||
<div style="border-radius: 12px 32px;"></div> | ||
<div style="border-radius: 17px 27px;"></div> | ||
<div style="border-radius: 22px 22px;"></div> | ||
<div style="border-radius: 27px 17px;"></div> | ||
<div style="border-radius: 32px 12px;"></div> | ||
<br> | ||
<div style="border-radius: 0px 12px 32px 27px;"></div> | ||
<div style="border-radius: 12px 17px 27px 22px;"></div> | ||
<div style="border-radius: 17px 22px 22px 17px;"></div> | ||
<div style="border-radius: 22px 27px 17px 12px;"></div> | ||
<div style="border-radius: 27px 32px 12px 0px;"></div> | ||
<br> | ||
<div class=container id=outline-width> | ||
<div style="left: -3px; border-radius: 0px 15px 35px 30px;"></div> | ||
<div style="left: -9px; border-radius: 15px 20px 30px 25px;"></div> | ||
<div style="left: -15px; border-radius: 20px 25px 25px 20px;"></div> | ||
<div style="left: -21px; border-radius: 25px 30px 20px 15px;"></div> | ||
<div style="left: -27px; border-radius: 30px 35px 15px 0px;"></div> | ||
</div> | ||
<div class=container id=outline-offset> | ||
<div style="left: -2px; border-radius: 0px 14px 34px 29px;"></div> | ||
<div style="left: -6px; border-radius: 14px 19px 29px 24px;"></div> | ||
<div style="left: -10px; border-radius: 19px 24px 24px 19px;"></div> | ||
<div style="left: -14px; border-radius: 24px 29px 19px 14px;"></div> | ||
<div style="left: -18px; border-radius: 29px 34px 14px 0px;"></div> | ||
</div> |
59 changes: 59 additions & 0 deletions
59
LayoutTests/fast/borders/outline-border-radius-simple.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
<meta name="fuzzy" content="maxDifference=24-68; totalPixels=319-573" /> | ||
<style> | ||
div { | ||
display: inline-block; | ||
width: 50px; | ||
height: 50px; | ||
outline: 2px solid green; | ||
margin-right: 10px; | ||
margin-bottom: 10px; | ||
} | ||
|
||
.container { | ||
display: block; | ||
margin: 0px; | ||
width: auto; | ||
height: auto; | ||
outline: none; | ||
} | ||
|
||
#outline-width > div { | ||
outline-width: 5px; | ||
} | ||
|
||
#outline-offset > div { | ||
outline-offset: 2px; | ||
} | ||
</style> | ||
<div style="border-radius: 10px;"></div> | ||
<div style="border-radius: 15px;"></div> | ||
<div style="border-radius: 20px;"></div> | ||
<div style="border-radius: 25px;"></div> | ||
<div style="border-radius: 30px;"></div> | ||
<br> | ||
<div style="border-radius: 10px 30px;"></div> | ||
<div style="border-radius: 15px 25px;"></div> | ||
<div style="border-radius: 20px 20px;"></div> | ||
<div style="border-radius: 25px 15px;"></div> | ||
<div style="border-radius: 30px 10px;"></div> | ||
<br> | ||
<div style="border-radius: 0px 10px 30px 25px;"></div> | ||
<div style="border-radius: 10px 15px 25px 20px;"></div> | ||
<div style="border-radius: 15px 20px 20px 15px;"></div> | ||
<div style="border-radius: 20px 25px 15px 10px;"></div> | ||
<div style="border-radius: 25px 30px 10px 0px;"></div> | ||
<br> | ||
<div class=container id=outline-width> | ||
<div style="border-radius: 0px 10px 30px 25px;"></div> | ||
<div style="border-radius: 10px 15px 25px 20px;"></div> | ||
<div style="border-radius: 15px 20px 20px 15px;"></div> | ||
<div style="border-radius: 20px 25px 15px 10px;"></div> | ||
<div style="border-radius: 25px 30px 10px 0px;"></div> | ||
</div> | ||
<div class=container id=outline-offset> | ||
<div style="border-radius: 0px 10px 30px 25px;"></div> | ||
<div style="border-radius: 10px 15px 25px 20px;"></div> | ||
<div style="border-radius: 15px 20px 20px 15px;"></div> | ||
<div style="border-radius: 20px 25px 15px 10px;"></div> | ||
<div style="border-radius: 25px 30px 10px 0px;"></div> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters