mirror of
https://github.com/servo/servo.git
synced 2025-09-27 23:30:08 +01:00
script: Load and rasterize favicons before passing them to the embedder (#38949)
Currently the embedding API only provides the embedder with the URL for a favicon. This is not great, for multiple reasons: * Loading the icon should happen according to the fetch spec which is not easy for the embedder to recreate (consider CSP, timing information etc) * Rasterizing a svg favicon is not trivial With this change, servo fetches and rasterizes the icon to a bitmap which is then passed to the embedder. Testing: I'm not sure how I can write tests for the embedding api. I've tested the correctness manually using https://github.com/servo/servo/pull/36680. Prepares for https://github.com/servo/servo/pull/36680 --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
parent
a5d890c13a
commit
dcd25072d3
9 changed files with 373 additions and 159 deletions
|
@ -15,6 +15,7 @@ use std::hash::Hasher;
|
|||
use std::net::IpAddr;
|
||||
use std::ops::{Index, Range, RangeFrom, RangeFull, RangeTo};
|
||||
use std::path::Path;
|
||||
use std::str::FromStr;
|
||||
|
||||
use malloc_size_of_derive::MallocSizeOf;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
@ -307,3 +308,12 @@ impl From<Arc<Url>> for ServoUrl {
|
|||
ServoUrl(url)
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for ServoUrl {
|
||||
type Err = <Url as FromStr>::Err;
|
||||
|
||||
fn from_str(value: &str) -> Result<Self, Self::Err> {
|
||||
let url = Url::from_str(value)?;
|
||||
Ok(url.into())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue