Split page load into separate network and parsing stages. Delay Page creation until the load is finished. Make session history traversal simply activate existing pipelines, rather than potentially loading them from the network.

This commit is contained in:
Josh Matthews 2015-02-19 10:00:02 -05:00
parent 621150db1c
commit d9f04180a5
5 changed files with 267 additions and 189 deletions

View file

@ -407,8 +407,7 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> {
self.time_profiler_chan.clone(),
self.window_size,
script_pipeline,
load_data.clone());
pipe.load();
load_data);
Rc::new(pipe)
}
@ -876,7 +875,7 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> {
};
for frame in destination_frame.iter() {
frame.pipeline.borrow().load();
frame.pipeline.borrow().activate();
frame.pipeline.borrow().thaw();
}
self.send_frame_tree_and_grant_paint_permission(destination_frame);