diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2017-07-26 20:24:42 +0200 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2017-08-22 14:36:06 +0200 |
commit | 1b123400eb70fa4710f21caab8d716396beacfb0 (patch) | |
tree | 0877501cf09f0f210b6248bd53c82bdf35b6a665 /components/layout_thread/lib.rs | |
parent | 1059ef4fdeb5c76102c3da22293d836942740033 (diff) | |
download | servo-1b123400eb70fa4710f21caab8d716396beacfb0.tar.gz servo-1b123400eb70fa4710f21caab8d716396beacfb0.zip |
Wait for actual paint before setting paint related metrics
Diffstat (limited to 'components/layout_thread/lib.rs')
-rw-r--r-- | components/layout_thread/lib.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs index 097cf74a2ac..caff54134d7 100644 --- a/components/layout_thread/lib.rs +++ b/components/layout_thread/lib.rs @@ -674,6 +674,10 @@ impl LayoutThread { Request::FromPipeline(LayoutControlMsg::ExitNow) => { self.handle_request_helper(Msg::ExitNow, possibly_locked_rw_data) }, + Request::FromPipeline(LayoutControlMsg::PaintMetric(epoch, paint_time)) => { + self.paint_time_metrics.maybe_set_metric(epoch, paint_time); + true + }, Request::FromScript(msg) => { self.handle_request_helper(msg, possibly_locked_rw_data) }, @@ -1079,10 +1083,10 @@ impl LayoutThread { let viewport_size = webrender_api::LayoutSize::from_untyped(&viewport_size); - // Set paint metrics if needed right before sending the display list to WebRender. - // XXX At some point, we may want to set this metric from WebRender itself. - self.paint_time_metrics.maybe_set_first_paint(self); - self.paint_time_metrics.maybe_set_first_contentful_paint(self, &display_list); + // Observe notifications about rendered frames if needed right before + // sending the display list to WebRender in order to set time related + // Progressive Web Metrics. + self.paint_time_metrics.maybe_observe_paint_time(self, epoch, &display_list); self.webrender_api.set_display_list( self.webrender_document, |