diff options
author | Bastien Orivel <eijebong@bananium.fr> | 2019-11-29 19:19:03 +0100 |
---|---|---|
committer | Bastien Orivel <eijebong@bananium.fr> | 2019-11-30 16:59:10 +0100 |
commit | a91176e7fcff703ad7f2f0af1d79a84fb103a027 (patch) | |
tree | ee89f0ab9d4bcfad99c8986bf54bd7572ee7d2ec | |
parent | f9c69e84a9301f2bb84a5d525609aa1db1c43691 (diff) | |
download | servo-a91176e7fcff703ad7f2f0af1d79a84fb103a027.tar.gz servo-a91176e7fcff703ad7f2f0af1d79a84fb103a027.zip |
Trim header values in GetResponseHeader
Fixes #24917
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 6 | ||||
-rw-r--r-- | tests/wpt/metadata/xhr/headers-normalize-response.htm.ini | 12 |
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 - |