Auto merge of #9429 - pcwalton:iframe-scroll-stacking, r=mbrubeck

Dispatch scroll events to layers above others.

Closes #9416.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9429)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-01-26 07:28:23 +05:30
commit b66a001451
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>