|
|
|
@ -352,10 +352,12 @@ fn get_favicons_node(node: &std::rc::Rc<markup5ever_rcdom::Node>, icons: &mut Ve
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if has_rel && href.is_some() {
|
|
|
|
|
if let Ok(full_href) = url.join(&href.unwrap()).map(|h| h.into_string()) {
|
|
|
|
|
let priority = get_icon_priority(&full_href, sizes);
|
|
|
|
|
icons.push(Icon::new(priority, full_href));
|
|
|
|
|
if has_rel {
|
|
|
|
|
if let Some(inner_href) = href {
|
|
|
|
|
if let Ok(full_href) = url.join(&inner_href).map(|h| h.into_string()) {
|
|
|
|
|
let priority = get_icon_priority(&full_href, sizes);
|
|
|
|
|
icons.push(Icon::new(priority, full_href));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -472,7 +474,7 @@ fn get_icon_url(domain: &str) -> Result<IconUrlResult, Error> {
|
|
|
|
|
let dom = html5ever::parse_document(markup5ever_rcdom::RcDom::default(), Default::default())
|
|
|
|
|
.from_utf8()
|
|
|
|
|
.read_from(&mut limited_reader)?;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
get_favicons_node(&dom.document, &mut iconlist, &url);
|
|
|
|
|
} else {
|
|
|
|
|
// Add the default favicon.ico to the list with just the given domain
|
|
|
|
|