mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-31 11:37:30 +09:00
Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set. Part 2: Get rid of generic table painting code, and handle each class separately. Part 4: Hoist outline skipping into col(group) frame code. Part 5: Skip box-shadow for table column and column groups. Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents. Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop. Part 8: Create column and column group background display items as part of the cell's BuildDisplayList. Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame. Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position. Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
This commit is contained in:
parent
15794686d6
commit
9c783146b2
29 changed files with 488 additions and 340 deletions
12
layout/reftests/position-relative/1409114-1-ref.html
Normal file
12
layout/reftests/position-relative/1409114-1-ref.html
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<table>
|
||||
<col style="background:green">
|
||||
<tr>
|
||||
<td style="width:20px; height:20px"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
11
layout/reftests/position-relative/1409114-1.html
Normal file
11
layout/reftests/position-relative/1409114-1.html
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<table>
|
||||
<col style="background:green">
|
||||
<tr>
|
||||
<td style="position:relative; left:-100px; width:20px; height:20px"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
13
layout/reftests/position-relative/1409114-2.html
Normal file
13
layout/reftests/position-relative/1409114-2.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body style="overflow:hidden">
|
||||
<table style="position:relative; top:-50px">
|
||||
<col style="background:green; width: 40px;">
|
||||
<tr style="position:relative; left:-100px; height: 40px">
|
||||
<td rowspan=2></td>
|
||||
</tr>
|
||||
<tr style="height: 40px"></tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
13
layout/reftests/position-relative/1409114-3.html
Normal file
13
layout/reftests/position-relative/1409114-3.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body style="overflow:hidden">
|
||||
<table style="position:relative; top:-50px">
|
||||
<tbody style="background:green">
|
||||
<tr style="position:relative; left:-100px; height: 40px">
|
||||
<td rowspan=2 style="width: 40px;"></td>
|
||||
</tr>
|
||||
<tr style="height: 40px"></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -7,3 +7,6 @@
|
|||
== table-separate-3.html table-separate-3-ref.html
|
||||
== table-separate-4.html table-separate-4-ref.html
|
||||
== 1115999-1.html 1115999-1-ref.html
|
||||
== 1409114-1.html 1409114-1-ref.html
|
||||
!= 1409114-2.html about:blank
|
||||
!= 1409114-3.html about:blank
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@
|
|||
html, body { margin: 0; padding: 0; border: 0; font-size: 16px; }
|
||||
body { padding: 15px; }
|
||||
|
||||
.o { opacity: 0.5; }
|
||||
|
||||
/*
|
||||
table {
|
||||
margin: 0px 3px 2px 4px;
|
||||
|
|
@ -55,8 +53,8 @@
|
|||
</head>
|
||||
<body>
|
||||
|
||||
<div class="color o"></div>
|
||||
<div class="imagetl o"></div>
|
||||
<div class="color"></div>
|
||||
<div class="imagetl"></div>
|
||||
<div class="imagebr"></div>
|
||||
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@
|
|||
html, body { margin: 0; padding: 0; border: 0; font-size: 16px; }
|
||||
body { padding: 15px; }
|
||||
|
||||
.o { opacity: 0.5; }
|
||||
|
||||
/*
|
||||
table {
|
||||
margin: 0px 3px 2px 4px;
|
||||
|
|
@ -55,8 +53,8 @@
|
|||
</head>
|
||||
<body>
|
||||
|
||||
<div class="color o"></div>
|
||||
<div class="imagetl o"></div>
|
||||
<div class="color"></div>
|
||||
<div class="imagetl"></div>
|
||||
<div class="imagebr"></div>
|
||||
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@
|
|||
html, body { margin: 0; padding: 0; border: 0; font-size: 16px; }
|
||||
body { padding: 15px; }
|
||||
|
||||
.o { opacity: 0.5; }
|
||||
|
||||
/*
|
||||
table {
|
||||
margin: 0px 3px 2px 4px;
|
||||
|
|
@ -65,8 +63,8 @@
|
|||
<body>
|
||||
|
||||
<div class="color"></div>
|
||||
<div class="imagetl o"></div>
|
||||
<div class="imagebr o"></div>
|
||||
<div class="imagetl"></div>
|
||||
<div class="imagebr"></div>
|
||||
|
||||
<div class="hstripe" style="top: 46px"></div>
|
||||
<div class="hstripe" style="top: 70px"></div>
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@
|
|||
html, body { margin: 0; padding: 0; border: 0; font-size: 16px; }
|
||||
body { padding: 15px; }
|
||||
|
||||
.o { opacity: 0.5; }
|
||||
|
||||
/*
|
||||
table {
|
||||
margin: 0px 3px 2px 4px;
|
||||
|
|
@ -65,8 +63,8 @@
|
|||
<body>
|
||||
|
||||
<div class="color"></div>
|
||||
<div class="imagetl o"></div>
|
||||
<div class="imagebr o"></div>
|
||||
<div class="imagetl"></div>
|
||||
<div class="imagebr"></div>
|
||||
|
||||
<div class="hstripe" style="top: 46px"></div>
|
||||
<div class="hstripe" style="top: 70px"></div>
|
||||
|
|
|
|||
|
|
@ -60,3 +60,6 @@ fuzzy-if(d2d||skiaContent,1,95000) == border-separate-opacity-table.html border-
|
|||
== empty-cells-default-2.html empty-cells-default-2-ref.html
|
||||
fuzzy-if(OSX,1,113) fuzzy-if(winWidget,1,12) fuzzy-if(Android,1,39) fuzzy-if(winWidget&&!layersGPUAccelerated,82,116) fuzzy-if(skiaContent,84,5500) == table-row-opacity-dynamic-1.html table-row-opacity-dynamic-1-ref.html
|
||||
== table-row-opacity-dynamic-2.html table-row-opacity-dynamic-2-ref.html
|
||||
|
||||
== table-col-overlapping.html table-col-overlapping-ref.html
|
||||
== table-col-span-1.html table-col-span-1-ref.html
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
td {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: green;
|
||||
}
|
||||
table {
|
||||
border-collapse:separate;
|
||||
border-spacing: 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="background-color: blue"></td>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
28
layout/reftests/table-background/table-col-overlapping.html
Normal file
28
layout/reftests/table-background/table-col-overlapping.html
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
td {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
table {
|
||||
border-collapse:separate;
|
||||
border-spacing: 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<col style="background: green"></col>
|
||||
<col style="background: blue"></col>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td rowspan=2></td>
|
||||
<tr>
|
||||
<td colspan=2></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
15
layout/reftests/table-background/table-col-span-1-ref.html
Normal file
15
layout/reftests/table-background/table-col-span-1-ref.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<table border>
|
||||
<col style="background:purple"></col>
|
||||
<col style="background:purple"></col>
|
||||
<col style="background:blue"></col>
|
||||
<tr>
|
||||
<td>x</td>
|
||||
<td>y</td>
|
||||
<td>z</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
15
layout/reftests/table-background/table-col-span-1.html
Normal file
15
layout/reftests/table-background/table-col-span-1.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<table border>
|
||||
<col span=2 style="background:purple"></col>
|
||||
<col style="background:blue"></col>
|
||||
<tr>
|
||||
<td>x</td>
|
||||
<td>y</td>
|
||||
<td>z</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue