Dispatch scroll events to layers above others.

Closes #9416.
This commit is contained in:
Patrick Walton 2016-01-25 16:40:16 -08:00
parent d34641dc3f
commit e4db0715e1
2 changed files with 28 additions and 1 deletions

View file

@ -317,7 +317,7 @@ impl CompositorLayer for Layer<CompositorData> {
// Allow children to scroll.
let scroll_offset = self.extra_data.borrow().scroll_offset;
let new_cursor = cursor - scroll_offset;
for child in &*self.children() {
for child in self.children().iter().rev() {
let child_bounds = child.bounds.borrow();
if child_bounds.contains(&new_cursor) {
let result = child.handle_scroll_event(delta, new_cursor - child_bounds.origin);

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<style>
body {
margin: 0;
}
iframe {
display: block;
width: 300px;
height: 300px;
position: absolute;
background: white;
}
.i1 {
top: 50px;
left: 50px;
}
.i2 {
top: 100px;
left: 100px;
}
</style>
<iframe class="i1" src="lipsum.html"></iframe>
<iframe class="i2" src="lipsum.html"></iframe>