aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/table_cell.rs5
-rw-r--r--components/layout/table_row.rs5
-rw-r--r--components/script/dom/element.rs13
-rw-r--r--components/script/dom/htmltablecellelement.rs17
-rw-r--r--components/script/dom/webidls/HTMLTableCellElement.webidl4
-rw-r--r--components/script/layout_wrapper.rs6
-rw-r--r--components/script_layout_interface/wrapper_traits.rs2
-rw-r--r--components/style/matching.rs4
-rw-r--r--tests/wpt/metadata/html/dom/interfaces.html.ini9
-rw-r--r--tests/wpt/metadata/html/dom/reflection-tabular.html.ini750
10 files changed, 52 insertions, 763 deletions
diff --git a/components/layout/table_cell.rs b/components/layout/table_cell.rs
index abdcf03cb2b..5e20f195078 100644
--- a/components/layout/table_cell.rs
+++ b/components/layout/table_cell.rs
@@ -41,6 +41,9 @@ pub struct TableCellFlow {
/// The column span of this cell.
pub column_span: u32,
+ /// The rows spanned by this cell.
+ pub row_span: u32,
+
/// Whether this cell is visible. If false, the value of `empty-cells` means that we must not
/// display this cell.
pub visible: bool,
@@ -52,6 +55,7 @@ impl TableCellFlow {
block_flow: BlockFlow::from_fragment(fragment),
collapsed_borders: CollapsedBordersForCell::new(),
column_span: 1,
+ row_span: 1,
visible: true,
}
}
@@ -62,6 +66,7 @@ impl TableCellFlow {
block_flow: BlockFlow::from_fragment(fragment),
collapsed_borders: CollapsedBordersForCell::new(),
column_span: node.get_colspan(),
+ row_span: node.get_rowspan(),
visible: visible,
}
}
diff --git a/components/layout/table_row.rs b/components/layout/table_row.rs
index acb052a7134..4f8af643846 100644
--- a/components/layout/table_row.rs
+++ b/components/layout/table_row.rs
@@ -78,6 +78,8 @@ pub struct CellIntrinsicInlineSize {
pub column_size: ColumnIntrinsicInlineSize,
/// The column span of this cell.
pub column_span: u32,
+ /// The row span of this cell.
+ pub row_span: u32,
}
@@ -268,6 +270,7 @@ impl Flow for TableRowFlow {
// fixed and automatic table layout calculation.
let child_specified_inline_size;
let child_column_span;
+ let child_row_span;
{
let child_table_cell = kid.as_mut_table_cell();
child_specified_inline_size = child_table_cell.block_flow
@@ -275,6 +278,7 @@ impl Flow for TableRowFlow {
.style
.content_inline_size();
child_column_span = child_table_cell.column_span;
+ child_row_span = child_table_cell.row_span;
// Perform border collapse if necessary.
if collapsing_borders {
@@ -319,6 +323,7 @@ impl Flow for TableRowFlow {
self.cell_intrinsic_inline_sizes.push(CellIntrinsicInlineSize {
column_size: child_column_inline_size,
column_span: child_column_span,
+ row_span: child_row_span,
});
}
}
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index d9831d79a69..4a94f345b02 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -324,6 +324,8 @@ pub trait LayoutElementHelpers {
#[allow(unsafe_code)]
unsafe fn get_colspan(self) -> u32;
#[allow(unsafe_code)]
+ unsafe fn get_rowspan(self) -> u32;
+ #[allow(unsafe_code)]
unsafe fn html_element_in_html_document_for_layout(&self) -> bool;
fn id_attribute(&self) -> *const Option<Atom>;
fn style_attribute(&self) -> *const Option<Arc<RwLock<PropertyDeclarationBlock>>>;
@@ -627,6 +629,17 @@ impl LayoutElementHelpers for LayoutJS<Element> {
}
}
+ #[allow(unsafe_code)]
+ unsafe fn get_rowspan(self) -> u32 {
+ if let Some(this) = self.downcast::<HTMLTableCellElement>() {
+ this.get_rowspan().unwrap_or(1)
+ } else {
+ // Don't panic since `display` can cause this to be called on arbitrary
+ // elements.
+ 1
+ }
+ }
+
#[inline]
#[allow(unsafe_code)]
unsafe fn html_element_in_html_document_for_layout(&self) -> bool {
diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs
index 1ec389d9977..b4bd885d4ed 100644
--- a/components/script/dom/htmltablecellelement.rs
+++ b/components/script/dom/htmltablecellelement.rs
@@ -18,6 +18,7 @@ use html5ever_atoms::LocalName;
use style::attr::{AttrValue, LengthOrPercentageOrAuto};
const DEFAULT_COLSPAN: u32 = 1;
+const DEFAULT_ROWSPAN: u32 = 1;
#[dom_struct]
pub struct HTMLTableCellElement {
@@ -47,6 +48,12 @@ impl HTMLTableCellElementMethods for HTMLTableCellElement {
// https://html.spec.whatwg.org/multipage/#dom-tdth-colspan
make_uint_setter!(SetColSpan, "colspan", DEFAULT_COLSPAN);
+ // https://html.spec.whatwg.org/multipage/#dom-tdth-rowspan
+ make_uint_getter!(RowSpan, "rowspan", DEFAULT_ROWSPAN);
+
+ // https://html.spec.whatwg.org/multipage/#dom-tdth-rowspan
+ make_uint_setter!(SetRowSpan, "rowspan", DEFAULT_ROWSPAN);
+
// https://html.spec.whatwg.org/multipage/#dom-tdth-bgcolor
make_getter!(BgColor, "bgcolor");
@@ -80,6 +87,7 @@ impl HTMLTableCellElementMethods for HTMLTableCellElement {
pub trait HTMLTableCellElementLayoutHelpers {
fn get_background_color(&self) -> Option<RGBA>;
fn get_colspan(&self) -> Option<u32>;
+ fn get_rowspan(&self) -> Option<u32>;
fn get_width(&self) -> LengthOrPercentageOrAuto;
}
@@ -102,6 +110,14 @@ impl HTMLTableCellElementLayoutHelpers for LayoutJS<HTMLTableCellElement> {
}
}
+ fn get_rowspan(&self) -> Option<u32> {
+ unsafe {
+ (&*self.upcast::<Element>().unsafe_get())
+ .get_attr_for_layout(&ns!(), &local_name!("rowspan"))
+ .map(AttrValue::as_uint)
+ }
+ }
+
fn get_width(&self) -> LengthOrPercentageOrAuto {
unsafe {
(&*self.upcast::<Element>().unsafe_get())
@@ -121,6 +137,7 @@ impl VirtualMethods for HTMLTableCellElement {
fn parse_plain_attribute(&self, local_name: &LocalName, value: DOMString) -> AttrValue {
match *local_name {
local_name!("colspan") => AttrValue::from_u32(value.into(), DEFAULT_COLSPAN),
+ local_name!("rowspan") => AttrValue::from_u32(value.into(), DEFAULT_ROWSPAN),
local_name!("bgcolor") => AttrValue::from_legacy_color(value.into()),
local_name!("width") => AttrValue::from_nonzero_dimension(value.into()),
_ => self.super_type().unwrap().parse_plain_attribute(local_name, value),
diff --git a/components/script/dom/webidls/HTMLTableCellElement.webidl b/components/script/dom/webidls/HTMLTableCellElement.webidl
index 33863b3dc20..8ac135170ec 100644
--- a/components/script/dom/webidls/HTMLTableCellElement.webidl
+++ b/components/script/dom/webidls/HTMLTableCellElement.webidl
@@ -5,8 +5,8 @@
// https://html.spec.whatwg.org/multipage/#htmltablecellelement
[Abstract]
interface HTMLTableCellElement : HTMLElement {
- attribute unsigned long colSpan;
- // attribute unsigned long rowSpan;
+ attribute unsigned long colSpan;
+ attribute unsigned long rowSpan;
// attribute DOMString headers;
readonly attribute long cellIndex;
diff --git a/components/script/layout_wrapper.rs b/components/script/layout_wrapper.rs
index 338edc19730..290ebeb2312 100644
--- a/components/script/layout_wrapper.rs
+++ b/components/script/layout_wrapper.rs
@@ -913,6 +913,12 @@ impl<'ln> ThreadSafeLayoutNode for ServoThreadSafeLayoutNode<'ln> {
self.get_jsmanaged().downcast::<Element>().unwrap().get_colspan()
}
}
+
+ fn get_rowspan(&self) -> u32 {
+ unsafe {
+ self.get_jsmanaged().downcast::<Element>().unwrap().get_rowspan()
+ }
+ }
}
pub struct ThreadSafeLayoutNodeChildrenIterator<ConcreteNode: ThreadSafeLayoutNode> {
diff --git a/components/script_layout_interface/wrapper_traits.rs b/components/script_layout_interface/wrapper_traits.rs
index 1d1f32bf4b6..cf3e3e4c7c5 100644
--- a/components/script_layout_interface/wrapper_traits.rs
+++ b/components/script_layout_interface/wrapper_traits.rs
@@ -265,6 +265,8 @@ pub trait ThreadSafeLayoutNode: Clone + Copy + Debug + GetLayoutData + NodeInfo
fn get_colspan(&self) -> u32;
+ fn get_rowspan(&self) -> u32;
+
fn fragment_type(&self) -> FragmentType {
match self.get_pseudo_element_type() {
PseudoElementType::Normal => FragmentType::FragmentBody,
diff --git a/components/style/matching.rs b/components/style/matching.rs
index 3b0a396507d..f88df07e980 100644
--- a/components/style/matching.rs
+++ b/components/style/matching.rs
@@ -266,8 +266,8 @@ pub fn common_style_affecting_attributes() -> [CommonStyleAffectingAttributeInfo
/// Attributes that, if present, disable style sharing. All legacy HTML attributes must be in
/// either this list or `common_style_affecting_attributes`. See the comment in
/// `synthesize_presentational_hints_for_legacy_attributes`.
-pub fn rare_style_affecting_attributes() -> [LocalName; 3] {
- [ local_name!("bgcolor"), local_name!("border"), local_name!("colspan") ]
+pub fn rare_style_affecting_attributes() -> [LocalName; 4] {
+ [local_name!("bgcolor"), local_name!("border"), local_name!("colspan"), local_name!("rowspan")]
}
fn have_same_class<E: TElement>(element: &E,
diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini
index 4961fca1f35..24f7bf07de4 100644
--- a/tests/wpt/metadata/html/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/html/dom/interfaces.html.ini
@@ -2973,9 +2973,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 "rowSpan" with the proper type (1)]
- expected: FAIL
-
[HTMLTableCellElement interface: document.createElement("td") must inherit property "headers" with the proper type (2)]
expected: FAIL
@@ -3024,9 +3021,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 "rowSpan" with the proper type (1)]
- expected: FAIL
-
[HTMLTableCellElement interface: document.createElement("th") must inherit property "headers" with the proper type (2)]
expected: FAIL
@@ -3051,9 +3045,6 @@
[HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type (11)]
expected: FAIL
- [HTMLTableCellElement interface: attribute rowSpan]
- expected: FAIL
-
[HTMLTableCellElement interface: attribute headers]
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 abb903f2da3..44589149715 100644
--- a/tests/wpt/metadata/html/dom/reflection-tabular.html.ini
+++ b/tests/wpt/metadata/html/dom/reflection-tabular.html.ini
@@ -11127,189 +11127,6 @@
[td.tabIndex: IDL set to -2147483648 followed by getAttribute()]
expected: FAIL
- [td.rowSpan: typeof IDL attribute]
- expected: FAIL
-
- [td.rowSpan: IDL get with DOM attribute unset]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -2147483649 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -2147483648 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -36 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -1 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 0 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 1 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 257 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 2147483647 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 2147483648 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 4294967295 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 4294967296 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "-1" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "-0" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "0" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "1" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\t7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\v7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\f7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\n7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\r7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "
7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "
7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "᠎7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: 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.rowSpan: setAttribute() to undefined followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 1.5 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to true followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to false followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to object "[object Object\]" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to NaN followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to Infinity followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -Infinity followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\0" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to object "2" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to object "3" followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: IDL set to 0 followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to 1 followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to 257 followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to 2147483647 followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to "-0" followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to "-0" followed by IDL get]
- expected: FAIL
-
[td.align: typeof IDL attribute]
expected: FAIL
@@ -13050,189 +12867,6 @@
[th.tabIndex: IDL set to -2147483648 followed by getAttribute()]
expected: FAIL
- [th.rowSpan: typeof IDL attribute]
- expected: FAIL
-
- [th.rowSpan: IDL get with DOM attribute unset]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -2147483649 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -2147483648 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -36 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -1 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 0 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 1 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 257 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 2147483647 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 2147483648 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 4294967295 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 4294967296 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "-1" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "-0" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "0" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "1" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\t7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\v7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\f7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\n7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\r7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "
7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "
7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "᠎7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: 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.rowSpan: setAttribute() to undefined followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 1.5 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to true followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to false followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to object "[object Object\]" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to NaN followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to Infinity followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -Infinity followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\0" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to object "2" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to object "3" followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: IDL set to 0 followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to 1 followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to 257 followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to 2147483647 followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to "-0" followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to "-0" followed by IDL get]
- expected: FAIL
-
[th.align: typeof IDL attribute]
expected: FAIL
@@ -17007,30 +16641,6 @@
[col.span: IDL set to 4294967295 followed by IDL get]
expected: FAIL
- [td.rowSpan: IDL set to 2147483648 followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to 2147483648 followed by IDL get]
- expected: FAIL
-
- [td.rowSpan: IDL set to 4294967295 followed by getAttribute()]
- expected: FAIL
-
- [td.rowSpan: IDL set to 4294967295 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: IDL set to 2147483648 followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to 2147483648 followed by IDL get]
- expected: FAIL
-
- [th.rowSpan: IDL set to 4294967295 followed by getAttribute()]
- expected: FAIL
-
- [th.rowSpan: IDL set to 4294967295 followed by IDL get]
- expected: FAIL
-
[td.scope: typeof IDL attribute]
expected: FAIL
@@ -23796,186 +23406,6 @@
[td.tabIndex: IDL set to -2147483648]
expected: FAIL
- [td.rowSpan: setAttribute() to -2147483649]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -2147483648]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -36]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -1]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 0]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 1]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 257]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 2147483647]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 2147483648]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 4294967295]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 4294967296]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to ""]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "-1"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "-0"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "0"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "1"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\t7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\v7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\f7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\n7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\r7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "
7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "
7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "᠎7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [td.rowSpan: 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 "]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to undefined]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to 1.5]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to true]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to false]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to object "[object Object\]"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to NaN]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to Infinity]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to -Infinity]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to "\\0"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to object "2"]
- expected: FAIL
-
- [td.rowSpan: setAttribute() to object "3"]
- expected: FAIL
-
- [td.rowSpan: IDL set to 0]
- expected: FAIL
-
- [td.rowSpan: IDL set to 1]
- expected: FAIL
-
- [td.rowSpan: IDL set to 257]
- expected: FAIL
-
- [td.rowSpan: IDL set to 2147483647]
- expected: FAIL
-
- [td.rowSpan: IDL set to "-0"]
- expected: FAIL
-
- [td.rowSpan: IDL set to 2147483648]
- expected: FAIL
-
- [td.rowSpan: IDL set to 4294967295]
- expected: FAIL
-
[td.scope: setAttribute() to ""]
expected: FAIL
@@ -25245,186 +24675,6 @@
[th.tabIndex: IDL set to -2147483648]
expected: FAIL
- [th.rowSpan: setAttribute() to -2147483649]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -2147483648]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -36]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -1]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 0]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 1]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 257]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 2147483647]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 2147483648]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 4294967295]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 4294967296]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to ""]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "-1"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "-0"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "0"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "1"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\t7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\v7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\f7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\n7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\r7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "
7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "
7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "᠎7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to " 7"]
- expected: FAIL
-
- [th.rowSpan: 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 "]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to undefined]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to 1.5]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to true]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to false]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to object "[object Object\]"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to NaN]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to Infinity]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to -Infinity]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to "\\0"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to object "2"]
- expected: FAIL
-
- [th.rowSpan: setAttribute() to object "3"]
- expected: FAIL
-
- [th.rowSpan: IDL set to 0]
- expected: FAIL
-
- [th.rowSpan: IDL set to 1]
- expected: FAIL
-
- [th.rowSpan: IDL set to 257]
- expected: FAIL
-
- [th.rowSpan: IDL set to 2147483647]
- expected: FAIL
-
- [th.rowSpan: IDL set to "-0"]
- expected: FAIL
-
- [th.rowSpan: IDL set to 2147483648]
- expected: FAIL
-
- [th.rowSpan: IDL set to 4294967295]
- expected: FAIL
-
[th.scope: setAttribute() to ""]
expected: FAIL