diff --git a/ports/servoshell/desktop/app_state.rs b/ports/servoshell/desktop/app_state.rs index 6bbc124d8e5..e72580074b8 100644 --- a/ports/servoshell/desktop/app_state.rs +++ b/ports/servoshell/desktop/app_state.rs @@ -8,7 +8,7 @@ use std::path::PathBuf; use std::rc::Rc; use euclid::Vector2D; -use image::DynamicImage; +use image::{DynamicImage, ImageFormat}; use keyboard_types::{Key, KeyboardEvent, Modifiers, ShortcutMatcher}; use log::{error, info}; use servo::base::id::WebViewId; @@ -146,7 +146,10 @@ impl RunningAppState { return; }; - if let Err(error) = DynamicImage::ImageRgba8(image).save(output_path) { + let image_format = ImageFormat::from_path(output_path).unwrap_or(ImageFormat::Png); + if let Err(error) = + DynamicImage::ImageRgba8(image).save_with_format(output_path, image_format) + { error!("Failed to save {output_path}: {error}."); } } diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index a920226f3f1..ef97c1ac50c 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -506162,7 +506162,7 @@ [] ], "executorservo.py": [ - "2710b1b844c8e93c251c91c8809697d357bd4f06", + "e3369d24ebc6d6aac1b4632ef673a36602417745", [] ], "executorservodriver.py": [ diff --git a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorservo.py b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorservo.py index 2710b1b844c..e3369d24ebc 100644 --- a/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorservo.py +++ b/tests/wpt/tests/tools/wptrunner/wptrunner/executors/executorservo.py @@ -226,7 +226,6 @@ class ServoRefTestExecutor(ServoExecutor): def screenshot(self, test, viewport_size, dpi, page_ranges): with TempFilename(self.tempdir) as output_path: - output_path = f"{output_path}.png" extra_args = ["--exit", "--output=%s" % output_path, "--window-size", viewport_size or "800x600"]