diff options
15 files changed, 106 insertions, 483 deletions
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index 88384aabe5f..3e3979dbaef 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -54,8 +54,25 @@ impl AttrValue { AttrValue::TokenList(tokens, atoms) } + // https://html.spec.whatwg.org/multipage/#reflecting-content-attributes-in-idl-attributes:idl-unsigned-long pub fn from_u32(string: DOMString, default: u32) -> AttrValue { let result = parse_unsigned_integer(string.chars()).unwrap_or(default); + let result = if result > 2147483647 { + default + } else { + result + }; + AttrValue::UInt(string, result) + } + + // https://html.spec.whatwg.org/multipage/#limited-to-only-non-negative-numbers-greater-than-zero + pub fn from_limited_u32(string: DOMString, default: u32) -> AttrValue { + let result = parse_unsigned_integer(string.chars()).unwrap_or(default); + let result = if result == 0 || result > 2147483647 { + default + } else { + result + }; AttrValue::UInt(string, result) } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index a936e783ad4..095a54d6e2c 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -711,7 +711,7 @@ pub trait AttributeHandlers { fn get_tokenlist_attribute(self, local_name: &Atom) -> Vec<Atom>; fn set_tokenlist_attribute(self, local_name: &Atom, value: DOMString); fn set_atomic_tokenlist_attribute(self, local_name: &Atom, tokens: Vec<Atom>); - fn get_uint_attribute(self, local_name: &Atom) -> u32; + fn get_uint_attribute(self, local_name: &Atom, default: u32) -> u32; fn set_uint_attribute(self, local_name: &Atom, value: u32); } @@ -966,7 +966,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { self.set_attribute(local_name, AttrValue::from_atomic_tokens(tokens)); } - fn get_uint_attribute(self, local_name: &Atom) -> u32 { + fn get_uint_attribute(self, local_name: &Atom, default: u32) -> u32 { assert!(local_name.chars().all(|ch| { !ch.is_ascii() || ch.to_ascii_lowercase() == ch })); @@ -979,7 +979,7 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { implement parse_plain_attribute"), } } - None => 0, + None => default, } } fn set_uint_attribute(self, local_name: &Atom, value: u32) { diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index 17768a76c8b..1378e6ecd76 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -242,10 +242,8 @@ impl<'a> HTMLInputElementMethods for JSRef<'a, HTMLInputElement> { make_bool_setter!(SetReadOnly, "readonly"); // https://html.spec.whatwg.org/multipage/#dom-input-size - make_uint_getter!(Size); - - // https://html.spec.whatwg.org/multipage/#dom-input-size - make_uint_setter!(SetSize, "size"); + make_uint_getter!(Size, "size", DEFAULT_INPUT_SIZE); + make_limited_uint_setter!(SetSize, "size", DEFAULT_INPUT_SIZE); // https://html.spec.whatwg.org/multipage/#dom-input-type make_enumerated_getter!(Type, "text", ("hidden") | ("search") | ("tel") | @@ -568,7 +566,7 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLInputElement> { fn parse_plain_attribute(&self, name: &Atom, value: DOMString) -> AttrValue { match name { - &atom!("size") => AttrValue::from_u32(value, DEFAULT_INPUT_SIZE), + &atom!("size") => AttrValue::from_limited_u32(value, DEFAULT_INPUT_SIZE), _ => self.super_type().unwrap().parse_plain_attribute(name, value), } } diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index 378a804c361..02d32d55968 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -2,7 +2,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use dom::attr::{Attr, AttrHelpers}; +use dom::attr::{Attr, AttrHelpers, AttrValue}; +use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods; use dom::bindings::codegen::InheritTypes::{HTMLElementCast, HTMLTableCellElementDerived}; use dom::bindings::js::JSRef; use dom::document::Document; @@ -12,9 +13,15 @@ use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; use dom::node::NodeTypeId; use dom::virtualmethods::VirtualMethods; -use cssparser::RGBA; use util::str::{self, DOMString, LengthOrPercentageOrAuto}; + +use cssparser::RGBA; +use string_cache::Atom; + use std::cell::Cell; +use std::cmp::max; + +const DEFAULT_COLSPAN: u32 = 1; #[derive(Copy, Clone, PartialEq, Debug)] #[jstraceable] @@ -60,6 +67,12 @@ impl HTMLTableCellElement { } } +impl<'a> HTMLTableCellElementMethods for JSRef<'a, HTMLTableCellElement> { + // https://html.spec.whatwg.org/multipage/#dom-tdth-colspan + make_uint_getter!(ColSpan, "colspan", DEFAULT_COLSPAN); + make_uint_setter!(SetColSpan, "colspan"); +} + pub trait HTMLTableCellElementHelpers { fn get_background_color(&self) -> Option<RGBA>; fn get_colspan(&self) -> Option<u32>; @@ -96,8 +109,13 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTableCellElement> { self.background_color.set(str::parse_legacy_color(&attr.value()).ok()) } &atom!("colspan") => { - self.colspan.set(str::parse_unsigned_integer(attr.value().chars())); - } + match *attr.value() { + AttrValue::UInt(_, colspan) => { + self.colspan.set(Some(max(DEFAULT_COLSPAN, colspan))) + }, + _ => unreachable!(), + } + }, &atom!("width") => self.width.set(str::parse_length(&attr.value())), _ => () } @@ -115,5 +133,11 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTableCellElement> { _ => () } } -} + fn parse_plain_attribute(&self, local_name: &Atom, value: DOMString) -> AttrValue { + match local_name { + &atom!("colspan") => AttrValue::from_u32(value, DEFAULT_COLSPAN), + _ => self.super_type().unwrap().parse_plain_attribute(local_name, value), + } + } +} diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 5e6724d5c63..d3e08c2092e 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -114,10 +114,8 @@ impl<'a> HTMLTextAreaElementMethods for JSRef<'a, HTMLTextAreaElement> { // constraints // https://html.spec.whatwg.org/multipage/#dom-textarea-cols - make_uint_getter!(Cols); - - // https://html.spec.whatwg.org/multipage/#dom-textarea-cols - make_uint_setter!(SetCols, "cols"); + make_uint_getter!(Cols, "cols", DEFAULT_COLS); + make_limited_uint_setter!(SetCols, "cols", DEFAULT_COLS); // https://www.whatwg.org/html/#dom-fe-disabled make_bool_getter!(Disabled); @@ -150,10 +148,8 @@ impl<'a> HTMLTextAreaElementMethods for JSRef<'a, HTMLTextAreaElement> { make_bool_setter!(SetRequired, "required"); // https://html.spec.whatwg.org/multipage/#dom-textarea-rows - make_uint_getter!(Rows); - - // https://html.spec.whatwg.org/multipage/#dom-textarea-rows - make_uint_setter!(SetRows, "rows"); + make_uint_getter!(Rows, "rows", DEFAULT_ROWS); + make_limited_uint_setter!(SetRows, "rows", DEFAULT_ROWS); // https://html.spec.whatwg.org/multipage/#dom-textarea-wrap make_getter!(Wrap); @@ -310,8 +306,8 @@ impl<'a> VirtualMethods for JSRef<'a, HTMLTextAreaElement> { fn parse_plain_attribute(&self, name: &Atom, value: DOMString) -> AttrValue { match name { - &atom!("cols") => AttrValue::from_u32(value, DEFAULT_COLS), - &atom!("rows") => AttrValue::from_u32(value, DEFAULT_ROWS), + &atom!("cols") => AttrValue::from_limited_u32(value, DEFAULT_COLS), + &atom!("rows") => AttrValue::from_limited_u32(value, DEFAULT_ROWS), _ => self.super_type().unwrap().parse_plain_attribute(name, value), } } diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs index 76157789e71..1eff2cd9e31 100644 --- a/components/script/dom/macros.rs +++ b/components/script/dom/macros.rs @@ -39,7 +39,7 @@ macro_rules! make_bool_getter( #[macro_export] macro_rules! make_uint_getter( - ( $attr:ident, $htmlname:expr ) => ( + ($attr:ident, $htmlname:expr, $default:expr) => ( fn $attr(self) -> u32 { use dom::element::{Element, AttributeHandlers}; use dom::bindings::codegen::InheritTypes::ElementCast; @@ -47,9 +47,12 @@ macro_rules! make_uint_getter( use std::ascii::AsciiExt; let element: JSRef<Element> = ElementCast::from_ref(self); // FIXME(pcwalton): Do this at compile time, not runtime. - element.get_uint_attribute(&Atom::from_slice($htmlname)) + element.get_uint_attribute(&Atom::from_slice($htmlname), $default) } ); + ($attr:ident, $htmlname:expr) => { + make_uint_getter!($attr, $htmlname, 0); + }; ($attr:ident) => { make_uint_getter!($attr, to_lower!(stringify!($attr))); } @@ -153,15 +156,51 @@ macro_rules! make_bool_setter( #[macro_export] macro_rules! make_uint_setter( - ( $attr:ident, $htmlname:expr ) => ( + ($attr:ident, $htmlname:expr, $default:expr) => ( fn $attr(self, value: u32) { use dom::element::{Element, AttributeHandlers}; use dom::bindings::codegen::InheritTypes::ElementCast; + let value = if value > 2147483647 { + $default + } else { + value + }; let element: JSRef<Element> = ElementCast::from_ref(self); // FIXME(pcwalton): Do this at compile time, not at runtime. element.set_uint_attribute(&Atom::from_slice($htmlname), value) } ); + ($attr:ident, $htmlname:expr) => { + make_uint_setter!($attr, $htmlname, 0); + }; +); + +#[macro_export] +macro_rules! make_limited_uint_setter( + ($attr:ident, $htmlname:expr, $default:expr) => ( + fn $attr(self, value: u32) -> $crate::dom::bindings::error::ErrorResult { + use dom::element::AttributeHandlers; + use dom::bindings::codegen::InheritTypes::ElementCast; + use string_cache::Atom; + let value = if value == 0 { + return Err($crate::dom::bindings::error::Error::IndexSize); + } else if value > 2147483647 { + $default + } else { + value + }; + let element = ElementCast::from_ref(self); + // FIXME(pcwalton): Do this at compile time, not runtime. + element.set_uint_attribute(&Atom::from_slice($htmlname), value); + Ok(()) + } + ); + ($attr:ident, $htmlname:expr) => { + make_limited_uint_setter!($attr, $htmlname, 1); + }; + ($attr:ident) => { + make_limited_uint_setter!($attr, to_lower!(stringify!($attr))); + }; ); /// For use on non-jsmanaged types diff --git a/components/script/dom/webidls/HTMLInputElement.webidl b/components/script/dom/webidls/HTMLInputElement.webidl index c62d29ddeeb..81ff5f97426 100644 --- a/components/script/dom/webidls/HTMLInputElement.webidl +++ b/components/script/dom/webidls/HTMLInputElement.webidl @@ -34,7 +34,8 @@ interface HTMLInputElement : HTMLElement { attribute DOMString placeholder; attribute boolean readOnly; // attribute boolean required; - attribute unsigned long size; + [SetterThrows] + attribute unsigned long size; // attribute DOMString src; // attribute DOMString step; attribute DOMString type; diff --git a/components/script/dom/webidls/HTMLTableCellElement.webidl b/components/script/dom/webidls/HTMLTableCellElement.webidl index 8f9ce054dd1..de1211b6333 100644 --- a/components/script/dom/webidls/HTMLTableCellElement.webidl +++ b/components/script/dom/webidls/HTMLTableCellElement.webidl @@ -5,7 +5,7 @@ // https://www.whatwg.org/html/#htmltablecellelement interface HTMLTableCellElement : HTMLElement { - // attribute unsigned long colSpan; + attribute unsigned long colSpan; // attribute unsigned long rowSpan; //[PutForwards=value] readonly attribute DOMSettableTokenList headers; //readonly attribute long cellIndex; diff --git a/components/script/dom/webidls/HTMLTextAreaElement.webidl b/components/script/dom/webidls/HTMLTextAreaElement.webidl index 7feec003ba5..fa70cb4d47a 100644 --- a/components/script/dom/webidls/HTMLTextAreaElement.webidl +++ b/components/script/dom/webidls/HTMLTextAreaElement.webidl @@ -7,7 +7,8 @@ interface HTMLTextAreaElement : HTMLElement { // attribute DOMString autocomplete; // attribute boolean autofocus; - attribute unsigned long cols; + [SetterThrows] + attribute unsigned long cols; // attribute DOMString dirName; attribute boolean disabled; //readonly attribute HTMLFormElement? form; @@ -18,6 +19,7 @@ interface HTMLTextAreaElement : HTMLElement { attribute DOMString placeholder; attribute boolean readOnly; attribute boolean required; + [SetterThrows] attribute unsigned long rows; attribute DOMString wrap; diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini index b0048beb2f8..88b815959fc 100644 --- a/tests/wpt/metadata/html/dom/interfaces.html.ini +++ b/tests/wpt/metadata/html/dom/interfaces.html.ini @@ -5238,9 +5238,6 @@ [HTMLTableDataCellElement interface: document.createElement("td") must inherit property "abbr" with the proper type (0)] expected: FAIL - [HTMLTableCellElement interface: document.createElement("td") must inherit property "colSpan" with the proper type (0)] - expected: FAIL - [HTMLTableCellElement interface: document.createElement("td") must inherit property "rowSpan" with the proper type (1)] expected: FAIL @@ -5307,9 +5304,6 @@ [HTMLTableHeaderCellElement interface: document.createElement("th") must inherit property "sort" with the proper type (3)] expected: FAIL - [HTMLTableCellElement interface: document.createElement("th") must inherit property "colSpan" with the proper type (0)] - expected: FAIL - [HTMLTableCellElement interface: document.createElement("th") must inherit property "rowSpan" with the proper type (1)] expected: FAIL @@ -5352,9 +5346,6 @@ [HTMLTableCellElement interface object length] expected: FAIL - [HTMLTableCellElement interface: attribute colSpan] - expected: FAIL - [HTMLTableCellElement interface: attribute rowSpan] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/reflection-embedded.html.ini b/tests/wpt/metadata/html/dom/reflection-embedded.html.ini index 75db57ee650..1269ad6f764 100644 --- a/tests/wpt/metadata/html/dom/reflection-embedded.html.ini +++ b/tests/wpt/metadata/html/dom/reflection-embedded.html.ini @@ -1125,24 +1125,12 @@ [img.lowsrc: IDL set to object "test-valueOf" followed by IDL get] expected: FAIL - [img.hspace: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [img.hspace: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - [img.hspace: setAttribute() to object "3" followed by getAttribute()] expected: FAIL [img.hspace: setAttribute() to object "3" followed by IDL get] expected: FAIL - [img.vspace: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [img.vspace: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - [img.vspace: setAttribute() to object "3" followed by getAttribute()] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/reflection-forms.html.ini b/tests/wpt/metadata/html/dom/reflection-forms.html.ini index e55c97d7b5a..604280dfb3d 100644 --- a/tests/wpt/metadata/html/dom/reflection-forms.html.ini +++ b/tests/wpt/metadata/html/dom/reflection-forms.html.ini @@ -5766,33 +5766,12 @@ [input.required: IDL set to object "test-valueOf" followed by IDL get] expected: FAIL - [input.size: IDL get with DOM attribute unset] - expected: FAIL - - [input.size: setAttribute() to 0 followed by IDL get] - expected: FAIL - - [input.size: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [input.size: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - - [input.size: setAttribute() to "-0" followed by IDL get] - expected: FAIL - - [input.size: setAttribute() to "0" followed by IDL get] - expected: FAIL - [input.size: setAttribute() to object "3" followed by getAttribute()] expected: FAIL [input.size: setAttribute() to object "3" followed by IDL get] expected: FAIL - [input.size: IDL set to 0 must throw INDEX_SIZE_ERR] - expected: FAIL - [input.src: typeof IDL attribute] expected: FAIL @@ -12201,33 +12180,12 @@ [textarea.autofocus: IDL set to object "test-valueOf" followed by IDL get] expected: FAIL - [textarea.cols: IDL get with DOM attribute unset] - expected: FAIL - - [textarea.cols: setAttribute() to 0 followed by IDL get] - expected: FAIL - - [textarea.cols: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [textarea.cols: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - - [textarea.cols: setAttribute() to "-0" followed by IDL get] - expected: FAIL - - [textarea.cols: setAttribute() to "0" followed by IDL get] - expected: FAIL - [textarea.cols: setAttribute() to object "3" followed by getAttribute()] expected: FAIL [textarea.cols: setAttribute() to object "3" followed by IDL get] expected: FAIL - [textarea.cols: IDL set to 0 must throw INDEX_SIZE_ERR] - expected: FAIL - [textarea.dirName: typeof IDL attribute] expected: FAIL @@ -13137,33 +13095,12 @@ [textarea.maxLength: IDL set to 2147483647 followed by getAttribute()] expected: FAIL - [textarea.rows: IDL get with DOM attribute unset] - expected: FAIL - - [textarea.rows: setAttribute() to 0 followed by IDL get] - expected: FAIL - - [textarea.rows: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [textarea.rows: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - - [textarea.rows: setAttribute() to "-0" followed by IDL get] - expected: FAIL - - [textarea.rows: setAttribute() to "0" followed by IDL get] - expected: FAIL - [textarea.rows: setAttribute() to object "3" followed by getAttribute()] expected: FAIL [textarea.rows: setAttribute() to object "3" followed by IDL get] expected: FAIL - [textarea.rows: IDL set to 0 must throw INDEX_SIZE_ERR] - expected: FAIL - [textarea.itemScope: typeof IDL attribute] expected: FAIL diff --git a/tests/wpt/metadata/html/dom/reflection-tabular.html.ini b/tests/wpt/metadata/html/dom/reflection-tabular.html.ini index cfc913aaec4..0ce072a63a7 100644 --- a/tests/wpt/metadata/html/dom/reflection-tabular.html.ini +++ b/tests/wpt/metadata/html/dom/reflection-tabular.html.ini @@ -11544,192 +11544,12 @@ [td.tabIndex: IDL set to -2147483648 followed by getAttribute()] expected: FAIL - [td.colSpan: typeof IDL attribute] - expected: FAIL - - [td.colSpan: IDL get with DOM attribute unset] - expected: FAIL - - [td.colSpan: setAttribute() to -2147483649 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to -2147483648 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to -36 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to -1 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 0 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 1 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 257 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 2147483647 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 4294967296 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "-1" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "-0" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "0" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "1" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "\\t7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "\\v7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "\\f7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "\\n7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "\\r7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "
7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "
7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to undefined followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to 1.5 followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to true followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to false followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to object "[object Object\]" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to NaN followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to Infinity followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to -Infinity followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to "\\0" followed by IDL get] - expected: FAIL - - [td.colSpan: setAttribute() to object "2" followed by IDL get] - expected: FAIL - [td.colSpan: setAttribute() to object "3" followed by getAttribute()] expected: FAIL [td.colSpan: setAttribute() to object "3" followed by IDL get] expected: FAIL - [td.colSpan: IDL set to 0 followed by getAttribute()] - expected: FAIL - - [td.colSpan: IDL set to 1 followed by getAttribute()] - expected: FAIL - - [td.colSpan: IDL set to 257 followed by getAttribute()] - expected: FAIL - - [td.colSpan: IDL set to 2147483647 followed by getAttribute()] - expected: FAIL - - [td.colSpan: IDL set to "-0" followed by getAttribute()] - expected: FAIL - - [td.colSpan: IDL set to "-0" followed by IDL get] - expected: FAIL - [td.rowSpan: typeof IDL attribute] expected: FAIL @@ -13917,192 +13737,12 @@ [th.tabIndex: IDL set to -2147483648 followed by getAttribute()] expected: FAIL - [th.colSpan: typeof IDL attribute] - expected: FAIL - - [th.colSpan: IDL get with DOM attribute unset] - expected: FAIL - - [th.colSpan: setAttribute() to -2147483649 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to -2147483648 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to -36 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to -1 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 0 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 1 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 257 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 2147483647 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 2147483648 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 4294967295 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 4294967296 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "-1" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "-0" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "0" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "1" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "\\t7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "\\v7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "\\f7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "\\n7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "\\r7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "
7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "
7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " 7" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to " \\0\\x01\\x02\\x03\\x04\\x05\\x06\\x07 \\b\\t\\n\\v\\f\\r\\x0e\\x0f \\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17 \\x18\\x19\\x1a\\x1b\\x1c\\x1d\\x1e\\x1f foo " followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to undefined followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to 1.5 followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to true followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to false followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to object "[object Object\]" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to NaN followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to Infinity followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to -Infinity followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to "\\0" followed by IDL get] - expected: FAIL - - [th.colSpan: setAttribute() to object "2" followed by IDL get] - expected: FAIL - [th.colSpan: setAttribute() to object "3" followed by getAttribute()] expected: FAIL [th.colSpan: setAttribute() to object "3" followed by IDL get] expected: FAIL - [th.colSpan: IDL set to 0 followed by getAttribute()] - expected: FAIL - - [th.colSpan: IDL set to 1 followed by getAttribute()] - expected: FAIL - - [th.colSpan: IDL set to 257 followed by getAttribute()] - expected: FAIL - - [th.colSpan: IDL set to 2147483647 followed by getAttribute()] - expected: FAIL - - [th.colSpan: IDL set to "-0" followed by getAttribute()] - expected: FAIL - - [th.colSpan: IDL set to "-0" followed by IDL get] - expected: FAIL - [th.rowSpan: typeof IDL attribute] expected: FAIL diff --git a/tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/cols-zero.html.ini b/tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/cols-zero.html.ini deleted file mode 100644 index 55b4e3652d3..00000000000 --- a/tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/cols-zero.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[cols-zero.html] - type: reftest - reftype: == - refurl: /html/rendering/bindings/the-textarea-element-0/textarea-ref.html - expected: FAIL diff --git a/tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/rows-zero.html.ini b/tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/rows-zero.html.ini deleted file mode 100644 index e4361f0ba33..00000000000 --- a/tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/rows-zero.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[rows-zero.html] - type: reftest - reftype: == - refurl: /html/rendering/bindings/the-textarea-element-0/textarea-ref.html - expected: FAIL |