From 14d472669a2c08841104f9e84de5dfb575e79533 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Mon, 4 Nov 2024 10:48:54 -0500 Subject: [PATCH 1/5] Add initial CSS selectors feature --- features/css-selectors.yml | 32 ++++++++ features/css-selectors.yml.dist | 129 ++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 features/css-selectors.yml create mode 100644 features/css-selectors.yml.dist diff --git a/features/css-selectors.yml b/features/css-selectors.yml new file mode 100644 index 00000000000..1099070a5b8 --- /dev/null +++ b/features/css-selectors.yml @@ -0,0 +1,32 @@ +name: CSS selectors (initial support) +description: CSS selectors [TODO] +spec: https://drafts.csswg.org/selectors-4/ +status: + compute_from: css.selectors.class +compat_features: + - css.selectors.active + - css.selectors.active.non_a_elements + - css.selectors.child + - css.selectors.class + - css.selectors.descendant + - css.selectors.focus + - css.selectors.id + - css.selectors.list + - css.selectors.next-sibling + - css.selectors.root + - css.selectors.type + - css.selectors.universal + - css.selectors.type.namespaces + - css.selectors.universal.namespaces + - css.selectors.target + - css.selectors.hover + - css.selectors.attribute + - css.selectors.subsequent-sibling + - css.selectors.checked + - css.selectors.disabled + - css.selectors.empty + - css.selectors.empty.matches_whitespace + - css.selectors.enabled + - css.selectors.lang + - css.selectors.not + - css.selectors.not.selector_list \ No newline at end of file diff --git a/features/css-selectors.yml.dist b/features/css-selectors.yml.dist new file mode 100644 index 00000000000..9802b1ac345 --- /dev/null +++ b/features/css-selectors.yml.dist @@ -0,0 +1,129 @@ +# Generated from: css-selectors.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "1" + firefox_android: "4" + safari: "1" + safari_ios: "1" +compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - css.selectors.active + - css.selectors.active.non_a_elements + - css.selectors.child + - css.selectors.class + - css.selectors.descendant + - css.selectors.focus + - css.selectors.id + - css.selectors.list + - css.selectors.next-sibling + - css.selectors.root + - css.selectors.type + - css.selectors.universal + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1.3" + # safari_ios: "1" + - css.selectors.type.namespaces + - css.selectors.universal.namespaces + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1.3" + # safari_ios: "2" + - css.selectors.target + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "2" + # safari_ios: "1" + - css.selectors.hover + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "3" + # safari_ios: "1" + - css.selectors.attribute + - css.selectors.subsequent-sibling + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "3.1" + # safari_ios: "2" + - css.selectors.checked + - css.selectors.disabled + - css.selectors.empty + - css.selectors.enabled + - css.selectors.lang + - css.selectors.not + + # baseline: high + # baseline_low_date: 2021-01-21 + # baseline_high_date: 2023-07-21 + # support: + # chrome: "88" + # chrome_android: "88" + # edge: "88" + # firefox: "84" + # firefox_android: "84" + # safari: "9" + # safari_ios: "9" + - css.selectors.not.selector_list + + # baseline: false + # support: {} + - css.selectors.empty.matches_whitespace From 3e26ec61bb32702e6d5ea2082a8ad4e8c177473e Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Wed, 6 Nov 2024 17:03:09 -0500 Subject: [PATCH 2/5] Format --- features/css-selectors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/css-selectors.yml b/features/css-selectors.yml index 1099070a5b8..8b800447650 100644 --- a/features/css-selectors.yml +++ b/features/css-selectors.yml @@ -29,4 +29,4 @@ compat_features: - css.selectors.enabled - css.selectors.lang - css.selectors.not - - css.selectors.not.selector_list \ No newline at end of file + - css.selectors.not.selector_list From 86dc43791f691f8a0c8b3eec3312b733d9e3d7d9 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Tue, 19 Nov 2024 16:09:34 -0500 Subject: [PATCH 3/5] Prep selectors core --- features/css-selectors.yml | 32 -------- features/css-selectors.yml.dist | 129 -------------------------------- features/selectors.yml | 17 +++++ features/selectors.yml.dist | 64 ++++++++++++++++ 4 files changed, 81 insertions(+), 161 deletions(-) delete mode 100644 features/css-selectors.yml delete mode 100644 features/css-selectors.yml.dist create mode 100644 features/selectors.yml create mode 100644 features/selectors.yml.dist diff --git a/features/css-selectors.yml b/features/css-selectors.yml deleted file mode 100644 index 8b800447650..00000000000 --- a/features/css-selectors.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: CSS selectors (initial support) -description: CSS selectors [TODO] -spec: https://drafts.csswg.org/selectors-4/ -status: - compute_from: css.selectors.class -compat_features: - - css.selectors.active - - css.selectors.active.non_a_elements - - css.selectors.child - - css.selectors.class - - css.selectors.descendant - - css.selectors.focus - - css.selectors.id - - css.selectors.list - - css.selectors.next-sibling - - css.selectors.root - - css.selectors.type - - css.selectors.universal - - css.selectors.type.namespaces - - css.selectors.universal.namespaces - - css.selectors.target - - css.selectors.hover - - css.selectors.attribute - - css.selectors.subsequent-sibling - - css.selectors.checked - - css.selectors.disabled - - css.selectors.empty - - css.selectors.empty.matches_whitespace - - css.selectors.enabled - - css.selectors.lang - - css.selectors.not - - css.selectors.not.selector_list diff --git a/features/css-selectors.yml.dist b/features/css-selectors.yml.dist deleted file mode 100644 index 9802b1ac345..00000000000 --- a/features/css-selectors.yml.dist +++ /dev/null @@ -1,129 +0,0 @@ -# Generated from: css-selectors.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: high - baseline_low_date: 2015-07-29 - baseline_high_date: 2018-01-29 - support: - chrome: "1" - chrome_android: "18" - edge: "12" - firefox: "1" - firefox_android: "4" - safari: "1" - safari_ios: "1" -compat_features: - # ⬇️ Same status as overall feature ⬇️ - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "1" - # firefox_android: "4" - # safari: "1" - # safari_ios: "1" - - css.selectors.active - - css.selectors.active.non_a_elements - - css.selectors.child - - css.selectors.class - - css.selectors.descendant - - css.selectors.focus - - css.selectors.id - - css.selectors.list - - css.selectors.next-sibling - - css.selectors.root - - css.selectors.type - - css.selectors.universal - - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "1" - # firefox_android: "4" - # safari: "1.3" - # safari_ios: "1" - - css.selectors.type.namespaces - - css.selectors.universal.namespaces - - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "1" - # firefox_android: "4" - # safari: "1.3" - # safari_ios: "2" - - css.selectors.target - - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "1" - # firefox_android: "4" - # safari: "2" - # safari_ios: "1" - - css.selectors.hover - - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "1" - # firefox_android: "4" - # safari: "3" - # safari_ios: "1" - - css.selectors.attribute - - css.selectors.subsequent-sibling - - # baseline: high - # baseline_low_date: 2015-07-29 - # baseline_high_date: 2018-01-29 - # support: - # chrome: "1" - # chrome_android: "18" - # edge: "12" - # firefox: "1" - # firefox_android: "4" - # safari: "3.1" - # safari_ios: "2" - - css.selectors.checked - - css.selectors.disabled - - css.selectors.empty - - css.selectors.enabled - - css.selectors.lang - - css.selectors.not - - # baseline: high - # baseline_low_date: 2021-01-21 - # baseline_high_date: 2023-07-21 - # support: - # chrome: "88" - # chrome_android: "88" - # edge: "88" - # firefox: "84" - # firefox_android: "84" - # safari: "9" - # safari_ios: "9" - - css.selectors.not.selector_list - - # baseline: false - # support: {} - - css.selectors.empty.matches_whitespace diff --git a/features/selectors.yml b/features/selectors.yml new file mode 100644 index 00000000000..05325feadd4 --- /dev/null +++ b/features/selectors.yml @@ -0,0 +1,17 @@ +name: Selectors (core) +description: CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. +spec: https://drafts.csswg.org/selectors-4/ +group: selectors +compat_features: + - css.selectors.child + - css.selectors.class + - css.selectors.descendant + - css.selectors.id + - css.selectors.list + - css.selectors.next-sibling + - css.selectors.type + - css.selectors.universal + - css.selectors.type.namespaces + - css.selectors.universal.namespaces + - css.selectors.attribute + - css.selectors.subsequent-sibling diff --git a/features/selectors.yml.dist b/features/selectors.yml.dist new file mode 100644 index 00000000000..82b140481fa --- /dev/null +++ b/features/selectors.yml.dist @@ -0,0 +1,64 @@ +# Generated from: selectors.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2015-07-29 + baseline_high_date: 2018-01-29 + support: + chrome: "1" + chrome_android: "18" + edge: "12" + firefox: "1" + firefox_android: "4" + safari: "3" + safari_ios: "1" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - css.selectors.child + - css.selectors.class + - css.selectors.descendant + - css.selectors.id + - css.selectors.list + - css.selectors.next-sibling + - css.selectors.type + - css.selectors.universal + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1.3" + # safari_ios: "1" + - css.selectors.type.namespaces + - css.selectors.universal.namespaces + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "3" + # safari_ios: "1" + - css.selectors.attribute + - css.selectors.subsequent-sibling From 4bebfb9fdc3484827e0cd6a4ba57ddf0b3a15cf5 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Wed, 20 Nov 2024 10:06:49 -0500 Subject: [PATCH 4/5] Add oldest language features clause --- features/selectors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/selectors.yml b/features/selectors.yml index 05325feadd4..2485faf2d15 100644 --- a/features/selectors.yml +++ b/features/selectors.yml @@ -1,5 +1,5 @@ name: Selectors (core) -description: CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. +description: CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. This feature represents the oldest language features of CSS. spec: https://drafts.csswg.org/selectors-4/ group: selectors compat_features: From 8c4b67dc8d6803c6fa8a133eafa69ab9b4497554 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Thu, 21 Nov 2024 09:55:10 -0500 Subject: [PATCH 5/5] Update features/selectors.yml Co-authored-by: Florian Scholz --- features/selectors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/selectors.yml b/features/selectors.yml index 2485faf2d15..5e6f0a52c9a 100644 --- a/features/selectors.yml +++ b/features/selectors.yml @@ -1,5 +1,5 @@ name: Selectors (core) -description: CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. This feature represents the oldest language features of CSS. +description: CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. This feature represents the oldest selectors of CSS. spec: https://drafts.csswg.org/selectors-4/ group: selectors compat_features: