diff options
-rw-r--r-- | Cargo.lock | 242 | ||||
-rw-r--r-- | components/compositing/Cargo.toml | 2 | ||||
-rw-r--r-- | components/net_traits/Cargo.toml | 2 | ||||
-rw-r--r-- | components/net_traits/image/base.rs | 7 | ||||
-rw-r--r-- | components/script/Cargo.toml | 2 | ||||
-rw-r--r-- | components/script/dom/htmlcanvaselement.rs | 2 | ||||
-rw-r--r-- | components/webdriver_server/Cargo.toml | 2 | ||||
-rw-r--r-- | components/webdriver_server/lib.rs | 5 | ||||
-rw-r--r-- | ports/winit/Cargo.toml | 2 | ||||
-rw-r--r-- | servo-tidy.toml | 5 |
10 files changed, 208 insertions, 63 deletions
diff --git a/Cargo.lock b/Cargo.lock index bc01d493f9c..72ef6daf3bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,10 +33,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e" [[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] name = "adler32" -version = "1.0.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "aho-corasick" @@ -338,6 +344,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] +name = "bit_field" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4" + +[[package]] name = "bitflags" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -496,9 +508,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.5.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bed57e2090563b83ba8f83366628ce535a7584c9afa4c9fc0612a03925c6df58" +checksum = "ee1e0e2125faccb856bf10b0a9dfa89c4c718d05ef85580dfefbdf1c422ef801" [[package]] name = "byteorder" @@ -838,9 +850,9 @@ dependencies = [ [[package]] name = "color_quant" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dbbb57365263e881e805dc77d94697c9118fd94d8da011240555aa7b23445bd" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "combine" @@ -863,7 +875,7 @@ dependencies = [ "euclid", "gfx_traits", "gleam 0.12.1", - "image", + "image 0.24.1", "ipc-channel", "keyboard-types", "libc", @@ -1197,7 +1209,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "smallvec 1.6.1", + "smallvec 1.8.0", "syn", ] @@ -1307,6 +1319,15 @@ dependencies = [ ] [[package]] +name = "deflate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" +dependencies = [ + "adler32", +] + +[[package]] name = "deny_public_fields" version = "0.0.1" dependencies = [ @@ -1635,6 +1656,22 @@ dependencies = [ ] [[package]] +name = "exr" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4badb9489a465cb2c555af1f00f0bfd8cecd6fc12ac11da9d5b40c5dd5f0200" +dependencies = [ + "bit_field", + "deflate 1.0.0", + "flume", + "half", + "inflate", + "lebe", + "smallvec 1.8.0", + "threadpool", +] + +[[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1645,7 +1682,7 @@ name = "fallible" version = "0.0.1" dependencies = [ "hashglobe", - "smallvec 1.6.1", + "smallvec 1.8.0", ] [[package]] @@ -1679,6 +1716,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bad48618fdb549078c333a7a8528acb57af271d0433bdecd523eb620628364e" [[package]] +name = "flume" +version = "0.10.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843c03199d0c0ca54bc1ea90ac0d507274c28abcc4f691ae8b4eaa375087c76a" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "pin-project 1.0.2", + "spin", +] + +[[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1964,8 +2014,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" dependencies = [ "cfg-if 1.0.0", + "js-sys", "libc", "wasi 0.10.2+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -2036,7 +2088,7 @@ dependencies = [ "parking_lot 0.11.0", "range-alloc", "raw-window-handle", - "smallvec 1.6.1", + "smallvec 1.8.0", "spirv_cross", "thunderdome", "winapi", @@ -2058,7 +2110,7 @@ dependencies = [ "log", "range-alloc", "raw-window-handle", - "smallvec 1.6.1", + "smallvec 1.8.0", "spirv_cross", "winapi", ] @@ -2095,7 +2147,7 @@ dependencies = [ "parking_lot 0.11.0", "range-alloc", "raw-window-handle", - "smallvec 1.6.1", + "smallvec 1.8.0", "spirv_cross", "storage-map", ] @@ -2116,7 +2168,7 @@ dependencies = [ "log", "objc", "raw-window-handle", - "smallvec 1.6.1", + "smallvec 1.8.0", "winapi", ] @@ -2885,12 +2937,28 @@ checksum = "985fc06b1304d19c28d5c562ed78ef5316183f2b0053b46763a0b94862373c34" dependencies = [ "bytemuck", "byteorder", - "gif", - "jpeg-decoder", "num-iter", "num-rational 0.3.0", "num-traits", - "png", + "png 0.16.6", +] + +[[package]] +name = "image" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db207d030ae38f1eb6f240d5a1c1c88ff422aa005d10f8c6c6fc5e75286ab30e" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "exr", + "gif", + "jpeg-decoder 0.2.3", + "num-iter", + "num-rational 0.4.0", + "num-traits", + "png 0.17.5", "scoped_threadpool", "tiff", ] @@ -2917,6 +2985,15 @@ dependencies = [ ] [[package]] +name = "inflate" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff" +dependencies = [ + "adler32", +] + +[[package]] name = "inplace_it" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3040,6 +3117,12 @@ name = "jpeg-decoder" version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" + +[[package]] +name = "jpeg-decoder" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a55ad40a2d27923f63b6fbde5934926176c69ac5e23da6ac05ebfaca984e163f" dependencies = [ "rayon", ] @@ -3232,7 +3315,7 @@ dependencies = [ "metrics", "msg", "net_traits", - "parking_lot 0.10.2", + "parking_lot 0.11.0", "profile_traits", "range", "script", @@ -3293,6 +3376,12 @@ dependencies = [ ] [[package]] +name = "lebe" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7efd1d698db0759e6ef11a7cd44407407399a910c774dd804c64c032da7826ff" + +[[package]] name = "libc" version = "0.2.121" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3357,7 +3446,7 @@ dependencies = [ "log", "servo-egl", "simpleservo", - "smallvec 1.6.1", + "smallvec 1.8.0", "webxr", "webxr-api", ] @@ -3496,12 +3585,6 @@ dependencies = [ ] [[package]] -name = "lzw" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" - -[[package]] name = "mac" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3544,7 +3627,7 @@ dependencies = [ "serde_bytes", "servo_arc", "smallbitvec", - "smallvec 1.6.1", + "smallvec 1.8.0", "string_cache", "thin-slice", "time", @@ -3741,7 +3824,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be0f75932c1f6cfae3c04000e40114adf955636e19040f9c0a2c380702aa1c7f" dependencies = [ - "adler", + "adler 0.2.3", +] + +[[package]] +name = "miniz_oxide" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" +dependencies = [ + "adler 1.0.2", ] [[package]] @@ -3891,6 +3983,15 @@ dependencies = [ ] [[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom 0.2.6", +] + +[[package]] name = "native-tls" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4034,7 +4135,7 @@ dependencies = [ "http", "hyper 0.14.5", "hyper_serde", - "image", + "image 0.24.1", "ipc-channel", "lazy_static", "log", @@ -4199,6 +4300,17 @@ dependencies = [ ] [[package]] +name = "num-rational" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] name = "num-traits" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4410,7 +4522,7 @@ dependencies = [ "cloudabi 0.0.3", "libc", "redox_syscall 0.1.56", - "smallvec 1.6.1", + "smallvec 1.8.0", "winapi", ] @@ -4425,7 +4537,7 @@ dependencies = [ "instant", "libc", "redox_syscall 0.1.56", - "smallvec 1.6.1", + "smallvec 1.8.0", "winapi", ] @@ -4718,11 +4830,23 @@ checksum = "c150bf7479fafe3dd8740dbe48cc33b2a3efb7b0fe3483aced8bbc39f6d0238d" dependencies = [ "bitflags", "crc32fast", - "deflate", + "deflate 0.8.6", "miniz_oxide 0.3.7", ] [[package]] +name = "png" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba" +dependencies = [ + "bitflags", + "crc32fast", + "deflate 1.0.0", + "miniz_oxide 0.5.1", +] + +[[package]] name = "podio" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -4944,7 +5068,7 @@ dependencies = [ "font-kit", "lyon_geom 0.15.0", "pathfinder_geometry", - "png", + "png 0.16.6", "sw-composite", "typed-arena", ] @@ -4960,9 +5084,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" dependencies = [ "autocfg", "crossbeam-deque", @@ -5194,7 +5318,7 @@ dependencies = [ "html5ever", "http", "hyper_serde", - "image", + "image 0.24.1", "indexmap", "ipc-channel", "itertools", @@ -5388,7 +5512,7 @@ dependencies = [ "phf_codegen 0.8.0", "precomputed-hash", "servo_arc", - "smallvec 1.6.1", + "smallvec 1.8.0", "to_shmem", "to_shmem_derive", ] @@ -5472,7 +5596,7 @@ dependencies = [ "clipboard", "euclid", "getopts", - "image", + "image 0.24.1", "keyboard-types", "lazy_static", "libc", @@ -5943,9 +6067,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" +checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" dependencies = [ "serde", ] @@ -6006,6 +6130,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b72d540d5c565dbe1f891d7e21ceb21d2649508306782f1066989fccb0b363d3" [[package]] +name = "spin" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5" +dependencies = [ + "lock_api 0.4.1", +] + +[[package]] name = "spirv_cross" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -6128,7 +6261,7 @@ dependencies = [ "servo_config", "servo_url", "smallbitvec", - "smallvec 1.6.1", + "smallvec 1.8.0", "string_cache", "style_derive", "style_traits", @@ -6385,6 +6518,15 @@ dependencies = [ ] [[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] name = "thunderdome" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -6392,13 +6534,13 @@ checksum = "7572415bd688d401c52f6e36f4c8e805b9ae1622619303b9fa835d531db0acae" [[package]] name = "tiff" -version = "0.5.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b8a87c4da944c3f27e5943289171ac71a6150a79ff6bacfff06d159dfff2f" +checksum = "0247608e998cb6ce39dfc8f4a16c50361ce71e5b52e6d24ea1227ea8ea8ee0b2" dependencies = [ - "byteorder", - "lzw", - "miniz_oxide 0.3.7", + "flate2", + "jpeg-decoder 0.1.22", + "weezl", ] [[package]] @@ -6450,7 +6592,7 @@ dependencies = [ "cssparser", "servo_arc", "smallbitvec", - "smallvec 1.6.1", + "smallvec 1.8.0", "string_cache", "thin-slice", ] @@ -6985,7 +7127,7 @@ checksum = "8bd75ae380325dbcff2707f0cd9869827ea1d2d6d534cff076858d3f0460fd5a" dependencies = [ "nix 0.20.0", "once_cell", - "smallvec 1.6.1", + "smallvec 1.8.0", "wayland-sys 0.28.5", ] @@ -7078,7 +7220,7 @@ dependencies = [ "euclid", "headers", "http", - "image", + "image 0.24.1", "ipc-channel", "keyboard-types", "log", @@ -7136,7 +7278,7 @@ dependencies = [ "fxhash", "gleam 0.12.1", "glslopt", - "image", + "image 0.23.10", "lazy_static", "libc", "log", @@ -7148,7 +7290,7 @@ dependencies = [ "serde", "serde_json", "sig", - "smallvec 1.6.1", + "smallvec 1.8.0", "svg_fmt", "time", "tracy-rs", @@ -7268,7 +7410,7 @@ dependencies = [ "parking_lot 0.11.0", "ron 0.6.0", "serde", - "smallvec 1.6.1", + "smallvec 1.8.0", "thiserror", "tracing", "wgpu-types", diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml index 7b76f036cb5..972b3bdeffc 100644 --- a/components/compositing/Cargo.toml +++ b/components/compositing/Cargo.toml @@ -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" diff --git a/components/net_traits/Cargo.toml b/components/net_traits/Cargo.toml index 76fb2113fb7..db398c9b7ca 100644 --- a/components/net_traits/Cargo.toml +++ b/components/net_traits/Cargo.toml @@ -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" } diff --git a/components/net_traits/image/base.rs b/components/net_traits/image/base.rs index 6f090f12fe1..d77855aee27 100644 --- a/components/net_traits/image/base.rs +++ b/components/net_traits/image/base.rs @@ -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(), diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index cd363da30a4..1f17fa15c43 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -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" diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 67531761ce7..3094b126eb5 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -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; diff --git a/components/webdriver_server/Cargo.toml b/components/webdriver_server/Cargo.toml index a4738265a9c..7b128986c17 100644 --- a/components/webdriver_server/Cargo.toml +++ b/components/webdriver_server/Cargo.toml @@ -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" diff --git a/components/webdriver_server/lib.rs b/components/webdriver_server/lib.rs index e4be9215a84..8712fd9c903 100644 --- a/components/webdriver_server/lib.rs +++ b/components/webdriver_server/lib.rs @@ -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> { diff --git a/ports/winit/Cargo.toml b/ports/winit/Cargo.toml index 59f0175a845..226f1327dc4 100644 --- a/ports/winit/Cargo.toml +++ b/ports/winit/Cargo.toml @@ -63,7 +63,7 @@ webxr = { git = "https://github.com/servo/webxr", features = ["ipc", "glwindow", winit = "0.24" [target.'cfg(any(target_os = "linux", target_os = "windows"))'.dependencies] -image = "0.23" +image = "0.24" [target.'cfg(any(target_os = "linux", target_os = "macos"))'.dependencies] sig = "1.0" diff --git a/servo-tidy.toml b/servo-tidy.toml index 531e6f716d3..d06824963be 100644 --- a/servo-tidy.toml +++ b/servo-tidy.toml @@ -28,6 +28,7 @@ rand = [ [ignore] # Ignored packages with duplicated versions packages = [ + "adler", "arrayvec", "base64", "cfg-if", @@ -36,11 +37,14 @@ packages = [ "cookie", "crossbeam-channel", "crossbeam-utils", + "deflate", "env_logger", "fixedbitset", "getrandom", "gleam", "h2", + "image", + "jpeg-decoder", "libloading", "lock_api", "metal", @@ -53,6 +57,7 @@ packages = [ "phf_codegen", "phf_generator", "phf_shared", + "png", "rand", "rand_chacha", "rand_core", |