diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2017-01-24 22:21:07 +0100 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2017-01-24 22:21:07 +0100 |
commit | 1b2d932cfb6b23a329c30c72c29d3bb1f17f8c2d (patch) | |
tree | 40d2bcbd1a68bd6e1dea118be2fa49b8cb051ee4 | |
parent | 4639940dfe82a542058250e27be7b920a75afc25 (diff) | |
download | servo-1b2d932cfb6b23a329c30c72c29d3bb1f17f8c2d.tar.gz servo-1b2d932cfb6b23a329c30c72c29d3bb1f17f8c2d.zip |
Revert "Revert "constellation: Cleanup the frame size handler.""
This reverts commit 58e8ae8607424ec227f813b765fe72b01a4669e0.
-rw-r--r-- | components/constellation/constellation.rs | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index 2cb9082e31a..132bf40e1ac 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -1329,23 +1329,26 @@ impl<Message, LTF, STF> Constellation<Message, LTF, STF> fn handle_frame_size_msg(&mut self, iframe_sizes: Vec<(PipelineId, TypedSize2D<f32, PagePx>)>) { for (pipeline_id, size) in iframe_sizes { - let result = match self.pipelines.get_mut(&pipeline_id) { - Some(pipeline) => { - if pipeline.size != Some(size) { - pipeline.size = Some(size); - let msg = ConstellationControlMsg::Resize(pipeline_id, WindowSizeData { - visible_viewport: size, - initial_viewport: size * ScaleFactor::new(1.0), - device_pixel_ratio: self.window_size.device_pixel_ratio, - }, WindowSizeType::Initial); - Some(pipeline.event_loop.send(msg)) - } else { - None - } + let result = { + let pipeline = match self.pipelines.get_mut(&pipeline_id) { + Some(pipeline) => pipeline, + None => continue, + }; + + if pipeline.size == Some(size) { + continue; } - None => None + + pipeline.size = Some(size); + let msg = ConstellationControlMsg::Resize(pipeline_id, WindowSizeData { + visible_viewport: size, + initial_viewport: size * ScaleFactor::new(1.0), + device_pixel_ratio: self.window_size.device_pixel_ratio, + }, WindowSizeType::Initial); + + pipeline.event_loop.send(msg) }; - if let Some(Err(e)) = result { + if let Err(e) = result { self.handle_send_error(pipeline_id, e); } } |