Update image/png.

This commit is contained in:
Josh Matthews 2022-04-01 02:07:17 -04:00
parent 2059f117b4
commit 369a5c0370
10 changed files with 209 additions and 64 deletions

View file

@ -22,7 +22,7 @@ embedder_traits = { path = "../embedder_traits" }
euclid = "0.20"
gfx_traits = { path = "../gfx_traits" }
gleam = { version = "0.12", optional = true }
image = "0.23"
image = "0.24"
ipc-channel = "0.14"
keyboard-types = "0.6"
libc = "0.2"

View file

@ -29,7 +29,7 @@ mime = "0.3"
msg = { path = "../msg" }
num-traits = "0.2"
percent-encoding = "2.0"
piston_image = { package = "image", version = "0.23" }
piston_image = { package = "image", version = "0.24" }
pixels = { path = "../pixels" }
serde = "1.0"
servo_arc = { path = "../servo_arc" }

View file

@ -4,7 +4,7 @@
use crate::image_cache::CorsStatus;
use ipc_channel::ipc::IpcSharedMemory;
use piston_image::{DynamicImage, ImageFormat};
use piston_image::ImageFormat;
use pixels::PixelFormat;
use std::fmt;
@ -52,10 +52,7 @@ pub fn load_from_memory(buffer: &[u8], cors_status: CorsStatus) -> Option<Image>
},
Ok(_) => match piston_image::load_from_memory(buffer) {
Ok(image) => {
let mut rgba = match image {
DynamicImage::ImageRgba8(rgba) => rgba,
image => image.to_rgba(),
};
let mut rgba = image.into_rgba8();
pixels::rgba8_byte_swap_colors_inplace(&mut *rgba);
Some(Image {
width: rgba.width(),

View file

@ -58,7 +58,7 @@ headers = "0.3"
html5ever = "0.26"
http = "0.2"
hyper_serde = "0.12"
image = "0.23"
image = "0.24"
indexmap = { version = "1.0.2", features = ["std"] }
ipc-channel = "0.14"
itertools = "0.8"

View file

@ -37,7 +37,7 @@ use canvas_traits::webgl::{GLContextAttributes, WebGLVersion};
use dom_struct::dom_struct;
use euclid::default::{Rect, Size2D};
use html5ever::{LocalName, Prefix};
use image::png::PngEncoder;
use image::codecs::png::PngEncoder;
use image::ColorType;
use ipc_channel::ipc::{self as ipcchan, IpcSharedMemory};
use js::error::throw_type_error;

View file

@ -18,7 +18,7 @@ crossbeam-channel = "0.4"
euclid = "0.20"
headers = "0.3"
http = "0.2"
image = "0.23"
image = "0.24"
ipc-channel = "0.14"
keyboard-types = "0.6"
log = "0.4"

View file

@ -43,6 +43,7 @@ use servo_url::ServoUrl;
use std::borrow::ToOwned;
use std::collections::{BTreeMap, HashMap};
use std::fmt;
use std::io::Cursor;
use std::mem;
use std::net::{SocketAddr, SocketAddrV4};
use std::thread;
@ -1589,12 +1590,12 @@ impl Handler {
);
let rgb = RgbImage::from_raw(img.width, img.height, img.bytes.to_vec()).unwrap();
let mut png_data = Vec::new();
let mut png_data = Cursor::new(Vec::new());
DynamicImage::ImageRgb8(rgb)
.write_to(&mut png_data, ImageFormat::Png)
.unwrap();
Ok(base64::encode(&png_data))
Ok(base64::encode(png_data.get_ref()))
}
fn handle_take_screenshot(&self) -> WebDriverResult<WebDriverResponse> {