layout: Allow non-absolutely-positioned elements with overflow: scroll

set to be scrolled.

This makes them establish stacking contexts, which is a CSS 2.1 spec
violation. However, we were already violating the spec here for
absolutely-positioned elements with `overflow: scroll`. It will probably
be easier to fix this spec violation once we either switch entirely to
WebRender or we have multiple layers per stacking context.

Closes #2742.
This commit is contained in:
Patrick Walton 2016-04-06 17:53:11 -07:00
parent 0b951f65b9
commit 1e884ddc69
4 changed files with 54 additions and 27 deletions

View file

@ -0,0 +1,38 @@
<html>
<head>
<link rel=match href=overflow_simple_b.html>
<style>
#first {
height: 100px;
width: 100px;
overflow: scroll;
position: relative;
}
#second {
position: absolute;
height: 100px;
width: 90px;
top: 0;
left: 0;
background: green;
}
#third {
position: absolute;
height: 100px;
width: 110px;
top: 0;
left: 90px;
background: orange;
}
</style>
</head>
<body>
This element should be scrollable.
<div id="first">
<div id="second">
</div>
<div id="third">
</div>
</div>
</body>
</html>