diff --git a/features/xhr.yml b/features/xhr.yml new file mode 100644 index 00000000000..9d6b92f2a8d --- /dev/null +++ b/features/xhr.yml @@ -0,0 +1,56 @@ +name: XMLHttpRequest +description: The `XMLHttpRequest` API makes HTTP requests. It's the predecessor to `fetch()`. Also known as XHR. +spec: https://xhr.spec.whatwg.org/ +# https://caniuse.com/xhr2 is not linked here. It's for a subset of the API that +# is baked into our definition of XHR. It's too old to split out. +status: + compute_from: api.XMLHttpRequest.XMLHttpRequest +compat_features: + - api.FormData + - api.FormData.append + - api.FormData.append.filename_parameter + - api.FormData.FormData + - api.ProgressEvent + - api.ProgressEvent.lengthComputable + - api.ProgressEvent.loaded + - api.ProgressEvent.total + - api.XMLHttpRequest + - api.XMLHttpRequest.abort + - api.XMLHttpRequest.abort_event + - api.XMLHttpRequest.error_event + - api.XMLHttpRequest.getAllResponseHeaders + - api.XMLHttpRequest.getResponseHeader + - api.XMLHttpRequest.load_event + - api.XMLHttpRequest.loadend_event + - api.XMLHttpRequest.loadstart_event + - api.XMLHttpRequest.open + - api.XMLHttpRequest.overrideMimeType + - api.XMLHttpRequest.progress_event + - api.XMLHttpRequest.readyState + - api.XMLHttpRequest.readystatechange_event + - api.XMLHttpRequest.response + - api.XMLHttpRequest.responseText + - api.XMLHttpRequest.responseXML + - api.XMLHttpRequest.send + - api.XMLHttpRequest.send.body_ArrayBuffer_type + - api.XMLHttpRequest.send.body_ArrayBufferView_type + - api.XMLHttpRequest.send.body_Blob_type + - api.XMLHttpRequest.send.body_FormData_type + - api.XMLHttpRequest.setRequestHeader + - api.XMLHttpRequest.status + - api.XMLHttpRequest.statusText + - api.XMLHttpRequest.timeout + - api.XMLHttpRequest.timeout_event + - api.XMLHttpRequest.upload + - api.XMLHttpRequest.withCredentials + - api.XMLHttpRequest.worker_support + - api.XMLHttpRequest.XMLHttpRequest + - api.XMLHttpRequestEventTarget + - api.XMLHttpRequestUpload + - api.XMLHttpRequestUpload.abort_event + - api.XMLHttpRequestUpload.error_event + - api.XMLHttpRequestUpload.load_event + - api.XMLHttpRequestUpload.loadend_event + - api.XMLHttpRequestUpload.loadstart_event + - api.XMLHttpRequestUpload.progress_event + - api.XMLHttpRequestUpload.timeout_event diff --git a/features/xhr.yml.dist b/features/xhr.yml.dist new file mode 100644 index 00000000000..e999a62a509 --- /dev/null +++ b/features/xhr.yml.dist @@ -0,0 +1,280 @@ +# Generated from: xhr.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" + - api.XMLHttpRequestEventTarget + + # 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.XMLHttpRequest + - api.XMLHttpRequest.abort + - api.XMLHttpRequest.getAllResponseHeaders + - api.XMLHttpRequest.getResponseHeader + - api.XMLHttpRequest.open + - api.XMLHttpRequest.overrideMimeType + - api.XMLHttpRequest.readyState + - api.XMLHttpRequest.readystatechange_event + - api.XMLHttpRequest.responseText + - api.XMLHttpRequest.send + - api.XMLHttpRequest.setRequestHeader + - api.XMLHttpRequest.status + - api.XMLHttpRequest.statusText + + # 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" + - api.XMLHttpRequest.error_event + - api.XMLHttpRequest.load_event + + # ⬇️ 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" + - api.XMLHttpRequest.XMLHttpRequest + - api.XMLHttpRequest.progress_event + - api.XMLHttpRequest.responseXML + + # 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: "1.3" + # safari_ios: "1" + - api.XMLHttpRequest.abort_event + - api.XMLHttpRequest.loadstart_event + + # 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.ProgressEvent + - api.ProgressEvent.lengthComputable + - api.ProgressEvent.loaded + - api.ProgressEvent.total + + # 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.XMLHttpRequest.upload + - api.XMLHttpRequestUpload + - api.XMLHttpRequestUpload.abort_event + - api.XMLHttpRequestUpload.error_event + - api.XMLHttpRequestUpload.load_event + - api.XMLHttpRequestUpload.loadstart_event + - api.XMLHttpRequestUpload.progress_event + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "3" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "3.2" + - api.XMLHttpRequest.withCredentials + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "4" + # chrome_android: "18" + # edge: "12" + # firefox: "3.5" + # firefox_android: "4" + # safari: "4" + # safari_ios: "5" + - api.XMLHttpRequest.worker_support + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "5" + # chrome_android: "18" + # edge: "12" + # firefox: "4" + # firefox_android: "4" + # safari: "5" + # safari_ios: "5" + - api.FormData + - api.FormData.FormData + - api.FormData.append + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "6" + # chrome_android: "18" + # edge: "12" + # firefox: "2" + # firefox_android: "4" + # safari: "6" + # safari_ios: "6" + - api.XMLHttpRequest.send.body_FormData_type + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "9" + # chrome_android: "18" + # edge: "12" + # firefox: "6" + # firefox_android: "6" + # safari: "5.1" + # safari_ios: "5" + - api.XMLHttpRequest.response + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "9" + # chrome_android: "18" + # edge: "12" + # firefox: "9" + # firefox_android: "9" + # safari: "6" + # safari_ios: "6" + - api.XMLHttpRequest.send.body_ArrayBuffer_type + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "16" + # chrome_android: "18" + # edge: "12" + # firefox: "22" + # firefox_android: "22" + # safari: "6" + # safari_ios: "6" + - api.FormData.append.filename_parameter + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "18" + # chrome_android: "18" + # edge: "12" + # firefox: "5" + # firefox_android: "5" + # safari: "4" + # safari_ios: "3" + - api.XMLHttpRequest.loadend_event + - api.XMLHttpRequestUpload.loadend_event + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "22" + # chrome_android: "25" + # edge: "12" + # firefox: "2" + # firefox_android: "4" + # safari: "6" + # safari_ios: "6" + - api.XMLHttpRequest.send.body_Blob_type + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "22" + # chrome_android: "25" + # edge: "12" + # firefox: "20" + # firefox_android: "20" + # safari: "7" + # safari_ios: "7" + - api.XMLHttpRequest.send.body_ArrayBufferView_type + + # baseline: high + # baseline_low_date: 2015-07-29 + # baseline_high_date: 2018-01-29 + # support: + # chrome: "29" + # chrome_android: "29" + # edge: "12" + # firefox: "12" + # firefox_android: "14" + # safari: "7" + # safari_ios: "7" + - api.XMLHttpRequest.timeout + - api.XMLHttpRequest.timeout_event + - api.XMLHttpRequestUpload.timeout_event