From e19268c04ee29695305c979a35a7537df3b81566 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Tue, 18 Oct 2016 19:51:32 -0400 Subject: [PATCH] Support taking screenshots when a webdriver server is active. --- components/compositing/compositor.rs | 3 +++ components/script/dom/window.rs | 4 +++- components/webdriver_server/lib.rs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index ddf9b069188..2a674b4832c 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -715,6 +715,9 @@ impl IOCompositor { (Msg::CreatePng(reply), ShutdownState::NotShuttingDown) => { let res = self.composite_specific_target(CompositeTarget::WindowAndPng); + if let Err(ref e) = res { + info!("Error retrieving PNG: {:?}", e); + } let img = res.unwrap_or(None); if let Err(e) = reply.send(img) { warn!("Sending reply to create png failed ({}).", e); diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 9a836b6d845..4d3e3aab178 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -1124,7 +1124,9 @@ impl Window { // When all these conditions are met, notify the constellation // that this pipeline is ready to write the image (from the script thread // perspective at least). - if (opts::get().output_file.is_some() || opts::get().exit_after_load) && for_display { + if (opts::get().output_file.is_some() || + opts::get().exit_after_load || + opts::get().webdriver_port.is_some()) && for_display { let document = self.Document(); // Checks if the html element has reftest-wait attribute present. diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index 48f4c0ad1ee..93de252bda6 100644 --- a/components/webdriver_server/lib.rs +++ b/components/webdriver_server/lib.rs @@ -772,7 +772,7 @@ impl Handler { let mut img = None; let pipeline_id = try!(self.root_pipeline()); - let interval = 20; + let interval = 1000; let iterations = 30_000 / interval; for _ in 0..iterations {