aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_thread/lib.rs
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2017-07-26 20:24:42 +0200
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2017-08-22 14:36:06 +0200
commit1b123400eb70fa4710f21caab8d716396beacfb0 (patch)
tree0877501cf09f0f210b6248bd53c82bdf35b6a665 /components/layout_thread/lib.rs
parent1059ef4fdeb5c76102c3da22293d836942740033 (diff)
downloadservo-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.rs12
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,