diff --git a/features/dom.yml b/features/dom.yml new file mode 100644 index 00000000000..5001c821c12 --- /dev/null +++ b/features/dom.yml @@ -0,0 +1,276 @@ +name: DOM +description: The DOM (Document Object Model) API represents HTML and XML documents as trees of nodes. You can use the API to inspect and modify the structure and content of a document. +spec: https://dom.spec.whatwg.org/ +status: + compute_from: api.Document +compat_features: + - api.Attr + - api.Attr.localName + - api.Attr.name + - api.Attr.namespaceURI + - api.Attr.ownerElement + - api.Attr.prefix + - api.Attr.value + - api.CDATASection + - api.CharacterData + - api.CharacterData.after + - api.CharacterData.appendData + - api.CharacterData.before + - api.CharacterData.data + - api.CharacterData.deleteData + - api.CharacterData.insertData + - api.CharacterData.length + - api.CharacterData.nextElementSibling + - api.CharacterData.previousElementSibling + - api.CharacterData.remove + - api.CharacterData.replaceData + - api.CharacterData.replaceWith + - api.CharacterData.substringData + - api.Comment + - api.Comment.Comment + - api.DOMImplementation + - api.DOMImplementation.createDocument + - api.DOMImplementation.createDocumentType + - api.DOMImplementation.createHTMLDocument + - api.DOMStringList + - api.DOMStringList.contains + - api.DOMStringList.item + - api.DOMStringList.length + - api.DOMTokenList + - api.DOMTokenList.@@iterator + - api.DOMTokenList.add + - api.DOMTokenList.add.multiple_parameters + - api.DOMTokenList.contains + - api.DOMTokenList.entries + - api.DOMTokenList.forEach + - api.DOMTokenList.item + - api.DOMTokenList.keys + - api.DOMTokenList.length + - api.DOMTokenList.remove + - api.DOMTokenList.remove.multiple_parameters + - api.DOMTokenList.remove_duplicates + - api.DOMTokenList.replace + - api.DOMTokenList.replace.boolean_value + - api.DOMTokenList.supports + - api.DOMTokenList.toString + - api.DOMTokenList.toggle + - api.DOMTokenList.toggle.force_parameter + - api.DOMTokenList.trim_whitespace + - api.DOMTokenList.value + - api.DOMTokenList.values + - api.Document + - api.Document.Document + - api.Document.DOMContentLoaded_event + - 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.createAttribute + - api.Document.createAttributeNS + - api.Document.createCDATASection + - api.Document.createComment + - api.Document.createDocumentFragment + - api.Document.createElement + - api.Document.createElementNS + - api.Document.createNodeIterator + - api.Document.createProcessingInstruction + - api.Document.createTextNode + - api.Document.createTreeWalker + - api.Document.createTreeWalker.whatToShow_filter_parameters_optional + - api.Document.currentScript + - api.Document.defaultView + - api.Document.dir + - api.Document.doctype + - api.Document.documentElement + - api.Document.documentURI + - api.Document.embeds + - api.Document.firstElementChild + - api.Document.forms + - api.Document.getElementsByName + - api.Document.getElementById + - api.Document.getElementsByClassName + - 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.title + - api.Document.visibilityState + - api.Document.visibilitychange_event + - 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 + - api.DocumentType + - api.DocumentType.after + - api.DocumentType.before + - api.DocumentType.name + - api.DocumentType.publicId + - api.DocumentType.remove + - api.DocumentType.replaceWith + - api.DocumentType.systemId + - api.Element + - api.Element.after + - api.Element.append + - api.Element.attributes + - api.Element.outerHTML + - api.Element.before + - api.Element.childElementCount + - api.Element.children + - api.Element.classList + - api.Element.className + - api.Element.closest + - api.Element.firstElementChild + - api.Element.getAttribute + - api.Element.getAttributeNS + - api.Element.getAttributeNames + - api.Element.getAttributeNode + - api.Element.getAttributeNodeNS + - api.Element.getElementsByClassName + - api.Element.getElementsByTagName + - api.Element.getElementsByTagName.all_elements_selector + - api.Element.getElementsByTagNameNS + - api.Element.getElementsByTagNameNS.all_elements_selector + - api.Element.hasAttribute + - api.Element.hasAttributeNS + - api.Element.hasAttributes + - api.Element.id + - api.Element.innerHTML + - api.Element.insertAdjacentElement + - api.Element.insertAdjacentHTML + - api.Element.insertAdjacentText + - api.Element.lastElementChild + - api.Element.localName + - api.Element.matches + - api.Element.namespaceURI + - api.Element.nextElementSibling + - api.Element.prefix + - api.Element.prepend + - api.Element.previousElementSibling + - api.Element.querySelector + - api.Element.querySelectorAll + - api.Element.remove + - api.Element.removeAttribute + - api.Element.removeAttributeNS + - api.Element.removeAttributeNode + - api.Element.replaceChildren + - api.Element.replaceWith + - api.Element.setAttribute + - api.Element.setAttributeNS + - api.Element.setAttributeNode + - api.Element.setAttributeNodeNS + - api.Element.tagName + - api.Element.toggleAttribute + - api.HTMLCollection + - api.HTMLCollection.item + - api.HTMLCollection.length + - api.HTMLCollection.namedItem + - api.HTMLDocument + - api.HTMLElement + - api.HTMLElement.dir + - api.HTMLElement.hidden + - api.HTMLElement.innerText + - api.HTMLElement.outerText + - api.NamedNodeMap + - api.NamedNodeMap.getNamedItem + - api.NamedNodeMap.getNamedItemNS + - api.NamedNodeMap.item + - api.NamedNodeMap.length + - api.NamedNodeMap.removeNamedItem + - api.NamedNodeMap.removeNamedItemNS + - api.NamedNodeMap.setNamedItem + - api.NamedNodeMap.setNamedItemNS + - api.Node + - api.Node.appendChild + - api.Node.baseURI + - api.Node.childNodes + - api.Node.cloneNode + - api.Node.compareDocumentPosition + - api.Node.contains + - api.Node.firstChild + - api.Node.hasChildNodes + - api.Node.insertBefore + - api.Node.isDefaultNamespace + - api.Node.isEqualNode + - api.Node.isSameNode + - api.Node.lastChild + - api.Node.lookupNamespaceURI + - api.Node.lookupPrefix + - api.Node.nextSibling + - api.Node.nodeName + - api.Node.nodeType + - api.Node.nodeValue + - api.Node.normalize + - api.Node.ownerDocument + - api.Node.parentElement + - api.Node.parentNode + - api.Node.previousSibling + - api.Node.removeChild + - api.Node.replaceChild + - api.Node.textContent + - api.NodeIterator + - api.NodeIterator.filter + - api.NodeIterator.nextNode + - api.NodeIterator.pointerBeforeReferenceNode + - api.NodeIterator.previousNode + - api.NodeIterator.referenceNode + - api.NodeIterator.root + - api.NodeIterator.whatToShow + - api.NodeList + - api.NodeList.@@iterator + - api.NodeList.entries + - api.NodeList.forEach + - api.NodeList.item + - api.NodeList.keys + - api.NodeList.length + - api.NodeList.values + - api.ProcessingInstruction + - api.ProcessingInstruction.target + - api.Text + - api.Text.Text + - api.Text.splitText + - api.Text.wholeText + - api.TreeWalker + - api.TreeWalker.currentNode + - api.TreeWalker.filter + - api.TreeWalker.firstChild + - api.TreeWalker.lastChild + - api.TreeWalker.nextNode + - api.TreeWalker.nextSibling + - api.TreeWalker.parentNode + - api.TreeWalker.previousNode + - api.TreeWalker.previousSibling + - api.TreeWalker.root + - api.TreeWalker.whatToShow + - api.XMLDocument diff --git a/features/dom.yml.dist b/features/dom.yml.dist new file mode 100644 index 00000000000..f29173aabc0 --- /dev/null +++ b/features/dom.yml.dist @@ -0,0 +1,1198 @@ +# Generated from: dom.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" + - api.Attr + - api.Attr.localName + - api.Attr.name + - api.Attr.namespaceURI + - api.Attr.ownerElement + - api.Attr.prefix + - api.Attr.value + - api.CharacterData + - api.CharacterData.appendData + - api.CharacterData.data + - api.CharacterData.deleteData + - api.CharacterData.insertData + - api.CharacterData.length + - api.CharacterData.replaceData + - api.CharacterData.substringData + - api.DOMImplementation + - api.DOMImplementation.createDocument + - api.DOMImplementation.createDocumentType + - api.Document + - api.Document.URL + - api.Document.createAttribute + - api.Document.createAttributeNS + - api.Document.createCDATASection + - api.Document.createComment + - api.Document.createDocumentFragment + - api.Document.createElement + - api.Document.createElementNS + - api.Document.createProcessingInstruction + - api.Document.createTextNode + - api.Document.defaultView + - api.Document.doctype + - 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.Element + - api.Element.attributes + - api.Element.getAttribute + - api.Element.getAttributeNS + - api.Element.getAttributeNode + - api.Element.getAttributeNodeNS + - api.Element.getElementsByTagName + - api.Element.getElementsByTagName.all_elements_selector + - api.Element.getElementsByTagNameNS + - api.Element.getElementsByTagNameNS.all_elements_selector + - api.Element.hasAttribute + - api.Element.hasAttributeNS + - api.Element.hasAttributes + - api.Element.innerHTML + - api.Element.localName + - api.Element.namespaceURI + - api.Element.prefix + - api.Element.removeAttribute + - api.Element.removeAttributeNS + - api.Element.removeAttributeNode + - api.Element.setAttribute + - api.Element.setAttributeNS + - api.Element.setAttributeNode + - api.Element.setAttributeNodeNS + - api.Element.tagName + - api.HTMLCollection + - api.HTMLCollection.item + - api.HTMLCollection.length + - api.HTMLCollection.namedItem + - api.HTMLDocument + - api.HTMLElement + - api.Node + - api.Node.firstChild + - api.Node.hasChildNodes + - api.Node.nodeName + - api.Node.nodeValue + - api.Node.normalize + - api.Node.ownerDocument + - api.Node.previousSibling + - api.NodeList + - api.NodeList.item + - api.NodeList.length + - api.ProcessingInstruction + - api.ProcessingInstruction.target + - api.Text + - api.Text.splitText + + # 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.1" + # safari_ios: "1" + - api.Node.appendChild + - api.Node.cloneNode + - api.Node.insertBefore + - api.Node.nextSibling + - api.Node.nodeType + - api.Node.parentNode + - api.Node.removeChild + - api.Node.replaceChild + + # 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.Node.childNodes + + # 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.CDATASection + - api.Comment + - api.Document.adoptNode + - api.Document.characterSet + - api.Document.createNodeIterator + - api.DocumentFragment + - api.DocumentType + - api.DocumentType.name + - api.DocumentType.publicId + - api.DocumentType.systemId + - api.HTMLElement.dir + - api.Node.isDefaultNamespace + - api.Node.isEqualNode + - api.Node.lookupNamespaceURI + - api.Node.lookupPrefix + - api.Node.textContent + + # 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: "1" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - api.DOMStringList + - api.DOMStringList.item + - api.DOMStringList.length + + # 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: ≤4 + # safari_ios: "1" + - api.Node.baseURI + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1.5" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - api.DOMStringList.contains + + # 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" + # safari_ios: "3" + - api.NodeIterator + - api.NodeIterator.filter + - api.NodeIterator.nextNode + - api.NodeIterator.previousNode + - api.NodeIterator.root + - api.NodeIterator.whatToShow + + # 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 + - api.Element.querySelector + - api.Element.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.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3" + - api.Element.children + + # 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: "4" + # firefox_android: "4" + # safari: "3" + # safari_ios: "3" + - api.TreeWalker + - api.TreeWalker.currentNode + - api.TreeWalker.filter + - api.TreeWalker.firstChild + - api.TreeWalker.lastChild + - api.TreeWalker.nextNode + - api.TreeWalker.nextSibling + - api.TreeWalker.parentNode + - api.TreeWalker.previousNode + - api.TreeWalker.previousSibling + - api.TreeWalker.root + - api.TreeWalker.whatToShow + + # 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: "1.1" + # safari_ios: "1" + - api.Node.parentElement + + # 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: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "11" + # firefox_android: "14" + # safari: "1.3" + # safari_ios: "1" + - api.Element.outerHTML + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "34" + # firefox_android: "34" + # safari: "1" + # safari_ios: "1" + - api.NamedNodeMap + - api.NamedNodeMap.getNamedItem + - api.NamedNodeMap.getNamedItemNS + - api.NamedNodeMap.item + - api.NamedNodeMap.length + - api.NamedNodeMap.removeNamedItem + - api.NamedNodeMap.removeNamedItemNS + - api.NamedNodeMap.setNamedItem + - api.NamedNodeMap.setNamedItemNS + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "2" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.Node.compareDocumentPosition + + # 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: "2" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3" + - api.DocumentFragment.querySelector + - api.DocumentFragment.querySelectorAll + - api.Element.childElementCount + - api.Element.firstElementChild + - api.Element.lastElementChild + - api.Element.nextElementSibling + - api.Element.previousElementSibling + + # 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.2" + - api.Text.wholeText + + # 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: "6" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - api.HTMLElement.hidden + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "8" + # chrome_android: "18" + # edge: "12" + # firefox: "3.6" + # firefox_android: "4" + # safari: "5.1" + # safari_ios: "5" + - api.DOMTokenList + - api.DOMTokenList.add + - api.DOMTokenList.contains + - api.DOMTokenList.item + - api.DOMTokenList.length + - api.DOMTokenList.remove + - api.DOMTokenList.toString + - api.DOMTokenList.toggle + + # 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: "16" + # chrome_android: "18" + # edge: "12" + # firefox: "9" + # firefox_android: "9" + # safari: "1.1" + # safari_ios: "1" + - api.Node.contains + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "22" + # chrome_android: "25" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - api.Element.className + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "23" + # chrome_android: "25" + # edge: "12" + # firefox: "1" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - api.Element.id + + # 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.CharacterData.remove + - api.DocumentType.remove + - api.Element.remove + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "12" + # firefox: "24" + # firefox_android: "24" + # safari: "7" + # safari_ios: "7" + - api.DOMTokenList.toggle.force_parameter + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "24" + # chrome_android: "25" + # edge: "12" + # firefox: "26" + # firefox_android: "26" + # safari: "7" + # safari_ios: "7" + - api.DOMTokenList.add.multiple_parameters + - api.DOMTokenList.remove.multiple_parameters + + # 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: 2015-11-12 + # baseline_high_date: 2018-05-12 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "13" + # firefox: "12" + # firefox_android: "14" + # safari: "3" + # safari_ios: "3" + - api.Document.createTreeWalker.whatToShow_filter_parameters_optional + + # baseline: high + # baseline_low_date: 2016-03-08 + # baseline_high_date: 2018-09-08 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1" + # firefox_android: "45" + # safari: "1" + # safari_ios: "1" + - api.Node.lastChild + + # baseline: high + # baseline_low_date: 2016-03-08 + # baseline_high_date: 2018-09-08 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "45" + # firefox_android: "45" + # safari: "1" + # safari_ios: "1" + - api.HTMLElement.innerText + + # baseline: high + # baseline_low_date: 2016-08-02 + # baseline_high_date: 2019-02-02 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "48" + # firefox_android: "48" + # safari: "3" + # safari_ios: "1" + - api.Node.isSameNode + + # 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-01-24 + # baseline_high_date: 2019-07-24 + # support: + # chrome: "48" + # chrome_android: "48" + # edge: "12" + # firefox: "51" + # firefox_android: "51" + # safari: "10" + # safari_ios: "10" + - api.DOMTokenList.trim_whitespace + + # baseline: high + # baseline_low_date: 2017-04-05 + # baseline_high_date: 2019-10-05 + # support: + # chrome: "33" + # chrome_android: "33" + # edge: "15" + # firefox: "34" + # firefox_android: "34" + # safari: "8" + # safari_ios: "8" + - api.Element.matches + + # baseline: high + # baseline_low_date: 2017-04-05 + # baseline_high_date: 2019-10-05 + # support: + # chrome: "41" + # chrome_android: "41" + # edge: "15" + # firefox: "35" + # firefox_android: "35" + # safari: "6" + # safari_ios: "9" + - api.Element.closest + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "16" + # firefox: "3" + # firefox_android: "4" + # safari: "3.1" + # safari_ios: "2" + - api.Element.getElementsByClassName + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "22" + # chrome_android: "25" + # edge: "16" + # firefox: "3.6" + # firefox_android: "4" + # safari: "7" + # safari_ios: "7" + - api.Element.classList + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "16" + # firefox: "24" + # firefox_android: "24" + # safari: "8" + # safari_ios: "8" + - api.Comment.Comment + - api.Text.Text + + # 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 + - api.DocumentFragment.children + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "42" + # chrome_android: "42" + # edge: "16" + # firefox: "36" + # firefox_android: "36" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMTokenList.@@iterator + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "42" + # chrome_android: "42" + # edge: "16" + # firefox: "50" + # firefox_android: "50" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMTokenList.entries + - api.DOMTokenList.forEach + - api.DOMTokenList.keys + - api.DOMTokenList.values + + # baseline: high + # baseline_low_date: 2017-10-17 + # baseline_high_date: 2020-04-17 + # support: + # chrome: "51" + # chrome_android: "51" + # edge: "16" + # firefox: "50" + # firefox_android: "50" + # safari: "10" + # safari_ios: "10" + - api.NodeList.entries + - api.NodeList.forEach + - api.NodeList.keys + - api.NodeList.values + + # 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 + + # 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: "1" + # chrome_android: "18" + # edge: "17" + # firefox: "3.5" + # firefox_android: "4" + # safari: "3" + # safari_ios: "3" + - api.NodeIterator.pointerBeforeReferenceNode + - api.NodeIterator.referenceNode + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "17" + # firefox: "8" + # firefox_android: "8" + # safari: "4" + # safari_ios: "4" + - api.Element.insertAdjacentHTML + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "17" + # firefox: "48" + # firefox_android: "48" + # safari: "3" + # safari_ios: "1" + - api.Element.insertAdjacentElement + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "17" + # firefox: "48" + # firefox_android: "48" + # safari: "4" + # safari_ios: "4" + - api.Element.insertAdjacentText + + # 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.CharacterData.nextElementSibling + - api.CharacterData.previousElementSibling + - api.Document.childElementCount + - api.Document.firstElementChild + - api.Document.lastElementChild + - 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: "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: "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: "49" + # chrome_android: "49" + # edge: "17" + # firefox: "49" + # firefox_android: "49" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMTokenList.supports + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "50" + # chrome_android: "50" + # edge: "17" + # firefox: "47" + # firefox_android: "47" + # safari: "10" + # safari_ios: "10" + - api.DOMTokenList.value + + # 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.CharacterData.after + - api.CharacterData.before + - api.CharacterData.replaceWith + - api.Document.append + - api.Document.prepend + - api.DocumentFragment.append + - api.DocumentFragment.prepend + - api.DocumentType.after + - api.DocumentType.before + - api.DocumentType.replaceWith + - api.Element.after + - api.Element.append + - api.Element.before + - api.Element.prepend + - api.Element.replaceWith + + # 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-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "60" + # chrome_android: "60" + # edge: "17" + # firefox: "55" + # firefox_android: "55" + # safari: "10" + # safari_ios: "10" + - api.DOMTokenList.remove_duplicates + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "17" + # firefox: "49" + # firefox_android: "49" + # safari: "10.1" + # safari_ios: "10.3" + - api.DOMTokenList.replace + + # 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: 2018-10-02 + # baseline_high_date: 2021-04-02 + # support: + # chrome: "61" + # chrome_android: "61" + # edge: "18" + # firefox: "45" + # firefox_android: "45" + # safari: "10.1" + # safari_ios: "10.3" + - api.Element.getAttributeNames + + # baseline: high + # baseline_low_date: 2018-10-02 + # baseline_high_date: 2021-04-02 + # support: + # chrome: "67" + # chrome_android: "67" + # edge: "18" + # firefox: "61" + # firefox_android: "61" + # safari: "12" + # safari_ios: "12" + - api.DOMTokenList.replace.boolean_value + + # baseline: high + # baseline_low_date: 2018-10-23 + # baseline_high_date: 2021-04-23 + # support: + # chrome: "69" + # chrome_android: "69" + # edge: "18" + # firefox: "63" + # firefox_android: "63" + # safari: "12" + # safari_ios: "12" + - api.Element.toggleAttribute + + # baseline: high + # baseline_low_date: 2020-01-15 + # baseline_high_date: 2022-07-15 + # support: + # chrome: "51" + # chrome_android: "51" + # edge: "79" + # firefox: "36" + # firefox_android: "36" + # safari: "10" + # safari_ios: "10" + - api.NodeList.@@iterator + + # 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 + - api.DocumentFragment.replaceChildren + - api.Element.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-08 + # baseline_high_date: 2024-09-08 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "98" + # firefox_android: "98" + # safari: "1.3" + # safari_ios: "1" + - api.HTMLElement.outerText diff --git a/features/events.yml b/features/events.yml new file mode 100644 index 00000000000..bf9bc08d9b1 --- /dev/null +++ b/features/events.yml @@ -0,0 +1,33 @@ +name: Events +description: Events fire when significant things happen in the page, such as an image loading or a user clicking. You can use the `addEventListener()` method on objects that receive events (event targets), such as windows, documents, and elements, to set a function to be called when an event fires. +spec: + - https://html.spec.whatwg.org/multipage/indices.html#events-2 + - https://dom.spec.whatwg.org/#interface-customevent + - https://dom.spec.whatwg.org/#interface-eventtarget +compat_features: + - api.CustomEvent + - api.CustomEvent.CustomEvent + - api.CustomEvent.detail + - api.Event + - api.Event.Event + - api.Event.bubbles + - api.Event.cancelable + - api.Event.currentTarget + - api.Event.defaultPrevented + - api.Event.eventPhase + - api.Event.isTrusted + - api.Event.preventDefault + - api.Event.stopImmediatePropagation + - api.Event.stopPropagation + - api.Event.target + - api.Event.timeStamp + - api.Event.type + - api.EventTarget + - api.EventTarget.EventTarget + - api.EventTarget.addEventListener + - api.EventTarget.addEventListener.options_parameter.options_capture_parameter + - api.EventTarget.addEventListener.options_parameter.options_once_parameter + - api.EventTarget.addEventListener.options_parameter.options_passive_parameter + - api.EventTarget.addEventListener.options_parameter.options_signal_parameter + - api.EventTarget.dispatchEvent + - api.EventTarget.removeEventListener diff --git a/features/events.yml.dist b/features/events.yml.dist new file mode 100644 index 00000000000..b297e530ee4 --- /dev/null +++ b/features/events.yml.dist @@ -0,0 +1,186 @@ +# Generated from: events.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: high + baseline_low_date: 2021-09-20 + baseline_high_date: 2024-03-20 + support: + chrome: "90" + chrome_android: "90" + edge: "90" + firefox: "86" + firefox_android: "86" + safari: "15" + safari_ios: "15" +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.Event + - api.Event.currentTarget + - api.Event.preventDefault + - api.Event.stopPropagation + - api.Event.target + - api.EventTarget + - api.EventTarget.addEventListener + - api.EventTarget.removeEventListener + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # firefox: "1.5" + # firefox_android: "4" + # safari: "1" + # safari_ios: "1" + - api.Event.bubbles + - api.Event.cancelable + - api.Event.eventPhase + - api.Event.timeStamp + - api.Event.type + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "2" + # firefox_android: "4" + # safari: "3.1" + # safari_ios: "3" + - api.EventTarget.dispatchEvent + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "5" + # chrome_android: "18" + # edge: "12" + # firefox: "6" + # firefox_android: "6" + # safari: "5" + # safari_ios: "5" + - api.CustomEvent + - api.CustomEvent.detail + - api.Event.defaultPrevented + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "5" + # chrome_android: "18" + # edge: "12" + # firefox: "10" + # firefox_android: "10" + # safari: "5" + # safari_ios: "5" + - api.Event.stopImmediatePropagation + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "15" + # chrome_android: "18" + # edge: "12" + # firefox: "11" + # firefox_android: "14" + # safari: "6" + # safari_ios: "6" + - api.CustomEvent.CustomEvent + - api.Event.Event + + # baseline: high + # baseline_low_date: 2016-09-20 + # baseline_high_date: 2019-03-20 + # support: + # chrome: "46" + # chrome_android: "46" + # edge: "12" + # firefox: "1.5" + # firefox_android: "4" + # safari: "10" + # safari_ios: "10" + - api.Event.isTrusted + + # baseline: high + # baseline_low_date: ≤2018-10-02 + # baseline_high_date: ≤2021-04-02 + # support: + # chrome: "51" + # chrome_android: "51" + # edge: ≤18 + # firefox: "49" + # firefox_android: "49" + # safari: "10" + # safari_ios: "10" + - api.EventTarget.addEventListener.options_parameter.options_passive_parameter + + # baseline: high + # baseline_low_date: ≤2018-10-02 + # baseline_high_date: ≤2021-04-02 + # support: + # chrome: "52" + # chrome_android: "52" + # edge: ≤18 + # firefox: "49" + # firefox_android: "49" + # safari: "10" + # safari_ios: "10" + - api.EventTarget.addEventListener.options_parameter.options_capture_parameter + + # baseline: high + # baseline_low_date: ≤2018-10-02 + # baseline_high_date: ≤2021-04-02 + # support: + # chrome: "55" + # chrome_android: "55" + # edge: ≤18 + # firefox: "50" + # firefox_android: "50" + # safari: "10" + # safari_ios: "10" + - api.EventTarget.addEventListener.options_parameter.options_once_parameter + + # baseline: high + # baseline_low_date: 2020-09-16 + # baseline_high_date: 2023-03-16 + # support: + # chrome: "64" + # chrome_android: "64" + # edge: "79" + # firefox: "59" + # firefox_android: "59" + # safari: "14" + # safari_ios: "14" + - api.EventTarget.EventTarget + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2021-09-20 + # baseline_high_date: 2024-03-20 + # support: + # chrome: "90" + # chrome_android: "90" + # edge: "90" + # firefox: "86" + # firefox_android: "86" + # safari: "15" + # safari_ios: "15" + - api.EventTarget.addEventListener.options_parameter.options_signal_parameter diff --git a/features/mutationobserver.yml b/features/mutationobserver.yml new file mode 100644 index 00000000000..3122ec39a43 --- /dev/null +++ b/features/mutationobserver.yml @@ -0,0 +1,19 @@ +name: MutationObserver +description: The `MutationObserver` API watches for changes to the DOM tree and calls a callback function when DOM changes occur. +spec: https://dom.spec.whatwg.org/#interface-mutationobserver +compat_features: + - api.MutationObserver + - api.MutationObserver.MutationObserver + - api.MutationObserver.disconnect + - api.MutationObserver.observe + - api.MutationObserver.takeRecords + - api.MutationRecord + - api.MutationRecord.addedNodes + - api.MutationRecord.attributeName + - api.MutationRecord.attributeNamespace + - api.MutationRecord.nextSibling + - api.MutationRecord.oldValue + - api.MutationRecord.previousSibling + - api.MutationRecord.removedNodes + - api.MutationRecord.target + - api.MutationRecord.type diff --git a/features/mutationobserver.yml.dist b/features/mutationobserver.yml.dist new file mode 100644 index 00000000000..dc40c1ff2fa --- /dev/null +++ b/features/mutationobserver.yml.dist @@ -0,0 +1,55 @@ +# Generated from: mutationobserver.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: "26" + chrome_android: "26" + edge: "12" + firefox: "14" + firefox_android: "14" + safari: "7" + safari_ios: "7" +compat_features: + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "16" + # chrome_android: "18" + # edge: "12" + # firefox: "14" + # firefox_android: "14" + # safari: "7" + # safari_ios: "7" + - api.MutationRecord + - api.MutationRecord.addedNodes + - api.MutationRecord.attributeName + - api.MutationRecord.attributeNamespace + - api.MutationRecord.nextSibling + - api.MutationRecord.oldValue + - api.MutationRecord.previousSibling + - api.MutationRecord.removedNodes + - api.MutationRecord.target + - api.MutationRecord.type + + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "26" + # chrome_android: "26" + # edge: "12" + # firefox: "14" + # firefox_android: "14" + # safari: "7" + # safari_ios: "7" + - api.MutationObserver + - api.MutationObserver.MutationObserver + - api.MutationObserver.disconnect + - api.MutationObserver.observe + - api.MutationObserver.takeRecords diff --git a/features/selection-api.yml b/features/selection-api.yml index 851119714ad..2461cada8fa 100644 --- a/features/selection-api.yml +++ b/features/selection-api.yml @@ -9,8 +9,44 @@ status: - api.Window.getSelection - api.Document.selectionchange_event compat_features: + - api.AbstractRange + - api.AbstractRange.collapsed + - api.AbstractRange.endContainer + - api.AbstractRange.endOffset + - api.AbstractRange.startContainer + - api.AbstractRange.startOffset + - api.Document.createRange - api.Document.getSelection - api.Document.selectionchange_event + - api.Range + - api.Range.Range + - api.Range.cloneContents + - api.Range.cloneRange + - api.Range.collapse + - api.Range.collapsed + - api.Range.commonAncestorContainer + - api.Range.compareBoundaryPoints + - api.Range.comparePoint + - api.Range.deleteContents + - api.Range.detach + - api.Range.endContainer + - api.Range.endOffset + - api.Range.extractContents + - api.Range.insertNode + - api.Range.intersectsNode + - api.Range.isPointInRange + - api.Range.selectNode + - api.Range.selectNodeContents + - api.Range.setEnd + - api.Range.setEndAfter + - api.Range.setEndBefore + - api.Range.setStart + - api.Range.setStartAfter + - api.Range.setStartBefore + - api.Range.startContainer + - api.Range.startOffset + - api.Range.surroundContents + - api.Range.toString - api.Selection - api.Selection.addRange - api.Selection.anchorNode @@ -56,3 +92,11 @@ compat_features: # removeRange is baseline low because it was only added in Safari 17. # Maybe split into a separate feature. - api.Selection.removeRange + + - api.StaticRange + - api.StaticRange.StaticRange + - api.StaticRange.collapsed + - api.StaticRange.endContainer + - api.StaticRange.endOffset + - api.StaticRange.startContainer + - api.StaticRange.startOffset diff --git a/features/selection-api.yml.dist b/features/selection-api.yml.dist index 6b67dd5b6f9..36569b32bd0 100644 --- a/features/selection-api.yml.dist +++ b/features/selection-api.yml.dist @@ -25,6 +25,31 @@ compat_features: # firefox_android: "4" # safari: "1" # safari_ios: "1" + - api.Document.createRange + - api.Range + - api.Range.cloneContents + - api.Range.cloneRange + - api.Range.collapse + - api.Range.collapsed + - api.Range.commonAncestorContainer + - api.Range.compareBoundaryPoints + - api.Range.deleteContents + - api.Range.endContainer + - api.Range.endOffset + - api.Range.extractContents + - api.Range.insertNode + - api.Range.selectNode + - api.Range.selectNodeContents + - api.Range.setEnd + - api.Range.setEndAfter + - api.Range.setEndBefore + - api.Range.setStart + - api.Range.setStartAfter + - api.Range.setStartBefore + - api.Range.startContainer + - api.Range.startOffset + - api.Range.surroundContents + - api.Range.toString - api.Window.getSelection # baseline: high @@ -108,6 +133,32 @@ compat_features: # safari_ios: "5" - api.Document.selectionchange_event + # baseline: high + # baseline_low_date: 2017-04-05 + # baseline_high_date: 2019-10-05 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "15" + # firefox: "1" + # firefox_android: "4" + # safari: "3" + # safari_ios: "1" + - api.Range.isPointInRange + + # baseline: high + # baseline_low_date: 2017-04-05 + # baseline_high_date: 2019-10-05 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "15" + # firefox: "24" + # firefox_android: "24" + # safari: "8" + # safari_ios: "8" + - api.Range.Range + # baseline: high # baseline_low_date: 2017-04-19 # baseline_high_date: 2019-10-19 @@ -160,6 +211,32 @@ compat_features: # safari_ios: "1" - api.Selection.type + # 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.Range.comparePoint + + # baseline: high + # baseline_low_date: 2018-04-30 + # baseline_high_date: 2020-10-30 + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "17" + # firefox: "17" + # firefox_android: "19" + # safari: "3" + # safari_ios: "1" + - api.Range.intersectsNode + # baseline: high # baseline_low_date: 2020-01-15 # baseline_high_date: 2022-07-15 @@ -173,6 +250,55 @@ compat_features: # safari_ios: "1" - api.Selection.modify + # baseline: high + # baseline_low_date: 2020-07-28 + # baseline_high_date: 2023-01-28 + # support: + # chrome: "60" + # chrome_android: "60" + # edge: "18" + # firefox: "69" + # firefox_android: "79" + # safari: "10.1" + # safari_ios: "10.3" + - api.StaticRange + - api.StaticRange.collapsed + - api.StaticRange.endContainer + - api.StaticRange.endOffset + - api.StaticRange.startContainer + - api.StaticRange.startOffset + + # baseline: high + # baseline_low_date: 2021-04-15 + # baseline_high_date: 2023-10-15 + # support: + # chrome: "90" + # chrome_android: "90" + # edge: "90" + # firefox: "71" + # firefox_android: "79" + # safari: "13.1" + # safari_ios: "13.4" + - api.StaticRange.StaticRange + + # baseline: high + # baseline_low_date: 2021-04-26 + # baseline_high_date: 2023-10-26 + # support: + # chrome: "90" + # chrome_android: "90" + # edge: "90" + # firefox: "69" + # firefox_android: "79" + # safari: "14.1" + # safari_ios: "14.5" + - api.AbstractRange + - api.AbstractRange.collapsed + - api.AbstractRange.endContainer + - api.AbstractRange.endOffset + - api.AbstractRange.startContainer + - api.AbstractRange.startOffset + # baseline: low # baseline_low_date: 2023-09-18 # support: @@ -195,6 +321,15 @@ compat_features: # safari: "1.3" - api.Node.selectstart_event + # baseline: false + # support: + # chrome: "1" + # chrome_android: "18" + # edge: "12" + # safari: "1" + # safari_ios: "1" + - api.Range.detach + # baseline: false # support: # firefox: "126"