mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
Automatic update from web-platform-tests Update scrollbar-gutter to new version of the spec Update the implementation of scrollbar-gutter to match the new spec: https://drafts.csswg.org/css-overflow-4/#scrollbar-gutter-property The syntax is is simplified to: auto | stable && mirror? The "stable" value also applies when overflow is "hidden". The "always" and "force" keywords have been removed. The "both" keyword has been renamed to "mirror". This CL updates all affected tests to match the new spec. Bug: 710214 Change-Id: I4a22a1abc821fa8982759cee3b69089f75dce229 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2970809 Reviewed-by: Rune Lillesveen <[email protected]> Reviewed-by: Philip Rogers <[email protected]> Commit-Queue: Felipe Erias <[email protected]> Cr-Commit-Position: refs/heads/master@{#896301} -- wpt-commits: 88543e2b64be5702179549bd94983613634c187a wpt-pr: 29451
168 lines
6.8 KiB
HTML
168 lines
6.8 KiB
HTML
<!doctype html>
|
|
<meta charset="utf-8">
|
|
<title>CSS Scrollbars: scrollbar-width with vertical text and horizontal scrollbar</title>
|
|
<link rel="author" title="Felipe Erias Morandeira" href="mailto:[email protected]" />
|
|
<link rel="help" href="https://www.w3.org/TR/css-scrollbars-1/" />
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/css/support/parsing-testcommon.js"></script>
|
|
<style>
|
|
/* Use scrollbar-gutter to reserve space for the scrollbar. */
|
|
.container {
|
|
scrollbar-gutter: stable;
|
|
overflow: auto;
|
|
height: 200px;
|
|
width: 200px;
|
|
margin: 1px;
|
|
padding: 0px;
|
|
border: none;
|
|
background: deepskyblue;
|
|
}
|
|
|
|
.content {
|
|
height: 100%;
|
|
width: 300px;
|
|
background: lightsalmon;
|
|
}
|
|
|
|
/* writing directions */
|
|
.vertical-lr {
|
|
writing-mode: vertical-lr;
|
|
}
|
|
|
|
.vertical-rl {
|
|
writing-mode: vertical-rl;
|
|
}
|
|
|
|
.container.auto {
|
|
scrollbar-width: auto;
|
|
}
|
|
|
|
.container.thin {
|
|
scrollbar-width: thin;
|
|
}
|
|
|
|
.container.none {
|
|
scrollbar-width: none;
|
|
}
|
|
</style>
|
|
<script type="text/javascript">
|
|
|
|
function performTest() {
|
|
setup({ explicit_done: true });
|
|
|
|
// vertical-lr
|
|
|
|
test(function () {
|
|
let container = document.getElementById('container_vlr_auto');
|
|
let content = document.getElementById('content_vlr_auto');
|
|
assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-lr auto scrollHeight");
|
|
assert_less_than(container.clientHeight, container.offsetHeight, "vertical-lr auto clientHeight");
|
|
assert_equals(container.clientHeight, content.clientHeight, "vertical-lr auto clientHeight");
|
|
assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-lr auto offsetHeight");
|
|
}, "vertical-lr, scrollbar-width auto");
|
|
|
|
test(function () {
|
|
let container = document.getElementById('container_vlr_thin');
|
|
let content = document.getElementById('content_vlr_thin');
|
|
assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-lr thin scrollHeight");
|
|
assert_less_than(container.clientHeight, container.offsetHeight, "vertical-lr thin clientHeight");
|
|
assert_equals(container.clientHeight, content.clientHeight, "vertical-lr thin clientHeight");
|
|
assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-lr thin offsetHeight");
|
|
}, "vertical-lr, scrollbar-width thin");
|
|
|
|
test(function () {
|
|
let auto_scrollbar_height =
|
|
document.getElementById('container_vlr_auto').offsetHeight -
|
|
document.getElementById('container_vlr_auto').clientHeight;
|
|
let thin_scrollbar_height =
|
|
document.getElementById('container_vlr_thin').offsetHeight -
|
|
document.getElementById('container_vlr_thin').clientHeight;
|
|
assert_less_than_equal(thin_scrollbar_height, auto_scrollbar_height, "vertical-lr, thin <= auto");
|
|
}, 'vertical-lr, scrollbar-width "thin" is same or thinner than "auto"');
|
|
|
|
test(function () {
|
|
let container = document.getElementById('container_vlr_none');
|
|
let content = document.getElementById('content_vlr_none');
|
|
assert_equals(container.scrollHeight, 200, "vertical-lr none scrollHeight");
|
|
assert_equals(container.clientHeight, 200, "vertical-lr none clientHeight");
|
|
assert_equals(container.clientHeight, content.clientHeight, "vertical-lr none clientHeight");
|
|
assert_equals(container.offsetHeight, content.offsetHeight, "vertical-lr none offsetHeight");
|
|
}, "vertical-lr, scrollbar-width none");
|
|
|
|
// vertical-rl
|
|
|
|
test(function () {
|
|
let container = document.getElementById('container_vrl_auto');
|
|
let content = document.getElementById('content_vrl_auto');
|
|
assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-rl auto scrollHeight");
|
|
assert_less_than(container.clientHeight, container.offsetHeight, "vertical-rl auto clientHeight");
|
|
assert_equals(container.clientHeight, content.clientHeight, "vertical-rl auto clientHeight");
|
|
assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-rl auto offsetHeight");
|
|
}, "vertical-rl, scrollbar-width auto");
|
|
|
|
test(function () {
|
|
let container = document.getElementById('container_vrl_thin');
|
|
let content = document.getElementById('content_vrl_thin');
|
|
assert_less_than(container.scrollHeight, container.offsetHeight, "vertical-rl thin scrollHeight");
|
|
assert_less_than(container.clientHeight, container.offsetHeight, "vertical-rl thin clientHeight");
|
|
assert_equals(container.clientHeight, content.clientHeight, "vertical-rl thin clientHeight");
|
|
assert_not_equals(container.offsetHeight, content.offsetHeight, "vertical-rl thin offsetHeight");
|
|
}, "vertical-rl, scrollbar-width thin");
|
|
|
|
test(function () {
|
|
let auto_scrollbar_height =
|
|
document.getElementById('container_vrl_auto').offsetHeight -
|
|
document.getElementById('container_vrl_auto').clientHeight;
|
|
let thin_scrollbar_height =
|
|
document.getElementById('container_vrl_thin').offsetHeight -
|
|
document.getElementById('container_vrl_thin').clientHeight;
|
|
assert_less_than_equal(thin_scrollbar_height, auto_scrollbar_height, "vertical-rl, thin <= auto");
|
|
}, 'vertical-rl, scrollbar-width "thin" is same or thinner than "auto"');
|
|
|
|
test(function () {
|
|
let container = document.getElementById('container_vrl_none');
|
|
let content = document.getElementById('content_vrl_none');
|
|
assert_equals(container.scrollHeight, 200, "vertical-rl none scrollHeight");
|
|
assert_equals(container.clientHeight, 200, "vertical-rl none clientHeight");
|
|
assert_equals(container.clientHeight, content.clientHeight, "vertical-rl none clientHeight");
|
|
assert_equals(container.offsetHeight, content.offsetHeight, "vertical-rl none offsetHeight");
|
|
}, "vertical-rl, scrollbar-width none");
|
|
|
|
done();
|
|
}
|
|
|
|
</script>
|
|
|
|
<body onload="performTest()">
|
|
|
|
Test scrollbar-width: horizontal scrollbar, vertical-lr direction
|
|
|
|
<div class="container vertical-lr auto" id="container_vlr_auto">
|
|
<div class="content" id="content_vlr_auto">auto</div>
|
|
</div>
|
|
|
|
<div class="container vertical-lr thin" id="container_vlr_thin">
|
|
<div class="content" id="content_vlr_thin">thin</div>
|
|
</div>
|
|
|
|
<div class="container vertical-lr none" id="container_vlr_none">
|
|
<div class="content" id="content_vlr_none">none</div>
|
|
</div>
|
|
|
|
Test scrollbar-width: horizontal scrollbar, vertical-rl direction
|
|
|
|
<div class="container vertical-rl auto" id="container_vrl_auto">
|
|
<div class="content" id="content_vrl_auto">auto</div>
|
|
</div>
|
|
|
|
<div class="container vertical-rl thin" id="container_vrl_thin">
|
|
<div class="content" id="content_vrl_thin">thin</div>
|
|
</div>
|
|
|
|
<div class="container vertical-rl none" id="container_vrl_none">
|
|
<div class="content" id="content_vrl_none">none</div>
|
|
</div>
|
|
|
|
</body>
|