- From: jfkthame via GitHub <sysbot+gh@w3.org>
- Date: Tue, 11 Jul 2023 16:28:18 +0000
- To: public-css-archive@w3.org
Yeah -- from testing in the web console, it looks like Gecko is doing what I'd intuitively expect: the src descriptor is *valid* provided the argument(s) to the `tech()` function are (all) valid keywords. Throwing an unknown keyword in there *will* cause the source to be dropped (and if all source entries are dropped, we have a parse error). But a valid source with unsupported tech doesn't result in a parse error, it's just an unusable source and will be skipped during loading. Some experiments: ``` > style = document.createElement("style") < <style> > document.body.appendChild(style) < <style> > style.textContent = "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, color-SVG); }" < "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, color-SVG); }" // Valid src descriptor, even though `incremental` is not a supported technology: > style.textContent = "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, incremental); }" < "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, incremental); }" > style.textContent = "@font-face { font-family: foo; src: url(foo.ttf) tech(incremental); }" < "@font-face { font-family: foo; src: url(foo.ttf) tech(incremental); }" // Unknown keyword causes the src list entry to be dropped, leaving the list empty, which is invalid: > style.textContent = "@font-face { font-family: foo; src: url(foo.ttf) tech(features-unknown); }" ! Unknown descriptor 'src: url(foo.ttf) tech(features-unknown);' in @font-face rule. Skipped to next declaration. blank:1:72 < "@font-face { font-family: foo; src: url(foo.ttf) tech(features-unknown); }" // This is true even if there are valid keywords alongside the invalid one: > style.textContent = "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, color-SVG, unknown); }" ! Unknown descriptor 'src: url(foo.ttf) tech(features-opentype, color-SVG, unknown);' in @font-face rule. Skipped to next declaration. blank:1:93 < "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, color-SVG, unknown); }" // But only the bad source is dropped, so if there's another entry in the list, the descriptor is still valid: > style.textContent = "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, color-SVG, unknown), url(bar.ttf); }" < "@font-face { font-family: foo; src: url(foo.ttf) tech(features-opentype, color-SVG, unknown), url(bar.ttf); }" ``` -- GitHub Notification of comment by jfkthame Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9054#issuecomment-1631132501 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 11 July 2023 16:28:19 UTC