mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
Auto merge of #16224 - servo:valid-fontface, r=upsuper
Make the parser accept @font-face rules without font-family or src. Fix #16165. Also, it turns out that the CSSFontFaceRule IDL specified in the css-fonts spec is not web-compatible. Instead browsers implement a .style attribute like in CSSStyleRule: https://github.com/w3c/csswg-drafts/issues/825 This in turn requires preserving data about which descriptors were set or not (distinguishing unset from set to a value that happens to be the initial value), so this commit also makes every field `Option<_>`. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16224) <!-- Reviewable:end -->
This commit is contained in:
commit
fac0d17fd6
9 changed files with 240 additions and 197 deletions
|
@ -5,7 +5,7 @@
|
|||
use gfx::font_cache_thread::FontCacheThread;
|
||||
use ipc_channel::ipc;
|
||||
use style::computed_values::font_family::FamilyName;
|
||||
use style::font_face::{FontFaceData, Source};
|
||||
use style::font_face::{FontFaceRuleData, Source};
|
||||
|
||||
#[test]
|
||||
fn test_local_web_font() {
|
||||
|
@ -20,12 +20,15 @@ fn test_local_web_font() {
|
|||
name: From::from("test font face"),
|
||||
quoted: true,
|
||||
};
|
||||
let font_face_rule = FontFaceData {
|
||||
family: family_name.clone(),
|
||||
sources: vec![Source::Local(variant_name)],
|
||||
let font_face_rule = FontFaceRuleData {
|
||||
family: Some(family_name.clone()),
|
||||
sources: Some(vec![Source::Local(variant_name)]),
|
||||
};
|
||||
|
||||
font_cache_thread.add_web_font(family_name, font_face_rule.effective_sources(), out_chan);
|
||||
font_cache_thread.add_web_font(
|
||||
family_name,
|
||||
font_face_rule.font_face().unwrap().effective_sources(),
|
||||
out_chan);
|
||||
|
||||
assert_eq!(out_receiver.recv().unwrap(), ());
|
||||
}
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
[001.htm]
|
||||
type: testharness
|
||||
[Inserting @font-face inside @supports works]
|
||||
expected: FAIL
|
||||
|
||||
[Inserting an @supports inside a style rule should fail]
|
||||
expected: FAIL
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue