mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Replace immeta
dependency with imsz
(#30294)
`immeta` is no longer maintained and `imsz` seems to have support for more image formats as well as having no dependencies itself.
This commit is contained in:
parent
0cf84f9f7c
commit
1b6351486c
4 changed files with 18 additions and 24 deletions
|
@ -34,7 +34,7 @@ http = { workspace = true }
|
|||
hyper = { workspace = true, features = ["client", "http1", "http2", "tcp", "stream"] }
|
||||
hyper-rustls = { workspace = true }
|
||||
hyper_serde = { workspace = true }
|
||||
immeta = "0.4"
|
||||
imsz = { workspace = true }
|
||||
ipc-channel = { workspace = true }
|
||||
lazy_static = { workspace = true }
|
||||
libflate = "0.1"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use embedder_traits::resources::{self, Resource};
|
||||
use immeta::load_from_buf;
|
||||
use imsz::imsz_from_reader;
|
||||
use ipc_channel::ipc::IpcSender;
|
||||
use net_traits::image::base::{load_from_memory, Image, ImageMetadata};
|
||||
use net_traits::image_cache::{
|
||||
|
@ -608,19 +608,18 @@ impl ImageCache for ImageCacheImpl {
|
|||
let mut store = self.store.lock().unwrap();
|
||||
let pending_load = store.pending_loads.get_by_key_mut(&id).unwrap();
|
||||
pending_load.bytes.extend_from_slice(&data);
|
||||
|
||||
//jmr0 TODO: possibly move to another task?
|
||||
if let None = pending_load.metadata {
|
||||
if let Ok(metadata) = load_from_buf(&pending_load.bytes.as_slice()) {
|
||||
let dimensions = metadata.dimensions();
|
||||
let img_metadata = ImageMetadata {
|
||||
width: dimensions.width,
|
||||
height: dimensions.height,
|
||||
};
|
||||
for listener in &pending_load.listeners {
|
||||
listener.respond(ImageResponse::MetadataLoaded(img_metadata.clone()));
|
||||
}
|
||||
pending_load.metadata = Some(img_metadata);
|
||||
let mut reader = std::io::Cursor::new(pending_load.bytes.as_slice());
|
||||
if let Ok(info) = imsz_from_reader(&mut reader) {
|
||||
let img_metadata = ImageMetadata {
|
||||
width: info.width as u32,
|
||||
height: info.height as u32,
|
||||
};
|
||||
for listener in &pending_load.listeners {
|
||||
listener.respond(ImageResponse::MetadataLoaded(img_metadata.clone()));
|
||||
}
|
||||
pending_load.metadata = Some(img_metadata);
|
||||
}
|
||||
},
|
||||
(FetchResponseMsg::ProcessResponseEOF(result), key) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue