aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_thread_2020/lib.rs
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2020-01-31 17:54:56 +0100
committerSimon Sapin <simon.sapin@exyr.org>2020-02-11 14:02:19 +0100
commitfa7839270d04cc52afdc5c26e576b65107f08792 (patch)
tree236497108973239d592072c78969c899543243c8 /components/layout_thread_2020/lib.rs
parentb10a24e81ec96db6aec0e0b1dbea8c7fb25f5bad (diff)
downloadservo-fa7839270d04cc52afdc5c26e576b65107f08792.tar.gz
servo-fa7839270d04cc52afdc5c26e576b65107f08792.zip
Add layout_2020 support for NodeGeometryQuery and ContentBoxQuery
Diffstat (limited to 'components/layout_thread_2020/lib.rs')
-rw-r--r--components/layout_thread_2020/lib.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/components/layout_thread_2020/lib.rs b/components/layout_thread_2020/lib.rs
index 0cc910d9c71..97d19762528 100644
--- a/components/layout_thread_2020/lib.rs
+++ b/components/layout_thread_2020/lib.rs
@@ -1234,7 +1234,10 @@ impl LayoutThread {
rw_data.text_index_response = process_text_index_request(node, point_in_node);
},
&QueryMsg::ClientRectQuery(node) => {
- rw_data.client_rect_response = process_node_geometry_request(node);
+ rw_data.client_rect_response = process_node_geometry_request(
+ node,
+ (&*self.fragment_tree_root.borrow()).as_ref(),
+ );
},
&QueryMsg::NodeScrollGeometryQuery(node) => {
rw_data.scroll_area_response = process_node_scroll_area_request(node);
@@ -1383,11 +1386,7 @@ impl LayoutThread {
fragment_tree.scrollable_overflow(),
);
- let viewport_size = webrender_api::units::LayoutSize::from_untyped(Size2D::new(
- self.viewport_size.width.to_f32_px(),
- self.viewport_size.height.to_f32_px(),
- ));
- fragment_tree.build_display_list(&mut display_list, viewport_size);
+ fragment_tree.build_display_list(&mut display_list);
if self.dump_flow_tree {
fragment_tree.print();
@@ -1408,6 +1407,10 @@ impl LayoutThread {
self.paint_time_metrics
.maybe_observe_paint_time(self, epoch, display_list.is_contentful);
+ let viewport_size = webrender_api::units::LayoutSize::from_untyped(Size2D::new(
+ self.viewport_size.width.to_f32_px(),
+ self.viewport_size.height.to_f32_px(),
+ ));
self.webrender_api.send_display_list(
self.webrender_document,
epoch,