servo: Merge #3131 - Load bare images within an HTML document (#3108); r=Ms2ger (from Manishearth:image)

Source-Repo: https://github.com/servo/servo
Source-Revision: 64f05116fc9e4a261a6b40d13ab7667db7fc0592
This commit is contained in:
Manish Goregaokar 2014-08-26 18:38:45 +05:01
Родитель 9baf5788d3
Коммит 6349aa954a
1 изменённых файлов: 17 добавлений и 12 удалений

Просмотреть файл

@ -582,19 +582,24 @@ pub fn parse_html(page: &Page,
};
parser.set_tree_handler(&mut tree_handler);
debug!("set tree handler");
debug!("loaded page");
loop {
match load_response.progress_port.recv() {
Payload(data) => {
debug!("received data");
parser.parse_chunk(data.as_slice());
}
Done(Err(err)) => {
fail!("Failed to load page URL {:s}, error: {:s}", url.serialize(), err);
}
Done(..) => {
break;
match load_response.metadata.content_type {
Some((ref t, _)) if t.as_slice().eq_ignore_ascii_case("image") => {
let page = format!("<html><body><img src='{:s}' /></body></html>", base_url.serialize());
parser.parse_chunk(page.into_bytes().as_slice());
},
_ => loop {
match load_response.progress_port.recv() {
Payload(data) => {
debug!("received data");
parser.parse_chunk(data.as_slice());
}
Done(Err(err)) => {
fail!("Failed to load page URL {:s}, error: {:s}", url.serialize(), err);
}
Done(..) => {
break;
}
}
}
}