aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/attr.rs17
-rw-r--r--components/script/dom/element.rs6
-rw-r--r--components/script/dom/htmlinputelement.rs8
-rw-r--r--components/script/dom/htmltablecellelement.rs34
-rw-r--r--components/script/dom/htmltextareaelement.rs16
-rw-r--r--components/script/dom/macros.rs45
-rw-r--r--components/script/dom/webidls/HTMLInputElement.webidl3
-rw-r--r--components/script/dom/webidls/HTMLTableCellElement.webidl2
-rw-r--r--components/script/dom/webidls/HTMLTextAreaElement.webidl4
-rw-r--r--tests/wpt/metadata/html/dom/interfaces.html.ini9
-rw-r--r--tests/wpt/metadata/html/dom/reflection-embedded.html.ini12
-rw-r--r--tests/wpt/metadata/html/dom/reflection-forms.html.ini63
-rw-r--r--tests/wpt/metadata/html/dom/reflection-tabular.html.ini360
-rw-r--r--tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/cols-zero.html.ini5
-rw-r--r--tests/wpt/metadata/html/rendering/bindings/the-textarea-element-0/rows-zero.html.ini5
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