From 3200a6d00d0fc448d6aafd018ac6fe2ded8cf5c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20J=C3=A4genstedt?= Date: Thu, 30 May 2024 00:31:11 +0200 Subject: [PATCH 1/2] Add XHR --- features/xhr.yml | 56 +++++++++ features/xhr.yml.dist | 280 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 336 insertions(+) create mode 100644 features/xhr.yml create mode 100644 features/xhr.yml.dist diff --git a/features/xhr.yml b/features/xhr.yml new file mode 100644 index 00000000000..c8a2a366f5b --- /dev/null +++ b/features/xhr.yml @@ -0,0 +1,56 @@ +name: XMLHttpRequest +description: The `XMLHttpRequest` API TODO. 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 From d4aff5a024b99864bd7facc5cf73d2ccc73e233f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20J=C3=A4genstedt?= Date: Thu, 4 Jul 2024 15:36:47 +0200 Subject: [PATCH 2/2] Update features/xhr.yml Co-authored-by: Daniel D. Beck --- features/xhr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/xhr.yml b/features/xhr.yml index c8a2a366f5b..9d6b92f2a8d 100644 --- a/features/xhr.yml +++ b/features/xhr.yml @@ -1,5 +1,5 @@ name: XMLHttpRequest -description: The `XMLHttpRequest` API TODO. Also known as XHR. +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.