<!DOCTYPE html>
<div id="scroller" style="height: 100px; overflow: scroll; scrollbar-width: none">
<div style="display: table-row; visibility: collapse">
<div style="min-width: 1px; height: 150px;"></div>
</div>
</div>
<script>document.write(scroller.scrollHeight)</script>
| Gecko |
Blink, Servo |
| 150 |
100 |
WebKit says 150 but that's irrelevant because it doesn't support collapsed table tracks.
In Servo we used to entirely skip layout for the contents of a collapsed table track, implying 100. However, skipping layout was causing several problems, so now we lay out these contents. That would imply 150, but we added some logic to prevent them from contributing to scrollable overflow, so we kept 100.
Relevant specs: