mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +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));
|
Scrollable));
|
||||||
|
|
||||||
// Release all tiles from the layer before dropping it.
|
// Release all tiles from the layer before dropping it.
|
||||||
for layer in self.scene.root.mut_iter() {
|
match self.scene.root {
|
||||||
CompositorData::clear_all_tiles(layer.clone());
|
Some(ref mut layer) => CompositorData::clear_all_tiles(layer.clone()),
|
||||||
|
None => { }
|
||||||
}
|
}
|
||||||
self.scene.root = Some(new_root);
|
self.scene.root = Some(new_root);
|
||||||
}
|
}
|
||||||
|
@ -685,11 +686,14 @@ impl IOCompositor {
|
||||||
let page_cursor = cursor.as_f32() / scale;
|
let page_cursor = cursor.as_f32() / scale;
|
||||||
let page_window = self.page_window();
|
let page_window = self.page_window();
|
||||||
let mut scroll = false;
|
let mut scroll = false;
|
||||||
for layer in self.scene.root.mut_iter() {
|
match self.scene.root {
|
||||||
scroll = CompositorData::handle_scroll_event(layer.clone(),
|
Some(ref mut layer) => {
|
||||||
page_delta,
|
scroll = CompositorData::handle_scroll_event(layer.clone(),
|
||||||
page_cursor,
|
page_delta,
|
||||||
page_window) || scroll;
|
page_cursor,
|
||||||
|
page_window) || scroll;
|
||||||
|
}
|
||||||
|
None => { }
|
||||||
}
|
}
|
||||||
self.recomposite_if(scroll);
|
self.recomposite_if(scroll);
|
||||||
self.ask_for_tiles();
|
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_cursor = TypedPoint2D(-1f32, -1f32); // Make sure this hits the base layer
|
||||||
let page_window = self.page_window();
|
let page_window = self.page_window();
|
||||||
|
|
||||||
for layer in self.scene.root.mut_iter() {
|
match self.scene.root {
|
||||||
CompositorData::handle_scroll_event(layer.clone(),
|
Some(ref mut layer) => {
|
||||||
page_delta,
|
CompositorData::handle_scroll_event(layer.clone(),
|
||||||
page_cursor,
|
page_delta,
|
||||||
page_window);
|
page_cursor,
|
||||||
|
page_window);
|
||||||
|
}
|
||||||
|
None => { }
|
||||||
}
|
}
|
||||||
|
|
||||||
self.recomposite = true;
|
self.recomposite = true;
|
||||||
|
@ -762,17 +769,19 @@ impl IOCompositor {
|
||||||
fn ask_for_tiles(&mut self) {
|
fn ask_for_tiles(&mut self) {
|
||||||
let scale = self.device_pixels_per_page_px();
|
let scale = self.device_pixels_per_page_px();
|
||||||
let page_window = self.page_window();
|
let page_window = self.page_window();
|
||||||
for layer in self.scene.root.mut_iter() {
|
match self.scene.root {
|
||||||
if !layer.extra_data.borrow().hidden {
|
Some(ref mut layer) if !layer.extra_data.borrow().hidden => {
|
||||||
let rect = Rect(Point2D(0f32, 0f32), page_window.to_untyped());
|
let rect = Rect(Point2D(0f32, 0f32), page_window.to_untyped());
|
||||||
let recomposite = CompositorData::get_buffer_request(layer.clone(),
|
let recomposite = CompositorData::get_buffer_request(layer.clone(),
|
||||||
&self.graphics_context,
|
&self.graphics_context,
|
||||||
rect,
|
rect,
|
||||||
scale.get());
|
scale.get());
|
||||||
self.recomposite = self.recomposite || recomposite;
|
self.recomposite = self.recomposite || recomposite;
|
||||||
} else {
|
}
|
||||||
|
Some(_) => {
|
||||||
debug!("Compositor: root layer is hidden!");
|
debug!("Compositor: root layer is hidden!");
|
||||||
}
|
}
|
||||||
|
None => { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue