From 0c6b381bbbbf612d524472dac96196146eec9bcd Mon Sep 17 00:00:00 2001 From: Lars Bergstrom Date: Sat, 1 Feb 2014 14:25:55 -0600 Subject: [PATCH] Use synchronous image loading for ref test baseline writing --- src/components/main/servo.rc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/main/servo.rc b/src/components/main/servo.rc index b92f29893fc..8b717f181f9 100755 --- a/src/components/main/servo.rc +++ b/src/components/main/servo.rc @@ -50,7 +50,7 @@ use servo_msg::constellation_msg::InitLoadUrlMsg; use gfx::opts; #[cfg(not(test))] -use servo_net::image_cache_task::ImageCacheTask; +use servo_net::image_cache_task::{ImageCacheTask, SyncImageCacheTask}; #[cfg(not(test))] use servo_net::resource_task::ResourceTask; #[cfg(not(test))] @@ -149,7 +149,14 @@ fn run(opts: Opts) { let opts = &opts_clone; // Create a Servo instance. let resource_task = ResourceTask(); - let image_cache_task = ImageCacheTask(resource_task.clone()); + // If we are emitting an output file, then we need to block on + // image load or we risk emitting an output file missing the + // image. + let image_cache_task = if opts.output_file.is_some() { + SyncImageCacheTask(resource_task.clone()) + } else { + ImageCacheTask(resource_task.clone()) + }; let constellation_chan = Constellation::start(compositor_chan, opts, resource_task,