Skip to content

Commit

Permalink
Refactor self.recomposite value update
Browse files Browse the repository at this point in the history
  • Loading branch information
june0cho committed Jan 3, 2014
1 parent 755a158 commit b065f21
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions src/components/main/compositing/compositor.rs
Expand Up @@ -333,28 +333,22 @@ impl IOCompositor {
id: PipelineId,
new_size: Size2D<f32>,
epoch: Epoch) {
let ask: bool = match self.compositor_layer {
let (ask, move): (bool, bool) = match self.compositor_layer {
Some(ref mut layer) => {
let window_size = &self.window_size;
let world_zoom = self.world_zoom;
let page_window = Size2D(window_size.width as f32 / world_zoom,
window_size.height as f32 / world_zoom);
assert!(layer.resize(id, new_size, page_window, epoch));
match self.fragment_point.take() {
Some(point) => {
let recomposite = layer.move(point, page_window) | self.recomposite;
self.recomposite = recomposite;
},
None => {}
}
true
}
None => {
false
let move = self.fragment_point.take().map_default(false, |point| layer.move(point, page_window));

(true, move)
}
None => (false, false)
};

if ask {
self.recomposite_if(move);
self.ask_for_tiles();
}
}
Expand Down Expand Up @@ -442,21 +436,20 @@ impl IOCompositor {
let world_zoom = self.world_zoom;
let page_window = Size2D(self.window_size.width as f32 / world_zoom,
self.window_size.height as f32 / world_zoom);
let ask: bool = match self.compositor_layer {
let (ask, move): (bool, bool) = match self.compositor_layer {
Some(ref mut layer) if layer.pipeline.id == id && !layer.hidden => {
let recomposite = layer.move(point, page_window) | self.recomposite;
self.recomposite = recomposite;

true
(true, layer.move(point, page_window))
}
Some(_) | None => {
self.fragment_point = Some(point);

false
(false, false)
}
};

if ask {
self.recomposite_if(move);
self.ask_for_tiles();
}
}
Expand Down Expand Up @@ -548,10 +541,11 @@ impl IOCompositor {
cursor.y as f32 / world_zoom);
let page_window = Size2D(self.window_size.width as f32 / world_zoom,
self.window_size.height as f32 / world_zoom);
let mut scroll = false;
for layer in self.compositor_layer.mut_iter() {
let recomposite = layer.scroll(page_delta, page_cursor, page_window) || self.recomposite;
self.recomposite = recomposite;
scroll = layer.scroll(page_delta, page_cursor, page_window) || scroll;
}
self.recomposite_if(scroll);
self.ask_for_tiles();
}

Expand Down Expand Up @@ -663,4 +657,8 @@ impl IOCompositor {
self.done = true;
}
}

fn recomposite_if(&mut self, result: bool) {
self.recomposite = result || self.recomposite;
}
}

5 comments on commit b065f21

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

saw approval from kmcallister
at june0cho@b065f21

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merging june0cho/servo/fix_crash_on_local_bookmark = b065f21 into auto

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

june0cho/servo/fix_crash_on_local_bookmark = b065f21 merged ok, testing candidate = 6dbdcd5

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bors-servo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fast-forwarding master to auto = 6dbdcd5

Please sign in to comment.