forked from mirrors/gecko-dev
This patch fixed the following:
1. Make the helper support the vertical writing modes since its callers
GetMinISize() and GetPrefISize() are fully aware of the vertical writing modes.
`overflow-scroll-intrinsic-001.html` verifies this scenario. This also fixed a
testcase with "writing-mode: vertical-lr" in flexbox's
cross-axis-scrollbar.html.
2. Treat scrollbar's intrinsic size "zero" if we have "scrollbar-width: none"
since no scrollbar is showing at all.
`overflow-auto-scrollbar-gutter-intrinsic-003.html` verifies this scenario.
3. Return the scrollbar size if we have "scrollbar-gutter: stable", or twice the
size if we have "scrollbar-gutter: stable both-edges".
`overflow-auto-scrollbar-gutter-intrinsic-{001,002}.html` verifies this
scenario.
Differential Revision: https://phabricator.services.mozilla.com/D135182
55 lines
1.5 KiB
HTML
55 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<meta charset="utf-8">
|
|
<title>CSS Overflow Test: scrollbar-gutter size doesn't contribute to the scroll container's intrinsic size with "overflow:auto" and "scrollbar-width: none"</title>
|
|
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
|
|
<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#scrollbar-gutter-property">
|
|
<link rel="help" href="https://drafts.csswg.org/css-scrollbars/#scrollbar-width">
|
|
<link rel="match" href="overflow-auto-scrollbar-gutter-intrinsic-003-ref.html">
|
|
|
|
<style>
|
|
.line {
|
|
display: flex;
|
|
}
|
|
.container {
|
|
block-size: 50px;
|
|
border: 5px solid black;
|
|
overflow: auto;
|
|
scrollbar-gutter: stable;
|
|
scrollbar-width: none;
|
|
margin: 10px;
|
|
}
|
|
.tall {
|
|
/* trigger overflow */
|
|
block-size: 5000px;
|
|
}
|
|
</style>
|
|
|
|
<div class="line">
|
|
<div class="container">
|
|
<div>I should not wrap</div>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<div class="tall">I should not wrap</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line">
|
|
<div class="container" style="writing-mode: vertical-rl">
|
|
<div>I should not wrap</div>
|
|
</div>
|
|
|
|
<div class="container" style="writing-mode: vertical-rl">
|
|
<div class="tall">I should not wrap</div>
|
|
</div>
|
|
|
|
<div class="container" style="writing-mode: vertical-lr">
|
|
<div>I should not wrap</div>
|
|
</div>
|
|
|
|
<div class="container" style="writing-mode: vertical-lr">
|
|
<div class="tall">I should not wrap</div>
|
|
</div>
|
|
</div>
|
|
</html>
|