mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Eliminate iteration over Option types
This idiom has been dying out in new Rust code; it's especially confusing for layers because there is a higher chance of making the mistaken assumption that the iteration is occurring over multiple layers.
This commit is contained in:
parent
f91d51cb2c
commit
512c986915
1 changed files with 24 additions and 15 deletions
|
@ -413,8 +413,9 @@ impl IOCompositor {
|
|||
Scrollable));
|
||||
|
||||
// Release all tiles from the layer before dropping it.
|
||||
for layer in self.scene.root.mut_iter() {
|
||||
CompositorData::clear_all_tiles(layer.clone());
|
||||
match self.scene.root {
|
||||
Some(ref mut layer) => CompositorData::clear_all_tiles(layer.clone()),
|
||||
None => { }
|
||||
}
|
||||
self.scene.root = Some(new_root);
|
||||
}
|
||||
|
@ -685,11 +686,14 @@ impl IOCompositor {
|
|||
let page_cursor = cursor.as_f32() / scale;
|
||||
let page_window = self.page_window();
|
||||
let mut scroll = false;
|
||||
for layer in self.scene.root.mut_iter() {
|
||||
scroll = CompositorData::handle_scroll_event(layer.clone(),
|
||||
page_delta,
|
||||
page_cursor,
|
||||
page_window) || scroll;
|
||||
match self.scene.root {
|
||||
Some(ref mut layer) => {
|
||||
scroll = CompositorData::handle_scroll_event(layer.clone(),
|
||||
page_delta,
|
||||
page_cursor,
|
||||
page_window) || scroll;
|
||||
}
|
||||
None => { }
|
||||
}
|
||||
self.recomposite_if(scroll);
|
||||
self.ask_for_tiles();
|
||||
|
@ -739,11 +743,14 @@ impl IOCompositor {
|
|||
let page_cursor = TypedPoint2D(-1f32, -1f32); // Make sure this hits the base layer
|
||||
let page_window = self.page_window();
|
||||
|
||||
for layer in self.scene.root.mut_iter() {
|
||||
CompositorData::handle_scroll_event(layer.clone(),
|
||||
page_delta,
|
||||
page_cursor,
|
||||
page_window);
|
||||
match self.scene.root {
|
||||
Some(ref mut layer) => {
|
||||
CompositorData::handle_scroll_event(layer.clone(),
|
||||
page_delta,
|
||||
page_cursor,
|
||||
page_window);
|
||||
}
|
||||
None => { }
|
||||
}
|
||||
|
||||
self.recomposite = true;
|
||||
|
@ -762,17 +769,19 @@ impl IOCompositor {
|
|||
fn ask_for_tiles(&mut self) {
|
||||
let scale = self.device_pixels_per_page_px();
|
||||
let page_window = self.page_window();
|
||||
for layer in self.scene.root.mut_iter() {
|
||||
if !layer.extra_data.borrow().hidden {
|
||||
match self.scene.root {
|
||||
Some(ref mut layer) if !layer.extra_data.borrow().hidden => {
|
||||
let rect = Rect(Point2D(0f32, 0f32), page_window.to_untyped());
|
||||
let recomposite = CompositorData::get_buffer_request(layer.clone(),
|
||||
&self.graphics_context,
|
||||
rect,
|
||||
scale.get());
|
||||
self.recomposite = self.recomposite || recomposite;
|
||||
} else {
|
||||
}
|
||||
Some(_) => {
|
||||
debug!("Compositor: root layer is hidden!");
|
||||
}
|
||||
None => { }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue