Update Stylo to 2023-07-23 (#31437)

* Update Stylo to 2023-07-23

* to_shmem should be local when working with Stylo

* Fixup for https://phabricator.services.mozilla.com/D180769

* Fixup for https://phabricator.services.mozilla.com/D181125

* Fixup for https://phabricator.services.mozilla.com/D181162

* Fixup for https://phabricator.services.mozilla.com/D181798

* Fixup for https://phabricator.services.mozilla.com/D182514

* Fixup for https://phabricator.services.mozilla.com/D182539

* Update test expectations
This commit is contained in:
Oriol Brufau 2024-02-29 11:23:53 +01:00 committed by GitHub
parent 6eb96290fa
commit 31cfaf290d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 171 additions and 1208 deletions

105
Cargo.lock generated
View file

@ -1086,7 +1086,7 @@ dependencies = [
"cssparser-macros", "cssparser-macros",
"dtoa-short", "dtoa-short",
"itoa", "itoa",
"phf", "phf 0.10.1",
"serde", "serde",
"smallvec", "smallvec",
] ]
@ -1208,7 +1208,7 @@ dependencies = [
[[package]] [[package]]
name = "derive_common" name = "derive_common"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"darling", "darling",
"proc-macro2", "proc-macro2",
@ -3460,7 +3460,7 @@ dependencies = [
[[package]] [[package]]
name = "malloc_size_of" name = "malloc_size_of"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"accountable-refcell", "accountable-refcell",
"app_units", "app_units",
@ -3514,8 +3514,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016"
dependencies = [ dependencies = [
"log", "log",
"phf", "phf 0.10.1",
"phf_codegen", "phf_codegen 0.10.0",
"string_cache", "string_cache",
"string_cache_codegen", "string_cache_codegen",
"tendril", "tendril",
@ -3974,13 +3974,13 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]] [[package]]
name = "num-derive" name = "num-derive"
version = "0.3.3" version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 1.0.109", "syn 2.0.50",
] ]
[[package]] [[package]]
@ -4267,18 +4267,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
dependencies = [ dependencies = [
"phf_macros", "phf_macros",
"phf_shared", "phf_shared 0.10.0",
"proc-macro-hack", "proc-macro-hack",
] ]
[[package]]
name = "phf"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
dependencies = [
"phf_shared 0.11.2",
]
[[package]] [[package]]
name = "phf_codegen" name = "phf_codegen"
version = "0.10.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd"
dependencies = [ dependencies = [
"phf_generator", "phf_generator 0.10.0",
"phf_shared", "phf_shared 0.10.0",
]
[[package]]
name = "phf_codegen"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
dependencies = [
"phf_generator 0.11.2",
"phf_shared 0.11.2",
] ]
[[package]] [[package]]
@ -4287,7 +4306,17 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
dependencies = [ dependencies = [
"phf_shared", "phf_shared 0.10.0",
"rand",
]
[[package]]
name = "phf_generator"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
dependencies = [
"phf_shared 0.11.2",
"rand", "rand",
] ]
@ -4297,8 +4326,8 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
dependencies = [ dependencies = [
"phf_generator", "phf_generator 0.10.0",
"phf_shared", "phf_shared 0.10.0",
"proc-macro-hack", "proc-macro-hack",
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -4314,6 +4343,15 @@ dependencies = [
"siphasher", "siphasher",
] ]
[[package]]
name = "phf_shared"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
dependencies = [
"siphasher",
]
[[package]] [[package]]
name = "pin-project" name = "pin-project"
version = "1.1.4" version = "1.1.4"
@ -4924,9 +4962,9 @@ dependencies = [
"num_cpus", "num_cpus",
"parking_lot", "parking_lot",
"percent-encoding", "percent-encoding",
"phf", "phf 0.10.1",
"phf_codegen", "phf_codegen 0.10.0",
"phf_shared", "phf_shared 0.10.0",
"pixels", "pixels",
"profile_traits", "profile_traits",
"range", "range",
@ -5072,7 +5110,7 @@ dependencies = [
[[package]] [[package]]
name = "selectors" name = "selectors"
version = "0.24.0" version = "0.24.0"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"cssparser", "cssparser",
@ -5080,8 +5118,8 @@ dependencies = [
"fxhash", "fxhash",
"log", "log",
"new_debug_unreachable", "new_debug_unreachable",
"phf", "phf 0.11.2",
"phf_codegen", "phf_codegen 0.11.2",
"precomputed-hash", "precomputed-hash",
"servo_arc", "servo_arc",
"size_of_test", "size_of_test",
@ -5360,7 +5398,7 @@ dependencies = [
[[package]] [[package]]
name = "servo_arc" name = "servo_arc"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"nodrop", "nodrop",
"serde", "serde",
@ -5370,7 +5408,7 @@ dependencies = [
[[package]] [[package]]
name = "servo_atoms" name = "servo_atoms"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"string_cache", "string_cache",
"string_cache_codegen", "string_cache_codegen",
@ -5576,7 +5614,7 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]] [[package]]
name = "size_of_test" name = "size_of_test"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"static_assertions", "static_assertions",
] ]
@ -5702,7 +5740,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]] [[package]]
name = "static_prefs" name = "static_prefs"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
[[package]] [[package]]
name = "str-buf" name = "str-buf"
@ -5725,7 +5763,7 @@ dependencies = [
"new_debug_unreachable", "new_debug_unreachable",
"once_cell", "once_cell",
"parking_lot", "parking_lot",
"phf_shared", "phf_shared 0.10.0",
"precomputed-hash", "precomputed-hash",
"serde", "serde",
] ]
@ -5736,8 +5774,8 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
dependencies = [ dependencies = [
"phf_generator", "phf_generator 0.10.0",
"phf_shared", "phf_shared 0.10.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
] ]
@ -5745,7 +5783,7 @@ dependencies = [
[[package]] [[package]]
name = "style" name = "style"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"app_units", "app_units",
"arrayvec", "arrayvec",
@ -5765,6 +5803,7 @@ dependencies = [
"log", "log",
"malloc_size_of", "malloc_size_of",
"malloc_size_of_derive", "malloc_size_of_derive",
"matches",
"mime", "mime",
"new_debug_unreachable", "new_debug_unreachable",
"num-derive", "num-derive",
@ -5802,7 +5841,7 @@ dependencies = [
[[package]] [[package]]
name = "style_config" name = "style_config"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
] ]
@ -5810,7 +5849,7 @@ dependencies = [
[[package]] [[package]]
name = "style_derive" name = "style_derive"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"darling", "darling",
"derive_common", "derive_common",
@ -5841,7 +5880,7 @@ dependencies = [
[[package]] [[package]]
name = "style_traits" name = "style_traits"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"app_units", "app_units",
"bitflags 1.3.2", "bitflags 1.3.2",
@ -6184,7 +6223,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "to_shmem" name = "to_shmem"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"cssparser", "cssparser",
"servo_arc", "servo_arc",
@ -6197,7 +6236,7 @@ dependencies = [
[[package]] [[package]]
name = "to_shmem_derive" name = "to_shmem_derive"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-06-14#a11671a8886bd535001335b6f2a1746262d02478" source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#e2a483443afc5d3e6dd71dfb19ed45e1c8d8a2dc"
dependencies = [ dependencies = [
"darling", "darling",
"derive_common", "derive_common",

View file

@ -64,7 +64,7 @@ keyboard-types = "0.6"
lazy_static = "1.4" lazy_static = "1.4"
libc = "0.2" libc = "0.2"
log = "0.4" log = "0.4"
malloc_size_of = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14", features = ["servo"] } malloc_size_of = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23", features = ["servo"] }
malloc_size_of_derive = "0.1" malloc_size_of_derive = "0.1"
mime = "0.3.13" mime = "0.3.13"
mime_guess = "2.0.3" mime_guess = "2.0.3"
@ -87,28 +87,28 @@ rustls = { version = "0.21.10", features = ["dangerous_configuration"] }
rustls-pemfile = "1.0.4" rustls-pemfile = "1.0.4"
script_layout_interface = { path = "components/shared/script_layout" } script_layout_interface = { path = "components/shared/script_layout" }
script_traits = { path = "components/shared/script" } script_traits = { path = "components/shared/script" }
selectors = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14" } selectors = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23" }
serde = "1.0.197" serde = "1.0.197"
serde_bytes = "0.11" serde_bytes = "0.11"
serde_json = "1.0" serde_json = "1.0"
servo_arc = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14" } servo_arc = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23" }
servo_atoms = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14" } servo_atoms = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23" }
size_of_test = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14" } size_of_test = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23" }
smallbitvec = "2.3.0" smallbitvec = "2.3.0"
smallvec = "1.13" smallvec = "1.13"
sparkle = "0.1.26" sparkle = "0.1.26"
string_cache = "0.8" string_cache = "0.8"
string_cache_codegen = "0.5" string_cache_codegen = "0.5"
style = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14", features = ["servo"] } style = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23", features = ["servo"] }
style_config = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14" } style_config = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23" }
style_traits = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14", features = ["servo"] } style_traits = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23", features = ["servo"] }
# NOTE: the sm-angle feature only enables ANGLE on Windows, not other platforms! # NOTE: the sm-angle feature only enables ANGLE on Windows, not other platforms!
surfman = { version = "0.9", features = ["chains", "sm-angle", "sm-angle-default"] } surfman = { version = "0.9", features = ["chains", "sm-angle", "sm-angle-default"] }
syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] } syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] }
synstructure = "0.13" synstructure = "0.13"
thin-vec = "0.2.13" thin-vec = "0.2.13"
time = "0.1.41" time = "0.1.41"
to_shmem = { git = "https://github.com/servo/stylo.git", branch = "2023-06-14" } to_shmem = { git = "https://github.com/servo/stylo.git", branch = "2023-07-23" }
tokio = "1" tokio = "1"
tokio-rustls = "0.24" tokio-rustls = "0.24"
tungstenite = "0.20" tungstenite = "0.20"
@ -160,6 +160,7 @@ debug-assertions = false
# style_derive = { path = "../stylo/style_derive" } # style_derive = { path = "../stylo/style_derive" }
# style = { path = "../stylo/style" } # style = { path = "../stylo/style" }
# style_traits = { path = "../stylo/style_traits" } # style_traits = { path = "../stylo/style_traits" }
# to_shmem = { path = "../stylo/to_shmem" }
# #
# Or for another git dependency: # Or for another git dependency:
# #

View file

@ -969,12 +969,19 @@ impl Fragment {
let display_item = match gradient { let display_item = match gradient {
Gradient::Linear { Gradient::Linear {
ref direction, ref direction,
ref color_interpolation_method,
ref items, ref items,
ref repeating, ref repeating,
compat_mode: _, compat_mode: _,
} => { } => {
let (gradient, stops) = let (gradient, stops) = gradient::linear(
gradient::linear(style, placement.tile_size, items, *direction, *repeating); style,
placement.tile_size,
items,
*direction,
color_interpolation_method,
*repeating,
);
let item = webrender_api::GradientDisplayItem { let item = webrender_api::GradientDisplayItem {
gradient, gradient,
bounds: placement.bounds.to_f32_px(), bounds: placement.bounds.to_f32_px(),
@ -987,6 +994,7 @@ impl Fragment {
Gradient::Radial { Gradient::Radial {
ref shape, ref shape,
ref position, ref position,
ref color_interpolation_method,
ref items, ref items,
ref repeating, ref repeating,
compat_mode: _, compat_mode: _,
@ -997,6 +1005,7 @@ impl Fragment {
items, items,
shape, shape,
position, position,
color_interpolation_method,
*repeating, *repeating,
); );
let item = webrender_api::RadialGradientDisplayItem { let item = webrender_api::RadialGradientDisplayItem {
@ -1226,18 +1235,26 @@ impl Fragment {
Image::Gradient(ref gradient) => match **gradient { Image::Gradient(ref gradient) => match **gradient {
Gradient::Linear { Gradient::Linear {
ref direction, ref direction,
ref color_interpolation_method,
ref items, ref items,
ref repeating, ref repeating,
compat_mode: _, compat_mode: _,
} => { } => {
let (wr_gradient, linear_stops) = let (wr_gradient, linear_stops) = gradient::linear(
gradient::linear(style, border_image_size, items, *direction, *repeating); style,
border_image_size,
items,
*direction,
color_interpolation_method,
*repeating,
);
stops = linear_stops; stops = linear_stops;
NinePatchBorderSource::Gradient(wr_gradient) NinePatchBorderSource::Gradient(wr_gradient)
}, },
Gradient::Radial { Gradient::Radial {
ref shape, ref shape,
ref position, ref position,
ref color_interpolation_method,
ref items, ref items,
ref repeating, ref repeating,
compat_mode: _, compat_mode: _,
@ -1248,6 +1265,7 @@ impl Fragment {
items, items,
shape, shape,
position, position,
color_interpolation_method,
*repeating, *repeating,
); );
stops = radial_stops; stops = radial_stops;

View file

@ -4,6 +4,7 @@
use app_units::Au; use app_units::Au;
use euclid::default::{Point2D, Size2D, Vector2D}; use euclid::default::{Point2D, Size2D, Vector2D};
use style::color::mix::ColorInterpolationMethod;
use style::properties::ComputedValues; use style::properties::ComputedValues;
use style::values::computed::image::{EndingShape, LineDirection}; use style::values::computed::image::{EndingShape, LineDirection};
use style::values::computed::{Angle, Color, LengthPercentage, Percentage, Position}; use style::values::computed::{Angle, Color, LengthPercentage, Percentage, Position};
@ -240,6 +241,7 @@ pub fn linear(
size: Size2D<Au>, size: Size2D<Au>,
stops: &[GradientItem<Color, LengthPercentage>], stops: &[GradientItem<Color, LengthPercentage>],
direction: LineDirection, direction: LineDirection,
_color_interpolation_method: &ColorInterpolationMethod,
repeating: bool, repeating: bool,
) -> (Gradient, Vec<GradientStop>) { ) -> (Gradient, Vec<GradientStop>) {
use style::values::specified::position::HorizontalPositionKeyword::*; use style::values::specified::position::HorizontalPositionKeyword::*;
@ -307,6 +309,7 @@ pub fn radial(
stops: &[GradientItem<Color, LengthPercentage>], stops: &[GradientItem<Color, LengthPercentage>],
shape: &EndingShape, shape: &EndingShape,
center: &Position, center: &Position,
_color_interpolation_method: &ColorInterpolationMethod,
repeating: bool, repeating: bool,
) -> (RadialGradient, Vec<GradientStop>) { ) -> (RadialGradient, Vec<GradientStop>) {
let center = Point2D::new( let center = Point2D::new(

View file

@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use style::color::mix::ColorInterpolationMethod;
use style::properties::ComputedValues; use style::properties::ComputedValues;
use style::values::computed::image::{EndingShape, Gradient, LineDirection}; use style::values::computed::image::{EndingShape, Gradient, LineDirection};
use style::values::computed::{Color, Length, LengthPercentage, Position}; use style::values::computed::{Color, Length, LengthPercentage, Position};
@ -18,12 +19,14 @@ pub(super) fn build(
Gradient::Linear { Gradient::Linear {
ref items, ref items,
ref direction, ref direction,
ref color_interpolation_method,
ref repeating, ref repeating,
compat_mode: _, compat_mode: _,
} => build_linear( } => build_linear(
style, style,
items, items,
direction, direction,
color_interpolation_method,
if *repeating { if *repeating {
wr::ExtendMode::Repeat wr::ExtendMode::Repeat
} else { } else {
@ -35,6 +38,7 @@ pub(super) fn build(
Gradient::Radial { Gradient::Radial {
ref shape, ref shape,
ref position, ref position,
ref color_interpolation_method,
ref items, ref items,
ref repeating, ref repeating,
compat_mode: _, compat_mode: _,
@ -43,6 +47,7 @@ pub(super) fn build(
items, items,
shape, shape,
position, position,
color_interpolation_method,
if *repeating { if *repeating {
wr::ExtendMode::Repeat wr::ExtendMode::Repeat
} else { } else {
@ -60,6 +65,7 @@ pub(super) fn build_linear(
style: &ComputedValues, style: &ComputedValues,
items: &[GradientItem<Color, LengthPercentage>], items: &[GradientItem<Color, LengthPercentage>],
line_direction: &LineDirection, line_direction: &LineDirection,
_color_interpolation_method: &ColorInterpolationMethod,
extend_mode: wr::ExtendMode, extend_mode: wr::ExtendMode,
layer: &super::background::BackgroundLayer, layer: &super::background::BackgroundLayer,
builder: &mut super::DisplayListBuilder, builder: &mut super::DisplayListBuilder,
@ -161,6 +167,7 @@ pub(super) fn build_radial(
items: &[GradientItem<Color, LengthPercentage>], items: &[GradientItem<Color, LengthPercentage>],
shape: &EndingShape, shape: &EndingShape,
center: &Position, center: &Position,
_color_interpolation_method: &ColorInterpolationMethod,
extend_mode: wr::ExtendMode, extend_mode: wr::ExtendMode,
layer: &super::background::BackgroundLayer, layer: &super::background::BackgroundLayer,
builder: &mut super::DisplayListBuilder, builder: &mut super::DisplayListBuilder,

View file

@ -5,9 +5,10 @@
use dom_struct::dom_struct; use dom_struct::dom_struct;
use servo_arc::Arc; use servo_arc::Arc;
use style::shared_lock::{Locked, SharedRwLock}; use style::shared_lock::{Locked, SharedRwLock};
use style::stylesheets::CssRules as StyleCssRules; use style::stylesheets::{CssRuleTypes, CssRules as StyleCssRules};
use crate::dom::bindings::codegen::Bindings::CSSGroupingRuleBinding::CSSGroupingRuleMethods; use crate::dom::bindings::codegen::Bindings::CSSGroupingRuleBinding::CSSGroupingRuleMethods;
use crate::dom::bindings::codegen::Bindings::CSSRuleBinding::CSSRule_Binding::CSSRuleMethods;
use crate::dom::bindings::error::{ErrorResult, Fallible}; use crate::dom::bindings::error::{ErrorResult, Fallible};
use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::inheritance::Castable;
use crate::dom::bindings::reflector::DomObject; use crate::dom::bindings::reflector::DomObject;
@ -67,7 +68,10 @@ impl CSSGroupingRuleMethods for CSSGroupingRule {
// https://drafts.csswg.org/cssom/#dom-cssgroupingrule-insertrule // https://drafts.csswg.org/cssom/#dom-cssgroupingrule-insertrule
fn InsertRule(&self, rule: DOMString, index: u32) -> Fallible<u32> { fn InsertRule(&self, rule: DOMString, index: u32) -> Fallible<u32> {
self.rulelist().insert_rule(&rule, index, /* nested */ true) // TODO: this should accumulate the rule types of all ancestors.
let containing_rule_types = CssRuleTypes::from_bits(self.cssrule.Type().into());
self.rulelist()
.insert_rule(&rule, index, containing_rule_types)
} }
// https://drafts.csswg.org/cssom/#dom-cssgroupingrule-deleterule // https://drafts.csswg.org/cssom/#dom-cssgroupingrule-deleterule

View file

@ -8,7 +8,7 @@ use dom_struct::dom_struct;
use servo_arc::Arc; use servo_arc::Arc;
use style::shared_lock::Locked; use style::shared_lock::Locked;
use style::stylesheets::{ use style::stylesheets::{
AllowImportRules, CssRules, CssRulesHelpers, KeyframesRule, RulesMutateError, AllowImportRules, CssRuleTypes, CssRules, CssRulesHelpers, KeyframesRule, RulesMutateError,
StylesheetLoader as StyleStylesheetLoader, StylesheetLoader as StyleStylesheetLoader,
}; };
@ -92,7 +92,12 @@ impl CSSRuleList {
/// Should only be called for CssRules-backed rules. Use append_lazy_rule /// Should only be called for CssRules-backed rules. Use append_lazy_rule
/// for keyframes-backed rules. /// for keyframes-backed rules.
pub fn insert_rule(&self, rule: &str, idx: u32, nested: bool) -> Fallible<u32> { pub fn insert_rule(
&self,
rule: &str,
idx: u32,
containing_rule_types: CssRuleTypes,
) -> Fallible<u32> {
let css_rules = if let RulesSource::Rules(ref rules) = self.rules { let css_rules = if let RulesSource::Rules(ref rules) = self.rules {
rules rules
} else { } else {
@ -117,7 +122,7 @@ impl CSSRuleList {
rule, rule,
&parent_stylesheet.contents, &parent_stylesheet.contents,
index, index,
nested, containing_rule_types,
loader.as_ref().map(|l| l as &dyn StyleStylesheetLoader), loader.as_ref().map(|l| l as &dyn StyleStylesheetLoader),
AllowImportRules::Yes, AllowImportRules::Yes,
)?; )?;

View file

@ -6,7 +6,7 @@ use std::mem;
use cssparser::{Parser as CssParser, ParserInput as CssParserInput, ToCss}; use cssparser::{Parser as CssParser, ParserInput as CssParserInput, ToCss};
use dom_struct::dom_struct; use dom_struct::dom_struct;
use selectors::parser::SelectorList; use selectors::parser::{ParseRelative, SelectorList};
use servo_arc::Arc; use servo_arc::Arc;
use style::selector_parser::SelectorParser; use style::selector_parser::SelectorParser;
use style::shared_lock::{Locked, ToCssWithGuard}; use style::shared_lock::{Locked, ToCssWithGuard};
@ -111,7 +111,9 @@ impl CSSStyleRuleMethods for CSSStyleRule {
}; };
let mut css_parser = CssParserInput::new(&*value); let mut css_parser = CssParserInput::new(&*value);
let mut css_parser = CssParser::new(&mut css_parser); let mut css_parser = CssParser::new(&mut css_parser);
if let Ok(mut s) = SelectorList::parse(&parser, &mut css_parser) { // TODO: Maybe allow setting relative selectors from the OM, if we're in a nested style
// rule?
if let Ok(mut s) = SelectorList::parse(&parser, &mut css_parser, ParseRelative::No) {
// This mirrors what we do in CSSStyleOwner::mutate_associated_block. // This mirrors what we do in CSSStyleOwner::mutate_associated_block.
let mut guard = self.cssrule.shared_lock().write(); let mut guard = self.cssrule.shared_lock().write();
let stylerule = self.stylerule.write_with(&mut guard); let stylerule = self.stylerule.write_with(&mut guard);

View file

@ -7,7 +7,7 @@ use std::cell::Cell;
use dom_struct::dom_struct; use dom_struct::dom_struct;
use servo_arc::Arc; use servo_arc::Arc;
use style::shared_lock::SharedRwLock; use style::shared_lock::SharedRwLock;
use style::stylesheets::Stylesheet as StyleStyleSheet; use style::stylesheets::{CssRuleTypes, Stylesheet as StyleStyleSheet};
use crate::dom::bindings::codegen::Bindings::CSSStyleSheetBinding::CSSStyleSheetMethods; use crate::dom::bindings::codegen::Bindings::CSSStyleSheetBinding::CSSStyleSheetMethods;
use crate::dom::bindings::error::{Error, ErrorResult, Fallible}; use crate::dom::bindings::error::{Error, ErrorResult, Fallible};
@ -129,7 +129,7 @@ impl CSSStyleSheetMethods for CSSStyleSheet {
return Err(Error::Security); return Err(Error::Security);
} }
self.rulelist() self.rulelist()
.insert_rule(&rule, index, /* nested */ false) .insert_rule(&rule, index, CssRuleTypes::default())
} }
// https://drafts.csswg.org/cssom/#dom-cssstylesheet-deleterule // https://drafts.csswg.org/cssom/#dom-cssstylesheet-deleterule

View file

@ -31,7 +31,8 @@ use script_layout_interface::{
}; };
use script_traits::{DocumentActivity, UntrustedNodeAddress}; use script_traits::{DocumentActivity, UntrustedNodeAddress};
use selectors::matching::{ use selectors::matching::{
matches_selector_list, MatchingContext, MatchingMode, NeedsSelectorFlags, matches_selector_list, IgnoreNthChildForInvalidation, MatchingContext, MatchingMode,
NeedsSelectorFlags,
}; };
use selectors::parser::SelectorList; use selectors::parser::SelectorList;
use servo_arc::Arc; use servo_arc::Arc;
@ -480,6 +481,7 @@ impl<'a> Iterator for QuerySelectorIterator {
&mut nth_index_cache, &mut nth_index_cache,
node.owner_doc().quirks_mode(), node.owner_doc().quirks_mode(),
NeedsSelectorFlags::No, NeedsSelectorFlags::No,
IgnoreNthChildForInvalidation::No,
); );
if let Some(element) = DomRoot::downcast(node) { if let Some(element) = DomRoot::downcast(node) {
if matches_selector_list(selectors, &element, &mut ctx) { if matches_selector_list(selectors, &element, &mut ctx) {
@ -976,6 +978,7 @@ impl Node {
&mut nth_index_cache, &mut nth_index_cache,
doc.quirks_mode(), doc.quirks_mode(),
NeedsSelectorFlags::No, NeedsSelectorFlags::No,
IgnoreNthChildForInvalidation::No,
); );
Ok(self Ok(self
.traverse_preorder(ShadowIncluding::No) .traverse_preorder(ShadowIncluding::No)

View file

@ -18,7 +18,7 @@ keyboard-types = { workspace = true }
lazy_static = { workspace = true } lazy_static = { workspace = true }
log = { workspace = true } log = { workspace = true }
msg = { workspace = true } msg = { workspace = true }
num-derive = "0.3" num-derive = "0.4"
num-traits = { workspace = true } num-traits = { workspace = true }
serde = { workspace = true } serde = { workspace = true }
servo_url = { path = "../../url" } servo_url = { path = "../../url" }

View file

@ -62,6 +62,12 @@ packages = [
# quickcheck (required by layout_2020 for tests) is # quickcheck (required by layout_2020 for tests) is
# stuck on 0.8.4 with no new releases. # stuck on 0.8.4 with no new releases.
"env_logger", "env_logger",
# Stylo uses phf 0.11, while script and other dependencies use 0.10.
"phf",
"phf_codegen",
"phf_generator",
"phf_shared",
] ]
# Files that are ignored for all tidy and lint checks. # Files that are ignored for all tidy and lint checks.
files = [ files = [

View file

@ -3,7 +3,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
use cssparser::{Parser, ParserInput, ToCss}; use cssparser::{Parser, ParserInput, ToCss};
use selectors::parser::SelectorList; use selectors::parser::{ParseRelative, SelectorList};
use style::selector_parser::{SelectorImpl, SelectorParser}; use style::selector_parser::{SelectorImpl, SelectorParser};
use style::stylesheets::{Namespaces, Origin}; use style::stylesheets::{Namespaces, Origin};
use style_traits::ParseError; use style_traits::ParseError;
@ -22,7 +22,7 @@ fn parse_selector<'i, 't>(
url_data: &dummy_url_data, url_data: &dummy_url_data,
for_supports_rule: false, for_supports_rule: false,
}; };
SelectorList::parse(&parser, input) SelectorList::parse(&parser, input, ParseRelative::No)
} }
#[test] #[test]

View file

@ -1,3 +0,0 @@
[color-mix-currentcolor-visited-getcomputedstyle.html]
[Property background-color value 'color-mix(in srgb, currentcolor, white)' should not leak :visited for computed style]
expected: FAIL

View file

@ -176,53 +176,26 @@
[Property color value 'color(srgb calc(NaN) 0 0)'] [Property color value 'color(srgb calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(srgb calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(srgb-linear calc(NaN) 0 0)'] [Property color value 'color(srgb-linear calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(srgb-linear calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(a98-rgb calc(NaN) 0 0)'] [Property color value 'color(a98-rgb calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(a98-rgb calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(rec2020 calc(NaN) 0 0)'] [Property color value 'color(rec2020 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(rec2020 calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(prophoto-rgb calc(NaN) 0 0)'] [Property color value 'color(prophoto-rgb calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(prophoto-rgb calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(display-p3 calc(NaN) 0 0)'] [Property color value 'color(display-p3 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(display-p3 calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(xyz calc(NaN) 0 0)'] [Property color value 'color(xyz calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(xyz calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(xyz-d50 calc(NaN) 0 0)'] [Property color value 'color(xyz-d50 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(xyz-d50 calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(xyz-d65 calc(NaN) 0 0)'] [Property color value 'color(xyz-d65 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(xyz-d65 calc(0 / 0) 0 0)']
expected: FAIL

View file

@ -1,148 +1,4 @@
[color-computed-color-mix-function.html] [color-computed-color-mix-function.html]
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%), hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 25%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, 25% hsl(120deg 10% 20%), hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%), 25% hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%), hsl(30deg 30% 40%) 25%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 25%, hsl(30deg 30% 40%) 75%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 30%, hsl(30deg 30% 40%) 90%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 12.5%, hsl(30deg 30% 40%) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 0%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4), hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 25%, hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, 25% hsl(120deg 10% 20% / .4), hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4), 25% hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4), hsl(30deg 30% 40% / .8) 25%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 25%, hsl(30deg 30% 40% / .8) 75%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 30%, hsl(30deg 30% 40% / .8) 90%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 12.5%, hsl(30deg 30% 40% / .8) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 0%, hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl specified hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))'] [Property color value 'color-mix(in hsl specified hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL expected: FAIL
@ -161,30 +17,6 @@
[Property color value 'color-mix(in hsl specified hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))'] [Property color value 'color-mix(in hsl specified hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, hsl(none none none), hsl(none none none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(none none none), hsl(30deg 40% 80%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 20% 40%), hsl(none none none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 20% none), hsl(30deg 40% 60%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 20% 40%), hsl(30deg 20% none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(none 20% 40%), hsl(30deg none 80%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40% / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40% / none))'] [Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40% / none))']
expected: FAIL expected: FAIL
@ -215,150 +47,6 @@
[Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)'] [Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 25%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, 25% hwb(120deg 10% 20%), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), 25% hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% 40%) 25%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 25%, hwb(30deg 30% 40%) 75%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 30%, hwb(30deg 30% 40%) 90%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 12.5%, hwb(30deg 30% 40%) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 0%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4), hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 25%, hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, 25% hwb(120deg 10% 20% / .4), hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), 25% hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4), hwb(30deg 30% 40% / .8) 25%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 25%, hwb(30deg 30% 40% / .8) 75%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 30%, hwb(30deg 30% 40% / .8) 90%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 12.5%, hwb(30deg 30% 40% / .8) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 0%, hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb specified hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))'] [Property color value 'color-mix(in hwb specified hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL expected: FAIL
@ -377,30 +65,6 @@
[Property color value 'color-mix(in hwb specified hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))'] [Property color value 'color-mix(in hwb specified hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hwb, hwb(none none none), hwb(none none none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(none none none), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(none none none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% none), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(none 10% 20%), hwb(30deg none 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40% / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40% / none))'] [Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40% / none))']
expected: FAIL expected: FAIL
@ -713,30 +377,6 @@
[Property color value 'color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))'] [Property color value 'color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, transparent, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, transparent 10%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / 0), hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / 0) 10%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, transparent, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, transparent 10%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / 0), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / 0) 10%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in lch, transparent, lch(0.3 0.4 30deg))'] [Property color value 'color-mix(in lch, transparent, lch(0.3 0.4 30deg))']
expected: FAIL expected: FAIL
@ -761,72 +401,15 @@
[Property color value 'color-mix(in oklch, transparent 10%, oklch(0.3 40 30deg))'] [Property color value 'color-mix(in oklch, transparent 10%, oklch(0.3 40 30deg))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(90deg none none / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(none 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(none none 50% / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(90deg 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(none none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(90deg none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(90deg none none / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(none 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(none none 50% / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(90deg 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(none none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(90deg none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))'] [Property color value 'color-mix(in hsl longer hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in lch, lab(50 0 0), black)'] [Property color value 'color-mix(in lch, lab(50 0 0), black)']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in oklch, oklab(0.5 0 0), black)'] [Property color value 'color-mix(in oklch, oklab(0.5 0 0), black)']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, white, blue)']
expected: FAIL
[Property color value 'color-mix(in hsl, white 10%, blue)']
expected: FAIL
[Property color value 'color-mix(in hwb, white, blue)']
expected: FAIL
[Property color value 'color-mix(in hwb, white 10%, blue)']
expected: FAIL
[Property color value 'color-mix(in lch, white, blue)'] [Property color value 'color-mix(in lch, white, blue)']
expected: FAIL expected: FAIL

View file

@ -119,23 +119,11 @@
[Property color value 'lab(calc(NaN) 0 0)'] [Property color value 'lab(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'lab(calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'oklab(calc(NaN) 0 0)'] [Property color value 'oklab(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'oklab(calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'lch(calc(NaN) 0 0)'] [Property color value 'lch(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'lch(calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'oklch(calc(NaN) 0 0)'] [Property color value 'oklch(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'oklch(calc(0 / 0) 0 0)']
expected: FAIL

View file

@ -34,15 +34,3 @@
[Property color value 'rgba(0, 0, 0, calc(NaN))' [Alpha channel resolves NaN to zero\]] [Property color value 'rgba(0, 0, 0, calc(NaN))' [Alpha channel resolves NaN to zero\]]
expected: FAIL expected: FAIL
[Property color value 'rgb(calc(0 / 0), 0, 0)' [Red channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL
[Property color value 'rgb(0, calc(0 / 0), 0)' [Green channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL
[Property color value 'rgb(0, 0, calc(0 / 0))' [Blue channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL
[Property color value 'rgba(0, 0, 0, calc(0 / 0))' [Alpha channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL

View file

@ -1,54 +0,0 @@
[color-mix-out-of-gamut.html]
[Property color value 'color-mix(in hsl, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lab(100 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lab(100 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL

View file

@ -5,18 +5,12 @@
[e.style['color'\] = "hsl(calc(-infinity) 100% 50%)" should set the property value] [e.style['color'\] = "hsl(calc(-infinity) 100% 50%)" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(calc(0 / 0) 100% 50%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(90 50% 50% / calc(infinity))" should set the property value] [e.style['color'\] = "hsl(90 50% 50% / calc(infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(90 50% 50% / calc(-infinity))" should set the property value] [e.style['color'\] = "hsl(90 50% 50% / calc(-infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50)" should set the property value] [e.style['color'\] = "hsl(120 30 50)" should set the property value]
expected: FAIL expected: FAIL

View file

@ -5,18 +5,12 @@
[e.style['color'\] = "hwb(calc(-infinity) 20% 10%)" should set the property value] [e.style['color'\] = "hwb(calc(-infinity) 20% 10%)" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(calc(0 / 0) 20% 10%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(90 20% 10% / calc(infinity))" should set the property value] [e.style['color'\] = "hwb(90 20% 10% / calc(infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(90 20% 10% / calc(-infinity))" should set the property value] [e.style['color'\] = "hwb(90 20% 10% / calc(-infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50)" should set the property value] [e.style['color'\] = "hwb(120 30 50)" should set the property value]
expected: FAIL expected: FAIL

View file

@ -34,15 +34,3 @@
[e.style['color'\] = "rgba(0, 0, 0, calc(NaN))" should set the property value] [e.style['color'\] = "rgba(0, 0, 0, calc(NaN))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "rgb(calc(0 / 0), 0, 0)" should set the property value]
expected: FAIL
[e.style['color'\] = "rgb(0, calc(0 / 0), 0)" should set the property value]
expected: FAIL
[e.style['color'\] = "rgb(0, 0, calc(0 / 0))" should set the property value]
expected: FAIL
[e.style['color'\] = "rgba(0, 0, 0, calc(0 / 0))" should set the property value]
expected: FAIL

View file

@ -0,0 +1,12 @@
[opacity-valid.html]
[e.style['opacity'\] = "clamp(50%, 0%, 70%)" should set the property value]
expected: FAIL
[e.style['opacity'\] = "clamp(50%, 80%, 70%)" should set the property value]
expected: FAIL
[e.style['opacity'\] = "min(50%, 0%)" should set the property value]
expected: FAIL
[e.style['opacity'\] = "max(0%, 50%)" should set the property value]
expected: FAIL

View file

@ -5,9 +5,6 @@
['calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'.] ['calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'.]
expected: FAIL expected: FAIL
['calc(1px * clamp(-1/0, 0, 1/0))' as a specified value should serialize as 'calc(0px)'.]
expected: FAIL
['calc(100px * (1 / (0)))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px * (1 / (0)))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL
@ -20,9 +17,6 @@
['calc(100px * (1 / (2 - 2)))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px * (1 / (2 - 2)))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL
['calc(1px * clamp(-1/0, 1/0, 10))' as a specified value should serialize as 'calc(10px)'.]
expected: FAIL
['calc(1px * min(0/0, 0))' as a specified value should serialize as 'calc(NaN * 1px)'.] ['calc(1px * min(0/0, 0))' as a specified value should serialize as 'calc(NaN * 1px)'.]
expected: FAIL expected: FAIL
@ -35,9 +29,6 @@
['calc(100px / (2 - 2))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px / (2 - 2))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL
['calc(1px * min(1/0, 0))' as a specified value should serialize as 'calc(0px)'.]
expected: FAIL
['calc(1px * clamp(0/0, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.] ['calc(1px * clamp(0/0, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.]
expected: FAIL expected: FAIL
@ -61,4 +52,3 @@
['calc(100px * (1 / 0))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px * (1 / 0))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL

View file

@ -1,6 +0,0 @@
[calc-serialization-002.html]
[testing calc(2 * (min(10px, 20%) + max(1rem, 2%)))]
expected: FAIL
[testing calc((min(10px, 20%) + max(1rem, 2%)) * 2)]
expected: FAIL

View file

@ -1,4 +0,0 @@
[calc-z-index-fractions-001.html]
[testing z-index: calc(-3 / 2)]
expected: FAIL

View file

@ -214,9 +214,3 @@
['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + (10px + min(10%, 30px)) * 2, 5% + 80px)'.] ['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + (10px + min(10%, 30px)) * 2, 5% + 80px)'.]
expected: FAIL expected: FAIL
['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a specified value should serialize as 'max(10px + ((10px + min(10%, 30px)) * 2), 5% + 5em)'.]
expected: FAIL
['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + ((10px + min(10%, 30px)) * 2), 5% + 80px)'.]
expected: FAIL

View file

@ -1,3 +0,0 @@
[color-mix-currentcolor-visited-getcomputedstyle.html]
[Property background-color value 'color-mix(in srgb, currentcolor, white)' should not leak :visited for computed style]
expected: FAIL

View file

@ -176,53 +176,26 @@
[Property color value 'color(srgb calc(NaN) 0 0)'] [Property color value 'color(srgb calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(srgb calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(srgb-linear calc(NaN) 0 0)'] [Property color value 'color(srgb-linear calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(srgb-linear calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(a98-rgb calc(NaN) 0 0)'] [Property color value 'color(a98-rgb calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(a98-rgb calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(rec2020 calc(NaN) 0 0)'] [Property color value 'color(rec2020 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(rec2020 calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(prophoto-rgb calc(NaN) 0 0)'] [Property color value 'color(prophoto-rgb calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(prophoto-rgb calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(display-p3 calc(NaN) 0 0)'] [Property color value 'color(display-p3 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(display-p3 calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(xyz calc(NaN) 0 0)'] [Property color value 'color(xyz calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(xyz calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(xyz-d50 calc(NaN) 0 0)'] [Property color value 'color(xyz-d50 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(xyz-d50 calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'color(xyz-d65 calc(NaN) 0 0)'] [Property color value 'color(xyz-d65 calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'color(xyz-d65 calc(0 / 0) 0 0)']
expected: FAIL

View file

@ -1,148 +1,4 @@
[color-computed-color-mix-function.html] [color-computed-color-mix-function.html]
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%), hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 25%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, 25% hsl(120deg 10% 20%), hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%), 25% hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%), hsl(30deg 30% 40%) 25%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 25%, hsl(30deg 30% 40%) 75%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 30%, hsl(30deg 30% 40%) 90%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 12.5%, hsl(30deg 30% 40%) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 0%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4), hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20%) 25%, hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, 25% hsl(120deg 10% 20% / .4), hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4), 25% hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4), hsl(30deg 30% 40% / .8) 25%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 25%, hsl(30deg 30% 40% / .8) 75%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 30%, hsl(30deg 30% 40% / .8) 90%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 12.5%, hsl(30deg 30% 40% / .8) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / .4) 0%, hsl(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(60deg 50% 50%), hsl(40deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(50deg 50% 50%), hsl(330deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(330deg 50% 50%), hsl(50deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(20deg 50% 50%), hsl(320deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl specified hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))'] [Property color value 'color-mix(in hsl specified hue, hsl(40deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL expected: FAIL
@ -161,30 +17,6 @@
[Property color value 'color-mix(in hsl specified hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))'] [Property color value 'color-mix(in hsl specified hue, hsl(320deg 50% 50%), hsl(20deg 50% 50%))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, hsl(none none none), hsl(none none none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(none none none), hsl(30deg 40% 80%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 20% 40%), hsl(none none none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 20% none), hsl(30deg 40% 60%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 20% 40%), hsl(30deg 20% none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(none 20% 40%), hsl(30deg none 80%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40% / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40% / none))'] [Property color value 'color-mix(in hsl, hsl(120deg 40% 40% / none), hsl(0deg 40% 40% / none))']
expected: FAIL expected: FAIL
@ -215,150 +47,6 @@
[Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)'] [Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 25%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, 25% hwb(120deg 10% 20%), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), 25% hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% 40%) 25%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 25%, hwb(30deg 30% 40%) 75%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 30%, hwb(30deg 30% 40%) 90%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 12.5%, hwb(30deg 30% 40%) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%) 0%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4), hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 25%, hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, 25% hwb(120deg 10% 20% / .4), hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), 25% hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4), hwb(30deg 30% 40% / .8) 25%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 25%, hwb(30deg 30% 40% / .8) 75%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 30%, hwb(30deg 30% 40% / .8) 90%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 12.5%, hwb(30deg 30% 40% / .8) 37.5%)']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / .4) 0%, hwb(30deg 30% 40% / .8))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb shorter hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb longer hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb increasing hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(60deg 30% 40%), hwb(40deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(50deg 30% 40%), hwb(330deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(330deg 30% 40%), hwb(50deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(20deg 30% 40%), hwb(320deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb decreasing hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb specified hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))'] [Property color value 'color-mix(in hwb specified hue, hwb(40deg 30% 40%), hwb(60deg 30% 40%))']
expected: FAIL expected: FAIL
@ -377,30 +65,6 @@
[Property color value 'color-mix(in hwb specified hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))'] [Property color value 'color-mix(in hwb specified hue, hwb(320deg 30% 40%), hwb(20deg 30% 40%))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hwb, hwb(none none none), hwb(none none none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(none none none), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(none none none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% none), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(none 10% 20%), hwb(30deg none 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40% / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40% / none))'] [Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / none), hwb(30deg 30% 40% / none))']
expected: FAIL expected: FAIL
@ -713,30 +377,6 @@
[Property color value 'color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))'] [Property color value 'color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, transparent, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, transparent 10%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / 0), hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(120deg 10% 20% / 0) 10%, hsl(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, transparent, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, transparent 10%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / 0), hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(120deg 10% 20% / 0) 10%, hwb(30deg 30% 40%))']
expected: FAIL
[Property color value 'color-mix(in lch, transparent, lch(0.3 0.4 30deg))'] [Property color value 'color-mix(in lch, transparent, lch(0.3 0.4 30deg))']
expected: FAIL expected: FAIL
@ -761,72 +401,15 @@
[Property color value 'color-mix(in oklch, transparent 10%, oklch(0.3 40 30deg))'] [Property color value 'color-mix(in oklch, transparent 10%, oklch(0.3 40 30deg))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(90deg none none / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(none 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(none none 50% / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(90deg 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(none none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hsl, hsl(30deg 40% 80% / 25%) 0%, hsl(90deg none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(90deg none none / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(none 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(none none 50% / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(90deg 50% none / none))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(none none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hwb, hwb(30deg 30% 40% / 25%) 0%, hwb(90deg none none / 0.5))']
expected: FAIL
[Property color value 'color-mix(in hsl shorter hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl longer hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))'] [Property color value 'color-mix(in hsl longer hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl increasing hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in hsl decreasing hue, hsl(60deg 50% 50%), hsl(60deg 50% 50%))']
expected: FAIL
[Property color value 'color-mix(in lch, lab(50 0 0), black)'] [Property color value 'color-mix(in lch, lab(50 0 0), black)']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in oklch, oklab(0.5 0 0), black)'] [Property color value 'color-mix(in oklch, oklab(0.5 0 0), black)']
expected: FAIL expected: FAIL
[Property color value 'color-mix(in hsl, white, blue)']
expected: FAIL
[Property color value 'color-mix(in hsl, white 10%, blue)']
expected: FAIL
[Property color value 'color-mix(in hwb, white, blue)']
expected: FAIL
[Property color value 'color-mix(in hwb, white 10%, blue)']
expected: FAIL
[Property color value 'color-mix(in lch, white, blue)'] [Property color value 'color-mix(in lch, white, blue)']
expected: FAIL expected: FAIL

View file

@ -119,23 +119,11 @@
[Property color value 'lab(calc(NaN) 0 0)'] [Property color value 'lab(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'lab(calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'oklab(calc(NaN) 0 0)'] [Property color value 'oklab(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'oklab(calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'lch(calc(NaN) 0 0)'] [Property color value 'lch(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'lch(calc(0 / 0) 0 0)']
expected: FAIL
[Property color value 'oklch(calc(NaN) 0 0)'] [Property color value 'oklch(calc(NaN) 0 0)']
expected: FAIL expected: FAIL
[Property color value 'oklch(calc(0 / 0) 0 0)']
expected: FAIL

View file

@ -34,15 +34,3 @@
[Property color value 'rgba(0, 0, 0, calc(NaN))' [Alpha channel resolves NaN to zero\]] [Property color value 'rgba(0, 0, 0, calc(NaN))' [Alpha channel resolves NaN to zero\]]
expected: FAIL expected: FAIL
[Property color value 'rgb(calc(0 / 0), 0, 0)' [Red channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL
[Property color value 'rgb(0, calc(0 / 0), 0)' [Green channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL
[Property color value 'rgb(0, 0, calc(0 / 0))' [Blue channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL
[Property color value 'rgba(0, 0, 0, calc(0 / 0))' [Alpha channel resolves NaN equivalent calc statements to zero\]]
expected: FAIL

View file

@ -1,54 +0,0 @@
[color-mix-out-of-gamut.html]
[Property color value 'color-mix(in hsl, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lab(100 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lab(100 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
[Property color value 'color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL

View file

@ -5,18 +5,12 @@
[e.style['color'\] = "hsl(calc(-infinity) 100% 50%)" should set the property value] [e.style['color'\] = "hsl(calc(-infinity) 100% 50%)" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(calc(0 / 0) 100% 50%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(90 50% 50% / calc(infinity))" should set the property value] [e.style['color'\] = "hsl(90 50% 50% / calc(infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(90 50% 50% / calc(-infinity))" should set the property value] [e.style['color'\] = "hsl(90 50% 50% / calc(-infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hsl(90 50% 50% / calc(0 / 0))" should set the property value]
expected: FAIL
[e.style['color'\] = "hsl(120 30 50)" should set the property value] [e.style['color'\] = "hsl(120 30 50)" should set the property value]
expected: FAIL expected: FAIL

View file

@ -5,18 +5,12 @@
[e.style['color'\] = "hwb(calc(-infinity) 20% 10%)" should set the property value] [e.style['color'\] = "hwb(calc(-infinity) 20% 10%)" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(calc(0 / 0) 20% 10%)" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(90 20% 10% / calc(infinity))" should set the property value] [e.style['color'\] = "hwb(90 20% 10% / calc(infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(90 20% 10% / calc(-infinity))" should set the property value] [e.style['color'\] = "hwb(90 20% 10% / calc(-infinity))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "hwb(90 20% 10% / calc(0 / 0))" should set the property value]
expected: FAIL
[e.style['color'\] = "hwb(120 30 50)" should set the property value] [e.style['color'\] = "hwb(120 30 50)" should set the property value]
expected: FAIL expected: FAIL

View file

@ -34,15 +34,3 @@
[e.style['color'\] = "rgba(0, 0, 0, calc(NaN))" should set the property value] [e.style['color'\] = "rgba(0, 0, 0, calc(NaN))" should set the property value]
expected: FAIL expected: FAIL
[e.style['color'\] = "rgb(calc(0 / 0), 0, 0)" should set the property value]
expected: FAIL
[e.style['color'\] = "rgb(0, calc(0 / 0), 0)" should set the property value]
expected: FAIL
[e.style['color'\] = "rgb(0, 0, calc(0 / 0))" should set the property value]
expected: FAIL
[e.style['color'\] = "rgba(0, 0, 0, calc(0 / 0))" should set the property value]
expected: FAIL

View file

@ -0,0 +1,12 @@
[opacity-valid.html]
[e.style['opacity'\] = "clamp(50%, 0%, 70%)" should set the property value]
expected: FAIL
[e.style['opacity'\] = "clamp(50%, 80%, 70%)" should set the property value]
expected: FAIL
[e.style['opacity'\] = "min(50%, 0%)" should set the property value]
expected: FAIL
[e.style['opacity'\] = "max(0%, 50%)" should set the property value]
expected: FAIL

View file

@ -5,9 +5,6 @@
['calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'.] ['calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'.]
expected: FAIL expected: FAIL
['calc(1px * clamp(-1/0, 0, 1/0))' as a specified value should serialize as 'calc(0px)'.]
expected: FAIL
['calc(100px * (1 / (0)))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px * (1 / (0)))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL
@ -20,9 +17,6 @@
['calc(100px * (1 / (2 - 2)))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px * (1 / (2 - 2)))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL
['calc(1px * clamp(-1/0, 1/0, 10))' as a specified value should serialize as 'calc(10px)'.]
expected: FAIL
['calc(1px * min(0/0, 0))' as a specified value should serialize as 'calc(NaN * 1px)'.] ['calc(1px * min(0/0, 0))' as a specified value should serialize as 'calc(NaN * 1px)'.]
expected: FAIL expected: FAIL
@ -35,9 +29,6 @@
['calc(100px / (2 - 2))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px / (2 - 2))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL
['calc(1px * min(1/0, 0))' as a specified value should serialize as 'calc(0px)'.]
expected: FAIL
['calc(1px * clamp(0/0, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.] ['calc(1px * clamp(0/0, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.]
expected: FAIL expected: FAIL
@ -61,4 +52,3 @@
['calc(100px * (1 / 0))' as a specified value should serialize as 'calc(infinity * 1px)'.] ['calc(100px * (1 / 0))' as a specified value should serialize as 'calc(infinity * 1px)'.]
expected: FAIL expected: FAIL

View file

@ -1,6 +0,0 @@
[calc-serialization-002.html]
[testing calc(2 * (min(10px, 20%) + max(1rem, 2%)))]
expected: FAIL
[testing calc((min(10px, 20%) + max(1rem, 2%)) * 2)]
expected: FAIL

View file

@ -1,3 +0,0 @@
[calc-z-index-fractions-001.html]
[testing z-index: calc(-3 / 2)]
expected: FAIL

View file

@ -4,9 +4,3 @@
['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + (10px + min(10%, 30px)) * 2, 5% + 80px)'.] ['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + (10px + min(10%, 30px)) * 2, 5% + 80px)'.]
expected: FAIL expected: FAIL
['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a specified value should serialize as 'max(10px + ((10px + min(10%, 30px)) * 2), 5% + 5em)'.]
expected: FAIL
['max((min(10%, 30px) + 10px) * 2 + 10px, 5em + 5%)' as a computed value should serialize as 'max(10px + ((10px + min(10%, 30px)) * 2), 5% + 80px)'.]
expected: FAIL