Skip to content

Commit

Permalink
Ensure padding inflation does not cause block scroll in single-line i…
Browse files Browse the repository at this point in the history
…nput elements.

These elements can't be scrolled block-direction by user anyway. It can be
programatically moved, but other browsers don't support that (See bug 1933477).
This also preserve our heuristics for finding user-scrollable elements.

Differential Revision: https://phabricator.services.mozilla.com/D230277

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1932840
gecko-commit: 6f0c8239c94d1d285b08727f4c642046f04db740
gecko-reviewers: layout-reviewers, emilio
  • Loading branch information
dshin-moz authored and moz-wptsync-bot committed Nov 29, 2024
1 parent cc88ad5 commit f238d7d
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions css/css-overflow/scrollable-overflow-padding-input.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!DOCTYPE html>
<title>CSS Overflow Test: Ensure that padding inflation does not cause block-direction scroll in input elements.</title>
<link rel="author" title="David Shin" href="mailto:dshin@mozilla.com">
<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#scrollable">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1932840">
<link rel="stylesheet" href="/fonts/ahem.css">
<style>
input.test {
width: 100px;
height: 100px;
font: 105px/1 Ahem;
padding: 10px;
}

textarea.test {
width: 100px;
height: 100px;
font: 105px/1 Ahem;
padding: 10px;
}

input[type="search"].test {
box-sizing: content-box;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/check-layout-th.js"></script>
<body onload="checkLayout('.test')">
<input type="text" value="X" class="test" data-expected-scroll-height="120"><br>
<input type="number" value="1" class="test" data-expected-scroll-height="120"><br>
<input type="password" value="X" class="test" data-expected-scroll-height="120"><br>
<input type="search" class="test" value="X" data-expected-scroll-height="120"><br>
<!-- textarea is meant to scroll, so it gets padding inflation. -->
<textarea class="test" data-expected-scroll-height="125">X</textarea><br>
</body>

0 comments on commit f238d7d

Please sign in to comment.