aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/layout_task.rs24
1 files changed, 12 insertions, 12 deletions
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs
index 79dbff5be46..514e3e71e66 100644
--- a/components/layout/layout_task.rs
+++ b/components/layout/layout_task.rs
@@ -97,10 +97,6 @@ pub struct LayoutTaskData {
/// The channel on which messages can be sent to the constellation.
pub constellation_chan: ConstellationChan,
- /// The size of the viewport. This may be different from the size of the screen due to viewport
- /// constraints.
- pub viewport_size: Size2D<Au>,
-
/// The root stacking context.
pub stacking_context: Option<Arc<StackingContext>>,
@@ -214,6 +210,10 @@ pub struct LayoutTask {
/// A counter for epoch messages
epoch: Epoch,
+ /// The size of the viewport. This may be different from the size of the screen due to viewport
+ /// constraints.
+ viewport_size: Size2D<Au>,
+
/// A mutex to allow for fast, read-only RPC of layout's internal data
/// structures, while still letting the LayoutTask modify them.
///
@@ -432,10 +432,10 @@ impl LayoutTask {
visible_rects: Arc::new(HashMap::with_hash_state(Default::default())),
running_animations: Arc::new(HashMap::new()),
epoch: Epoch(0),
+ viewport_size: Size2D::new(Au(0), Au(0)),
rw_data: Arc::new(Mutex::new(
LayoutTaskData {
constellation_chan: constellation_chan,
- viewport_size: Size2D::new(Au(0), Au(0)),
stacking_context: None,
stylist: stylist,
content_box_response: Rect::zero(),
@@ -470,7 +470,7 @@ impl LayoutTask {
SharedLayoutContext {
image_cache_task: self.image_cache_task.clone(),
image_cache_sender: Mutex::new(self.image_cache_sender.clone()),
- viewport_size: rw_data.viewport_size.clone(),
+ viewport_size: self.viewport_size.clone(),
screen_size_changed: screen_size_changed,
font_cache_task: Mutex::new(self.font_cache_task.clone()),
canvas_layers_sender: Mutex::new(self.canvas_layers_sender.clone()),
@@ -992,7 +992,7 @@ impl LayoutTask {
|| {
flow::mut_base(flow_ref::deref_mut(layout_root)).stacking_relative_position =
LogicalPoint::zero(writing_mode).to_physical(writing_mode,
- rw_data.viewport_size);
+ self.viewport_size);
flow::mut_base(flow_ref::deref_mut(layout_root)).clip =
ClippingRegion::from_rect(&data.page_clip_rect);
@@ -1098,7 +1098,7 @@ impl LayoutTask {
let stylesheets_changed = data.stylesheets_changed;
let initial_viewport = data.window_size.initial_viewport;
- let old_viewport_size = rw_data.viewport_size;
+ let old_viewport_size = self.viewport_size;
let current_screen_size = Size2D::new(Au::from_f32_px(initial_viewport.width.get()),
Au::from_f32_px(initial_viewport.height.get()));
@@ -1107,7 +1107,7 @@ impl LayoutTask {
rw_data.stylist.set_device(device, &stylesheets);
let constraints = rw_data.stylist.viewport_constraints().clone();
- rw_data.viewport_size = match constraints {
+ self.viewport_size = match constraints {
Some(ref constraints) => {
debug!("Viewport constraints: {:?}", constraints);
@@ -1119,7 +1119,7 @@ impl LayoutTask {
};
// Handle conditions where the entire flow tree is invalid.
- let viewport_size_changed = rw_data.viewport_size != old_viewport_size;
+ let viewport_size_changed = self.viewport_size != old_viewport_size;
if viewport_size_changed {
if let Some(constraints) = constraints {
// let the constellation know about the viewport constraints
@@ -1225,8 +1225,8 @@ impl LayoutTask {
let mut must_regenerate_display_lists = false;
let mut old_visible_rects = HashMap::with_hash_state(Default::default());
let inflation_amount =
- Size2D::new(rw_data.viewport_size.width * DISPLAY_PORT_THRESHOLD_SIZE_FACTOR,
- rw_data.viewport_size.height * DISPLAY_PORT_THRESHOLD_SIZE_FACTOR);
+ Size2D::new(self.viewport_size.width * DISPLAY_PORT_THRESHOLD_SIZE_FACTOR,
+ self.viewport_size.height * DISPLAY_PORT_THRESHOLD_SIZE_FACTOR);
for &(ref layer_id, ref new_visible_rect) in &new_visible_rects {
match self.visible_rects.get(layer_id) {
None => {