diff --git a/features/doctype.yml b/features/doctype.yml new file mode 100644 index 00000000000..4f8839f53b7 --- /dev/null +++ b/features/doctype.yml @@ -0,0 +1,13 @@ +name: Document Type +description: "A document's `doctype` is a read-only property representing the Document Type Declaration (DTD) associated with the current document." +spec: https://dom.spec.whatwg.org/#interface-documenttype +compat_features: + - api.Document.doctype + - api.DocumentType + - api.DocumentType.after + - api.DocumentType.before + - api.DocumentType.name + - api.DocumentType.publicId + - api.DocumentType.remove + - api.DocumentType.replaceWith + - api.DocumentType.systemId diff --git a/features/doctype.yml.dist b/features/doctype.yml.dist new file mode 100644 index 00000000000..c401d146164 --- /dev/null +++ b/features/doctype.yml.dist @@ -0,0 +1,73 @@ +# Generated from: doctype.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2018-04-30 + baseline_high_date: 2020-10-30 + support: + chrome: "54" + chrome_android: "54" + edge: "17" + firefox: "49" + firefox_android: "49" + safari: "10" + safari_ios: "10" +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" + - api.Document.doctype + + # 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" + - api.DocumentType + - api.DocumentType.name + - api.DocumentType.publicId + - api.DocumentType.systemId + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "12" + # firefox: "23" + # firefox_android: "23" + # safari: "7" + # safari_ios: "7" + - api.DocumentType.remove + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "54" + # chrome_android: "54" + # edge: "17" + # firefox: "49" + # firefox_android: "49" + # safari: "10" + # safari_ios: "10" + - api.DocumentType.after + - api.DocumentType.before + - api.DocumentType.replaceWith diff --git a/features/document-fragment.yml b/features/document-fragment.yml new file mode 100644 index 00000000000..83abf21be0d --- /dev/null +++ b/features/document-fragment.yml @@ -0,0 +1,16 @@ +name: Document Fragment +description: "A `DocumentFragment` is a minimal document object that has no parent. It is a lightweight version of `Document` that stores a segment of a document structure comprised of nodes just like a standard document, but isn't part of the active document." +spec: https://dom.spec.whatwg.org/#interface-documentfragment +compat_features: + - api.DocumentFragment + - api.DocumentFragment.DocumentFragment + - api.DocumentFragment.append + - api.DocumentFragment.childElementCount + - api.DocumentFragment.children + - api.DocumentFragment.firstElementChild + - api.DocumentFragment.getElementById + - api.DocumentFragment.lastElementChild + - api.DocumentFragment.prepend + - api.DocumentFragment.querySelector + - api.DocumentFragment.querySelectorAll + - api.DocumentFragment.replaceChildren diff --git a/features/document-fragment.yml.dist b/features/document-fragment.yml.dist new file mode 100644 index 00000000000..2e6291f095f --- /dev/null +++ b/features/document-fragment.yml.dist @@ -0,0 +1,124 @@ +# Generated from: document-fragment.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2020-10-20 + baseline_high_date: 2023-04-20 + support: + chrome: "86" + chrome_android: "86" + edge: "86" + firefox: "78" + firefox_android: "79" + safari: "14" + safari_ios: "14" +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: "3" + # safari_ios: "1" + - api.DocumentFragment + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "2" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3" + - api.DocumentFragment.querySelector + - api.DocumentFragment.querySelectorAll + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "16" + # firefox: "25" + # firefox_android: "25" + # safari: "9" + # safari_ios: "9" + - api.DocumentFragment.children + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "17" + # firefox: "24" + # firefox_android: "24" + # safari: "8" + # safari_ios: "8" + - api.DocumentFragment.DocumentFragment + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "17" + # firefox: "25" + # firefox_android: "25" + # safari: "9" + # safari_ios: "9" + - api.DocumentFragment.childElementCount + - api.DocumentFragment.firstElementChild + - api.DocumentFragment.lastElementChild + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "36" + # chrome_android: "36" + # edge: "17" + # firefox: "28" + # firefox_android: "28" + # safari: "9" + # safari_ios: "9" + - api.DocumentFragment.getElementById + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "54" + # chrome_android: "54" + # edge: "17" + # firefox: "49" + # firefox_android: "49" + # safari: "10" + # safari_ios: "10" + - api.DocumentFragment.append + - api.DocumentFragment.prepend + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2020-10-20 + # baseline_high_date: 2023-04-20 + # support: + # chrome: "86" + # chrome_android: "86" + # edge: "86" + # firefox: "78" + # firefox_android: "79" + # safari: "14" + # safari_ios: "14" + - api.DocumentFragment.replaceChildren diff --git a/features/document.yml b/features/document.yml new file mode 100644 index 00000000000..016107fae87 --- /dev/null +++ b/features/document.yml @@ -0,0 +1,97 @@ +name: Document +description: "The `document` object represents a loaded web page, and is an entry point into the page's content, through the DOM tree. It provides functionality globally to the page, such as access to the page's URL and ways to create new elements in the document." +spec: + - https://dom.spec.whatwg.org/#interface-document + - https://html.spec.whatwg.org/multipage/dom.html#the-document-object + +# Caniuse does not have a `Document` feature but does have the following: +# +# - api.Document.currentScript +# https://caniuse.com/document-currentscript +# Seems odd to have as a standalone feature. +# We could either leave it here and have multiple keys for `caniuse`, +# or make a separate feature. +# +# - api.Document.head +# https://caniuse.com/documenthead +# This should go in a standalone feature for the tag. +# +# - api.Document.scrollingElement +# https://caniuse.com/document-scrollingelement +# This is in CSSOM spec, which seems a right home for it. + +compat_features: + - api.DOMImplementation.createDocument + - api.DOMImplementation.createDocumentType + - api.DOMImplementation.createHTMLDocument + - api.Document + - api.Document.DOMContentLoaded_event + - api.Document.Document + - api.Document.URL + - api.Document.activeElement + - api.Document.adoptNode + - api.Document.append + - api.Document.body + - api.Document.characterSet + - api.Document.childElementCount + - api.Document.children + - api.Document.close + - api.Document.compatMode + - api.Document.contentType + - api.Document.cookie + - api.Document.createAttribute + - api.Document.createAttributeNS + - api.Document.createCDATASection + - api.Document.createComment + - api.Document.createDocumentFragment + - api.Document.createElement + - api.Document.createElementNS + - api.Document.createEvent + - api.Document.createExpression + - api.Document.createNodeIterator + - api.Document.createProcessingInstruction + - api.Document.createRange + - api.Document.createTextNode + - api.Document.createTreeWalker + - api.Document.currentScript + - api.Document.defaultView + - api.Document.designMode + - api.Document.dir + - api.Document.documentElement + - api.Document.documentURI + - api.Document.embeds + - api.Document.firstElementChild + - api.Document.forms + - api.Document.getElementById + - api.Document.getElementsByClassName + - api.Document.getElementsByName + - api.Document.getElementsByTagName + - api.Document.getElementsByTagNameNS + - api.Document.hasFocus + - api.Document.head + - api.Document.hidden + - api.Document.images + - api.Document.implementation + - api.Document.importNode + - api.Document.lastElementChild + - api.Document.lastModified + - api.Document.links + - api.Document.open + - api.Document.plugins + - api.Document.prepend + - api.Document.querySelector + - api.Document.querySelectorAll + - api.Document.readyState + - api.Document.readystatechange_event + - api.Document.referrer + - api.Document.replaceChildren + - api.Document.scripts + - api.Document.scroll_event + - api.Document.securitypolicyviolation_event + - api.Document.title + - api.Document.visibilityState + - api.Document.visibilitychange_event + - api.Document.write + - api.Document.writeln + - api.HTMLDocument + - api.XMLDocument diff --git a/features/document.yml.dist b/features/document.yml.dist new file mode 100644 index 00000000000..5934de83b62 --- /dev/null +++ b/features/document.yml.dist @@ -0,0 +1,437 @@ +# Generated from: document.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2022-03-14 + baseline_high_date: 2024-09-14 + support: + chrome: "86" + chrome_android: "86" + edge: "86" + firefox: "93" + firefox_android: "93" + safari: "15.4" + safari_ios: "15.4" +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" + - api.DOMImplementation.createDocument + - api.DOMImplementation.createDocumentType + - api.Document + - api.Document.URL + - api.Document.cookie + - api.Document.createAttribute + - api.Document.createAttributeNS + - api.Document.createCDATASection + - api.Document.createComment + - api.Document.createDocumentFragment + - api.Document.createElement + - api.Document.createElementNS + - api.Document.createEvent + - api.Document.createProcessingInstruction + - api.Document.createRange + - api.Document.createTextNode + - api.Document.defaultView + - api.Document.documentElement + - api.Document.forms + - api.Document.getElementById + - api.Document.getElementsByName + - api.Document.getElementsByTagName + - api.Document.getElementsByTagNameNS + - api.Document.images + - api.Document.implementation + - api.Document.importNode + - api.Document.lastModified + - api.Document.links + - api.Document.referrer + - api.Document.title + - api.Document.write + - api.HTMLDocument + + # 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.2" + # safari_ios: "1" + - api.Document.designMode + + # 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" + - api.Document.adoptNode + - api.Document.characterSet + - api.Document.createExpression + - api.Document.createNodeIterator + + # 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: "3" + - api.Document.createTreeWalker + + # 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" + - api.Document.DOMContentLoaded_event + - api.Document.compatMode + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "3" + # firefox_android: "4" + # safari: "3.1" + # safari_ios: "2" + - api.Document.getElementsByClassName + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "3.1" + # safari_ios: "2" + - api.Document.querySelector + - api.Document.querySelectorAll + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "3.6" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - api.Document.readyState + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - api.DOMImplementation.createHTMLDocument + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "6" + # firefox_android: "6" + # safari: "2" + # safari_ios: "1" + - api.Document.scroll_event + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "9" + # firefox_android: "9" + # safari: "3" + # safari_ios: "1" + - api.Document.scripts + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "2" + # chrome_android: "18" + # edge: "12" + # firefox: "3" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.Document.activeElement + - api.Document.hasFocus + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5" + # safari_ios: "4" + - api.Document.head + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "9" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - api.Document.readystatechange_event + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "8" + # safari_ios: "8" + - api.Document.currentScript + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "33" + # chrome_android: "33" + # edge: "12" + # firefox: "18" + # firefox_android: "18" + # safari: "7" + # safari_ios: "7" + - api.Document.hidden + - api.Document.visibilityState + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "34" + # chrome_android: "34" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "10" + # safari_ios: "10" + - api.XMLDocument + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "16" + # firefox: "25" + # firefox_android: "25" + # safari: "9" + # safari_ios: "9" + - api.Document.children + + # baseline: high + # baseline_low_date: 2018-01-23 + # baseline_high_date: 2020-07-23 + # support: + # chrome: "64" + # chrome_android: "64" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "10.1" + # safari_ios: "10.3" + - api.Document.dir + - api.Document.embeds + - api.Document.plugins + + # baseline: high + # baseline_low_date: 2018-01-23 + # baseline_high_date: 2020-07-23 + # support: + # chrome: "64" + # chrome_android: "64" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "11" + # safari_ios: "11" + - api.Document.close + - api.Document.open + - api.Document.writeln + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "17" + # firefox: "1" + # firefox_android: "4" + # safari: "3" + # safari_ios: "1" + - api.Document.documentURI + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "17" + # firefox: "25" + # firefox_android: "25" + # safari: "9" + # safari_ios: "9" + - api.Document.childElementCount + - api.Document.firstElementChild + - api.Document.lastElementChild + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "36" + # chrome_android: "36" + # edge: "17" + # firefox: "1" + # firefox_android: "4" + # safari: "9" + # safari_ios: "9" + - api.Document.contentType + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "54" + # chrome_android: "54" + # edge: "17" + # firefox: "49" + # firefox_android: "49" + # safari: "10" + # safari_ios: "10" + - api.Document.append + - api.Document.prepend + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "60" + # chrome_android: "60" + # edge: "17" + # firefox: "20" + # firefox_android: "20" + # safari: "8" + # safari_ios: "8" + - api.Document.Document + + # baseline: high + # baseline_low_date: 2018-05-09 + # baseline_high_date: 2020-11-09 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "60" + # firefox_android: "60" + # safari: "1" + # safari_ios: "1" + - api.Document.body + + # baseline: high + # baseline_low_date: 2020-10-20 + # baseline_high_date: 2023-04-20 + # support: + # chrome: "86" + # chrome_android: "86" + # edge: "86" + # firefox: "78" + # firefox_android: "79" + # safari: "14" + # safari_ios: "14" + - api.Document.replaceChildren + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "62" + # chrome_android: "62" + # edge: "18" + # firefox: "56" + # firefox_android: "56" + # safari: "14.1" + # safari_ios: "14.5" + - api.Document.visibilitychange_event + + # baseline: high + # baseline_low_date: 2022-03-14 + # baseline_high_date: 2024-09-14 + # support: + # chrome: "76" + # chrome_android: "76" + # edge: "79" + # firefox: "93" + # firefox_android: "93" + # safari: "15.4" + # safari_ios: "15.4" + - api.Document.securitypolicyviolation_event