mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Update rust-stb-image
This commit is contained in:
parent
84c607da47
commit
311657b56b
2 changed files with 9 additions and 8 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit dcceec8f278093390659e4f74e0a4d6e1f10fc37
|
Subproject commit 7b1ef77b169820a2623ec56d8cfc31b08bbf6fc3
|
|
@ -48,7 +48,7 @@ enum ImageResponseMsg {
|
||||||
|
|
||||||
type ImageCacheTask = Chan<Msg>;
|
type ImageCacheTask = Chan<Msg>;
|
||||||
|
|
||||||
type DecoderFactory = ~fn() -> ~fn(~[u8]) -> ~Image;
|
type DecoderFactory = ~fn() -> ~fn(~[u8]) -> option<Image>;
|
||||||
|
|
||||||
fn image_cache_task(resource_task: ResourceTask) -> ImageCacheTask {
|
fn image_cache_task(resource_task: ResourceTask) -> ImageCacheTask {
|
||||||
image_cache_task_(resource_task, default_decoder_factory)
|
image_cache_task_(resource_task, default_decoder_factory)
|
||||||
|
@ -250,7 +250,8 @@ impl ImageCache {
|
||||||
do spawn |move url_cell, move decode| {
|
do spawn |move url_cell, move decode| {
|
||||||
let url = url_cell.take();
|
let url = url_cell.take();
|
||||||
#debug("image_cache_task: started image decode for %s", url.to_str());
|
#debug("image_cache_task: started image decode for %s", url.to_str());
|
||||||
let image = arc(decode(data));
|
let image = decode(data);
|
||||||
|
let image = arc(~option::unwrap(image));
|
||||||
to_cache.send(StoreImage(copy url, clone_arc(&image)));
|
to_cache.send(StoreImage(copy url, clone_arc(&image)));
|
||||||
#debug("image_cache_task: ended image decode for %s", url.to_str());
|
#debug("image_cache_task: ended image decode for %s", url.to_str());
|
||||||
}
|
}
|
||||||
|
@ -347,8 +348,8 @@ fn load_image_data(+url: url, resource_task: ResourceTask) -> result<~[u8], ()>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn default_decoder_factory() -> ~fn(~[u8]) -> ~Image {
|
fn default_decoder_factory() -> ~fn(~[u8]) -> option<Image> {
|
||||||
fn~(data: ~[u8]) -> ~Image { ~load_from_memory(data) }
|
fn~(data: ~[u8]) -> option<Image> { load_from_memory(data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -896,12 +897,12 @@ fn should_return_not_ready_if_image_is_still_decoding() {
|
||||||
};
|
};
|
||||||
|
|
||||||
let wait_to_decode_port_cell = Cell(wait_to_decode_port);
|
let wait_to_decode_port_cell = Cell(wait_to_decode_port);
|
||||||
let decoder_factory = fn~(move wait_to_decode_port_cell) -> ~fn(~[u8]) -> ~Image {
|
let decoder_factory = fn~(move wait_to_decode_port_cell) -> ~fn(~[u8]) -> option<Image> {
|
||||||
let wait_to_decode_port = wait_to_decode_port_cell.take();
|
let wait_to_decode_port = wait_to_decode_port_cell.take();
|
||||||
fn~(data: ~[u8], move wait_to_decode_port) -> ~Image {
|
fn~(data: ~[u8], move wait_to_decode_port) -> option<Image> {
|
||||||
// Don't decode until after the client requests the image
|
// Don't decode until after the client requests the image
|
||||||
wait_to_decode_port.recv();
|
wait_to_decode_port.recv();
|
||||||
~load_from_memory(data)
|
load_from_memory(data)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue