aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-12-02 17:47:24 -0500
committerGitHub <noreply@github.com>2019-12-02 17:47:24 -0500
commit87c1019c5deafd128acd76f083e63f1a285bb1e0 (patch)
treec082cbbf9d0dc4db52d05dc87f52817848f97565
parentae0b086ea8aed2b65de23b5c5c20e2d127bac7dd (diff)
parenta91176e7fcff703ad7f2f0af1d79a84fb103a027 (diff)
downloadservo-87c1019c5deafd128acd76f083e63f1a285bb1e0.tar.gz
servo-87c1019c5deafd128acd76f083e63f1a285bb1e0.zip
Auto merge of #24940 - Eijebong:trim-header, r=jdm
Trim header values in GetResponseHeader Fixes #24917
-rw-r--r--components/script/dom/xmlhttprequest.rs6
-rw-r--r--tests/wpt/metadata/xhr/headers-normalize-response.htm.ini12
2 files changed, 4 insertions, 14 deletions
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index 51a10298cda..1953aeddb60 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -783,8 +783,10 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
if !first {
vec.extend(", ".as_bytes());
}
- first = false;
- vec.extend(value.as_bytes());
+ if let Ok(v) = str::from_utf8(value.as_bytes()).map(|s| s.trim().as_bytes()) {
+ vec.extend(v);
+ first = false;
+ }
vec
});
diff --git a/tests/wpt/metadata/xhr/headers-normalize-response.htm.ini b/tests/wpt/metadata/xhr/headers-normalize-response.htm.ini
index 01ee7293a40..1cc5c779bc8 100644
--- a/tests/wpt/metadata/xhr/headers-normalize-response.htm.ini
+++ b/tests/wpt/metadata/xhr/headers-normalize-response.htm.ini
@@ -6,15 +6,3 @@
[Header value: \\0hello_world]
expected: FAIL
- [Header value: hello_world[tab\]]
- expected: FAIL
-
- [Header value: [tab\]hello_world[tab\]]
- expected: FAIL
-
- [Header value: hello_world__]
- expected: FAIL
-
- [Header value: __hello_world__]
- expected: FAIL
-