diff --git a/components/layout/query.rs b/components/layout/query.rs index 3f45941e93a..6ff92e1b5bc 100644 --- a/components/layout/query.rs +++ b/components/layout/query.rs @@ -10,7 +10,7 @@ use euclid::point::Point2D; use euclid::rect::Rect; use euclid::size::Size2D; use flow; -use flow_ref::FlowRef; +use flow_ref::{self, FlowRef}; use fragment::{Fragment, FragmentBorderBoxIterator, SpecificFragmentInfo}; use gfx::display_list::{DisplayItemMetadata, DisplayList, OpaqueNode, ScrollOffsetMap}; use gfx_traits::LayerId; @@ -379,7 +379,7 @@ pub fn process_content_box_request( // FIXME(pcwalton): This has not been updated to handle the stacking context relative // stuff. So the position is wrong in most cases. let mut iterator = UnioningFragmentBorderBoxIterator::new(requested_node.opaque()); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, &mut iterator); + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); match iterator.rect { Some(rect) => rect, None => Rect::zero() @@ -391,7 +391,7 @@ pub fn process_content_boxes_request(requested_node: N, layout_ro // FIXME(pcwalton): This has not been updated to handle the stacking context relative // stuff. So the position is wrong in most cases. let mut iterator = CollectingFragmentBorderBoxIterator::new(requested_node.opaque()); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, &mut iterator); + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); iterator.rects } @@ -584,7 +584,7 @@ impl FragmentBorderBoxIterator for ParentOffsetBorderBoxIterator { pub fn process_node_geometry_request(requested_node: N, layout_root: &mut FlowRef) -> Rect { let mut iterator = FragmentLocatingFragmentIterator::new(requested_node.opaque()); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, &mut iterator); + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); iterator.client_rect } @@ -596,7 +596,7 @@ pub fn process_node_layer_id_request(requested_node: N) -> LayerI pub fn process_node_scroll_area_request< N: LayoutNode>(requested_node: N, layout_root: &mut FlowRef) -> Rect { let mut iterator = UnioningFragmentScrollAreaIterator::new(requested_node.opaque()); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, &mut iterator); + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); match iterator.overflow_direction { OverflowDirection::RightAndDown => { let right = max(iterator.union_rect.size.width, iterator.origin_rect.size.width); @@ -721,7 +721,7 @@ pub fn process_resolved_style_request<'a, N, C>(requested_node: N, PositionRetrievingFragmentBorderBoxIterator::new(requested_node.opaque(), property, position); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); iterator.result.map(|r| r.to_css_string()) } @@ -751,7 +751,7 @@ pub fn process_resolved_style_request<'a, N, C>(requested_node: N, side, margin_padding, style.writing_mode); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); iterator.result.map(|r| r.to_css_string()) }, @@ -777,7 +777,7 @@ pub fn process_resolved_style_request<'a, N, C>(requested_node: N, pub fn process_offset_parent_query(requested_node: N, layout_root: &mut FlowRef) -> OffsetParentResponse { let mut iterator = ParentOffsetBorderBoxIterator::new(requested_node.opaque()); - sequential::iterate_through_flow_tree_fragment_border_boxes(layout_root, &mut iterator); + sequential::iterate_through_flow_tree_fragment_border_boxes(flow_ref::deref_mut(layout_root), &mut iterator); let parent_info_index = iterator.parent_nodes.iter().rposition(|info| info.is_some()); match parent_info_index { Some(parent_info_index) => { diff --git a/components/layout/sequential.rs b/components/layout/sequential.rs index 48a4c3b3889..53d565fc423 100644 --- a/components/layout/sequential.rs +++ b/components/layout/sequential.rs @@ -95,7 +95,7 @@ pub fn build_display_list_for_subtree(root: &mut FlowRef, build_display_list.state.items } -pub fn iterate_through_flow_tree_fragment_border_boxes(root: &mut FlowRef, +pub fn iterate_through_flow_tree_fragment_border_boxes(root: &mut Flow, iterator: &mut FragmentBorderBoxIterator) { fn doit(flow: &mut Flow, level: i32, @@ -117,7 +117,7 @@ pub fn iterate_through_flow_tree_fragment_border_boxes(root: &mut FlowRef, } } - doit(flow_ref::deref_mut(root), 0, iterator, &Point2D::zero()); + doit(root, 0, iterator, &Point2D::zero()); } pub fn store_overflow(layout_context: &LayoutContext, flow: &mut Flow) {