forked from mirrors/gecko-dev
Grid container stores the containing block size on a table wrapper grid item in GridItemCBSizeProperty(), but the size is also passed as a parameter when creating table wrapper's ReflowInput, and is stored in ReflowInput::mContainingBlockSize. We can use mContainingBlockSize directly instead of GridItemCBSizeProperty(). The test 002.html is inspired from the testcases in bug 1527734. 003.html and 004.html are inspired from the testcase in bug 1521088. 004.html is 003.html with 'width:500px' added to <table>, which we still fail with this patch. Differential Revision: https://phabricator.services.mozilla.com/D104144
50 lines
1.2 KiB
HTML
50 lines
1.2 KiB
HTML
<!doctype html>
|
|
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
-->
|
|
<meta charset="utf-8">
|
|
<title>Table grid items with padding-top, percentage height, and box-sizing:content-box, don't grow on incremental relayout</title>
|
|
<link rel="author" href="mailto:mats@mozilla.com">
|
|
<link rel="author" href="mailto:emilio@crisal.io">
|
|
<link rel="author" href="mailto:tlin@mozilla.com">
|
|
<link rel="author" href="https://mozilla.org">
|
|
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1521088">
|
|
<link rel="match" href="table-grid-item-dynamic-003-ref.html">
|
|
<style>
|
|
html,body {
|
|
color:black; background-color:white; font:16px/1 monospace; padding:0; margin:0;
|
|
}
|
|
|
|
div {
|
|
display: grid;
|
|
height: 100px;
|
|
background-color: lime;
|
|
}
|
|
|
|
table {
|
|
padding-top: 100px;
|
|
height: 100%;
|
|
box-sizing: content-box;
|
|
background-color: yellow;
|
|
}
|
|
</style>
|
|
|
|
<div>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Relayout shouldn't grow this table</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<script>
|
|
onload = function() {
|
|
let grid = document.querySelector("div");
|
|
grid.getBoundingClientRect();
|
|
document.body.style.width = "50vw";
|
|
grid.getBoundingClientRect();
|
|
document.body.style.width = "";
|
|
}
|
|
</script>
|