From 3129fb2330251a38d0025766c28855eaa197afb8 Mon Sep 17 00:00:00 2001 From: Michael Wu Date: Mon, 12 Oct 2015 10:47:49 -0400 Subject: [PATCH] Throw on bad ByteStrings --- components/script/dom/bindings/conversions.rs | 2 +- .../XMLHttpRequest/setrequestheader-bogus-name.htm.ini | 8 ++++++++ .../XMLHttpRequest/setrequestheader-bogus-value.htm.ini | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-name.htm.ini create mode 100644 tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-value.htm.ini diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 725889ef0993..3805a0e76d39 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -577,7 +577,7 @@ impl FromJSValConvertible for ByteString { let char_vec = slice::from_raw_parts(chars, length as usize); if char_vec.iter().any(|&c| c > 0xFF) { - // XXX Throw + throw_type_error(cx, "Invalid ByteString"); Err(()) } else { Ok(ByteString::new(char_vec.iter().map(|&c| c as u8).collect())) diff --git a/tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-name.htm.ini b/tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-name.htm.ini new file mode 100644 index 000000000000..f30c4dce47b3 --- /dev/null +++ b/tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-name.htm.ini @@ -0,0 +1,8 @@ +[setrequestheader-bogus-name.htm] + type: testharness + [setRequestHeader should throw with header name "テスト".] + expected: FAIL + + [setRequestHeader should throw with header name "X-テスト".] + expected: FAIL + diff --git a/tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-value.htm.ini b/tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-value.htm.ini new file mode 100644 index 000000000000..d04386464d1c --- /dev/null +++ b/tests/wpt/metadata/XMLHttpRequest/setrequestheader-bogus-value.htm.ini @@ -0,0 +1,5 @@ +[setrequestheader-bogus-value.htm] + type: testharness + [XMLHttpRequest: setRequestHeader() value argument checks 4] + expected: FAIL +