diff options
author | Simon Pieters <zcorpan@gmail.com> | 2018-10-02 19:13:53 +0200 |
---|---|---|
committer | Simon Pieters <zcorpan@gmail.com> | 2018-10-02 19:23:02 +0200 |
commit | 9b74f0af2451afbbe05915d1f85845296f3577e0 (patch) | |
tree | 949de06473480e3e4c7d5215473b8748d7e0b3e0 | |
parent | 57053e03bbfc65e1d2f283cfa8646038be9f9b06 (diff) | |
download | servo-9b74f0af2451afbbe05915d1f85845296f3577e0.tar.gz servo-9b74f0af2451afbbe05915d1f85845296f3577e0.zip |
Remove the HTMLTable{Header,Data}CellElement interfaces
Fixes #17222.
-rw-r--r-- | components/script/dom/bindings/htmlconstructor.rs | 7 | ||||
-rw-r--r-- | components/script/dom/create.rs | 7 | ||||
-rw-r--r-- | components/script/dom/htmltablecellelement.rs | 23 | ||||
-rw-r--r-- | components/script/dom/htmltabledatacellelement.rs | 43 | ||||
-rw-r--r-- | components/script/dom/htmltableheadercellelement.rs | 43 | ||||
-rw-r--r-- | components/script/dom/htmltablerowelement.rs | 9 | ||||
-rw-r--r-- | components/script/dom/mod.rs | 2 | ||||
-rw-r--r-- | components/script/dom/node.rs | 2 | ||||
-rw-r--r-- | components/script/dom/virtualmethods.rs | 2 | ||||
-rw-r--r-- | components/script/dom/webidls/HTMLTableCellElement.webidl | 7 | ||||
-rw-r--r-- | components/script/dom/webidls/HTMLTableDataCellElement.webidl | 15 | ||||
-rw-r--r-- | components/script/dom/webidls/HTMLTableHeaderCellElement.webidl | 15 | ||||
-rw-r--r-- | tests/wpt/metadata/html/dom/historical.html.ini | 6 | ||||
-rw-r--r-- | tests/wpt/mozilla/meta/MANIFEST.json | 4 | ||||
-rw-r--r-- | tests/wpt/mozilla/tests/mozilla/collections.html | 4 | ||||
-rw-r--r-- | tests/wpt/mozilla/tests/mozilla/interfaces.html | 2 |
16 files changed, 42 insertions, 149 deletions
diff --git a/components/script/dom/bindings/htmlconstructor.rs b/components/script/dom/bindings/htmlconstructor.rs index 7cbac28398f..c8f7e63358e 100644 --- a/components/script/dom/bindings/htmlconstructor.rs +++ b/components/script/dom/bindings/htmlconstructor.rs @@ -55,10 +55,9 @@ use dom::bindings::codegen::Bindings::HTMLSourceElementBinding; use dom::bindings::codegen::Bindings::HTMLSpanElementBinding; use dom::bindings::codegen::Bindings::HTMLStyleElementBinding; use dom::bindings::codegen::Bindings::HTMLTableCaptionElementBinding; +use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding; use dom::bindings::codegen::Bindings::HTMLTableColElementBinding; -use dom::bindings::codegen::Bindings::HTMLTableDataCellElementBinding; use dom::bindings::codegen::Bindings::HTMLTableElementBinding; -use dom::bindings::codegen::Bindings::HTMLTableHeaderCellElementBinding; use dom::bindings::codegen::Bindings::HTMLTableRowElementBinding; use dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding; use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding; @@ -310,11 +309,11 @@ pub fn get_constructor_object_from_local_name( local_name!("sup") => get_constructor!(HTMLElementBinding), local_name!("table") => get_constructor!(HTMLTableElementBinding), local_name!("tbody") => get_constructor!(HTMLTableSectionElementBinding), - local_name!("td") => get_constructor!(HTMLTableDataCellElementBinding), + local_name!("td") => get_constructor!(HTMLTableCellElementBinding), local_name!("template") => get_constructor!(HTMLTemplateElementBinding), local_name!("textarea") => get_constructor!(HTMLTextAreaElementBinding), local_name!("tfoot") => get_constructor!(HTMLTableSectionElementBinding), - local_name!("th") => get_constructor!(HTMLTableHeaderCellElementBinding), + local_name!("th") => get_constructor!(HTMLTableCellElementBinding), local_name!("thead") => get_constructor!(HTMLTableSectionElementBinding), local_name!("time") => get_constructor!(HTMLTimeElementBinding), local_name!("title") => get_constructor!(HTMLTitleElementBinding), diff --git a/components/script/dom/create.rs b/components/script/dom/create.rs index 94fe6bd1457..e1949ccc559 100644 --- a/components/script/dom/create.rs +++ b/components/script/dom/create.rs @@ -64,10 +64,9 @@ use dom::htmlsourceelement::HTMLSourceElement; use dom::htmlspanelement::HTMLSpanElement; use dom::htmlstyleelement::HTMLStyleElement; use dom::htmltablecaptionelement::HTMLTableCaptionElement; +use dom::htmltablecellelement::HTMLTableCellElement; use dom::htmltablecolelement::HTMLTableColElement; -use dom::htmltabledatacellelement::HTMLTableDataCellElement; use dom::htmltableelement::HTMLTableElement; -use dom::htmltableheadercellelement::HTMLTableHeaderCellElement; use dom::htmltablerowelement::HTMLTableRowElement; use dom::htmltablesectionelement::HTMLTableSectionElement; use dom::htmltemplateelement::HTMLTemplateElement; @@ -346,12 +345,12 @@ pub fn create_native_html_element( local_name!("sup") => make!(HTMLElement), local_name!("table") => make!(HTMLTableElement), local_name!("tbody") => make!(HTMLTableSectionElement), - local_name!("td") => make!(HTMLTableDataCellElement), + local_name!("td") => make!(HTMLTableCellElement), local_name!("template") => make!(HTMLTemplateElement), local_name!("textarea") => make!(HTMLTextAreaElement), // https://html.spec.whatwg.org/multipage/#the-tfoot-element:concept-element-dom local_name!("tfoot") => make!(HTMLTableSectionElement), - local_name!("th") => make!(HTMLTableHeaderCellElement), + local_name!("th") => make!(HTMLTableCellElement), // https://html.spec.whatwg.org/multipage/#the-thead-element:concept-element-dom local_name!("thead") => make!(HTMLTableSectionElement), local_name!("time") => make!(HTMLTimeElement), diff --git a/components/script/dom/htmltablecellelement.rs b/components/script/dom/htmltablecellelement.rs index 5b9d8aa7748..ec4819b80ea 100644 --- a/components/script/dom/htmltablecellelement.rs +++ b/components/script/dom/htmltablecellelement.rs @@ -3,9 +3,11 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use cssparser::RGBA; +use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding; use dom::bindings::codegen::Bindings::HTMLTableCellElementBinding::HTMLTableCellElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods; use dom::bindings::inheritance::Castable; +use dom::bindings::root::DomRoot; use dom::bindings::root::LayoutDom; use dom::bindings::str::DOMString; use dom::document::Document; @@ -28,15 +30,30 @@ pub struct HTMLTableCellElement { } impl HTMLTableCellElement { - pub fn new_inherited( - tag_name: LocalName, + fn new_inherited( + local_name: LocalName, prefix: Option<Prefix>, document: &Document, ) -> HTMLTableCellElement { HTMLTableCellElement { - htmlelement: HTMLElement::new_inherited(tag_name, prefix, document), + htmlelement: HTMLElement::new_inherited(local_name, prefix, document), } } + + #[allow(unrooted_must_root)] + pub fn new( + local_name: LocalName, + prefix: Option<Prefix>, + document: &Document, + ) -> DomRoot<HTMLTableCellElement> { + Node::reflect_node( + Box::new(HTMLTableCellElement::new_inherited( + local_name, prefix, document, + )), + document, + HTMLTableCellElementBinding::Wrap, + ) + } } impl HTMLTableCellElementMethods for HTMLTableCellElement { diff --git a/components/script/dom/htmltabledatacellelement.rs b/components/script/dom/htmltabledatacellelement.rs deleted file mode 100644 index 9d5e4c1c035..00000000000 --- a/components/script/dom/htmltabledatacellelement.rs +++ /dev/null @@ -1,43 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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::bindings::codegen::Bindings::HTMLTableDataCellElementBinding; -use dom::bindings::root::DomRoot; -use dom::document::Document; -use dom::htmltablecellelement::HTMLTableCellElement; -use dom::node::Node; -use dom_struct::dom_struct; -use html5ever::{LocalName, Prefix}; - -#[dom_struct] -pub struct HTMLTableDataCellElement { - htmltablecellelement: HTMLTableCellElement, -} - -impl HTMLTableDataCellElement { - fn new_inherited( - local_name: LocalName, - prefix: Option<Prefix>, - document: &Document, - ) -> HTMLTableDataCellElement { - HTMLTableDataCellElement { - htmltablecellelement: HTMLTableCellElement::new_inherited(local_name, prefix, document), - } - } - - #[allow(unrooted_must_root)] - pub fn new( - local_name: LocalName, - prefix: Option<Prefix>, - document: &Document, - ) -> DomRoot<HTMLTableDataCellElement> { - Node::reflect_node( - Box::new(HTMLTableDataCellElement::new_inherited( - local_name, prefix, document, - )), - document, - HTMLTableDataCellElementBinding::Wrap, - ) - } -} diff --git a/components/script/dom/htmltableheadercellelement.rs b/components/script/dom/htmltableheadercellelement.rs deleted file mode 100644 index f0757b20403..00000000000 --- a/components/script/dom/htmltableheadercellelement.rs +++ /dev/null @@ -1,43 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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::bindings::codegen::Bindings::HTMLTableHeaderCellElementBinding; -use dom::bindings::root::DomRoot; -use dom::document::Document; -use dom::htmltablecellelement::HTMLTableCellElement; -use dom::node::Node; -use dom_struct::dom_struct; -use html5ever::{LocalName, Prefix}; - -#[dom_struct] -pub struct HTMLTableHeaderCellElement { - htmltablecellelement: HTMLTableCellElement, -} - -impl HTMLTableHeaderCellElement { - fn new_inherited( - local_name: LocalName, - prefix: Option<Prefix>, - document: &Document, - ) -> HTMLTableHeaderCellElement { - HTMLTableHeaderCellElement { - htmltablecellelement: HTMLTableCellElement::new_inherited(local_name, prefix, document), - } - } - - #[allow(unrooted_must_root)] - pub fn new( - local_name: LocalName, - prefix: Option<Prefix>, - document: &Document, - ) -> DomRoot<HTMLTableHeaderCellElement> { - Node::reflect_node( - Box::new(HTMLTableHeaderCellElement::new_inherited( - local_name, prefix, document, - )), - document, - HTMLTableHeaderCellElementBinding::Wrap, - ) - } -} diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs index 8cceb2212a0..52bf3ebdfdc 100644 --- a/components/script/dom/htmltablerowelement.rs +++ b/components/script/dom/htmltablerowelement.rs @@ -15,9 +15,8 @@ use dom::document::Document; use dom::element::{Element, RawLayoutElementHelpers}; use dom::htmlcollection::{CollectionFilter, HTMLCollection}; use dom::htmlelement::HTMLElement; -use dom::htmltabledatacellelement::HTMLTableDataCellElement; +use dom::htmltablecellelement::HTMLTableCellElement; use dom::htmltableelement::HTMLTableElement; -use dom::htmltableheadercellelement::HTMLTableHeaderCellElement; use dom::htmltablesectionelement::HTMLTableSectionElement; use dom::node::{Node, window_from_node}; use dom::virtualmethods::VirtualMethods; @@ -29,7 +28,7 @@ use style::attr::AttrValue; struct CellsFilter; impl CollectionFilter for CellsFilter { fn filter(&self, elem: &Element, root: &Node) -> bool { - (elem.is::<HTMLTableHeaderCellElement>() || elem.is::<HTMLTableDataCellElement>()) && + (elem.is::<HTMLTableCellElement>()) && elem.upcast::<Node>().GetParentNode().r() == Some(root) } } @@ -99,7 +98,7 @@ impl HTMLTableRowElementMethods for HTMLTableRowElement { node.insert_cell_or_row( index, || self.Cells(), - || HTMLTableDataCellElement::new(local_name!("td"), None, &node.owner_doc()), + || HTMLTableCellElement::new(local_name!("td"), None, &node.owner_doc()), ) } @@ -109,7 +108,7 @@ impl HTMLTableRowElementMethods for HTMLTableRowElement { node.delete_cell_or_row( index, || self.Cells(), - |n| n.is::<HTMLTableDataCellElement>(), + |n| n.is::<HTMLTableCellElement>(), ) } diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs index 07425cccae1..3587a11a0ad 100644 --- a/components/script/dom/mod.rs +++ b/components/script/dom/mod.rs @@ -372,9 +372,7 @@ pub mod htmlstyleelement; pub mod htmltablecaptionelement; pub mod htmltablecellelement; pub mod htmltablecolelement; -pub mod htmltabledatacellelement; pub mod htmltableelement; -pub mod htmltableheadercellelement; pub mod htmltablerowelement; pub mod htmltablesectionelement; pub mod htmltemplateelement; diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 8fa494767f6..45223181db7 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -2920,7 +2920,7 @@ impl Into<LayoutElementType> for ElementTypeId { ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLParagraphElement) => { LayoutElementType::HTMLParagraphElement }, - ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableCellElement(_)) => { + ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableCellElement) => { LayoutElementType::HTMLTableCellElement }, ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableColElement) => { diff --git a/components/script/dom/virtualmethods.rs b/components/script/dom/virtualmethods.rs index 30c80c86fae..fce8126eb09 100644 --- a/components/script/dom/virtualmethods.rs +++ b/components/script/dom/virtualmethods.rs @@ -242,7 +242,7 @@ pub fn vtable_for(node: &Node) -> &VirtualMethods { node.downcast::<HTMLTableElement>().unwrap() as &VirtualMethods }, NodeTypeId::Element(ElementTypeId::HTMLElement( - HTMLElementTypeId::HTMLTableCellElement(_), + HTMLElementTypeId::HTMLTableCellElement, )) => node.downcast::<HTMLTableCellElement>().unwrap() as &VirtualMethods, NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLTableRowElement)) => { node.downcast::<HTMLTableRowElement>().unwrap() as &VirtualMethods diff --git a/components/script/dom/webidls/HTMLTableCellElement.webidl b/components/script/dom/webidls/HTMLTableCellElement.webidl index bdba9955fcc..26027d099fe 100644 --- a/components/script/dom/webidls/HTMLTableCellElement.webidl +++ b/components/script/dom/webidls/HTMLTableCellElement.webidl @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ // https://html.spec.whatwg.org/multipage/#htmltablecellelement -[HTMLConstructor, Abstract] +[HTMLConstructor] interface HTMLTableCellElement : HTMLElement { [CEReactions] attribute unsigned long colSpan; @@ -13,6 +13,11 @@ interface HTMLTableCellElement : HTMLElement { // attribute DOMString headers; readonly attribute long cellIndex; + // [CEReactions] + // attribute DOMString scope; // only conforming for th elements + // [CEReactions] + // attribute DOMString abbr; // only conforming for th elements + // also has obsolete members }; diff --git a/components/script/dom/webidls/HTMLTableDataCellElement.webidl b/components/script/dom/webidls/HTMLTableDataCellElement.webidl deleted file mode 100644 index 3f86ab749f4..00000000000 --- a/components/script/dom/webidls/HTMLTableDataCellElement.webidl +++ /dev/null @@ -1,15 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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/. */ - -// https://html.spec.whatwg.org/multipage/#htmltabledatacellelement -[HTMLConstructor] -interface HTMLTableDataCellElement : HTMLTableCellElement { - // also has obsolete members -}; - -// https://html.spec.whatwg.org/multipage/#HTMLTableDataCellElement-partial -partial interface HTMLTableDataCellElement { - // [CEReactions] - // attribute DOMString abbr; -}; diff --git a/components/script/dom/webidls/HTMLTableHeaderCellElement.webidl b/components/script/dom/webidls/HTMLTableHeaderCellElement.webidl deleted file mode 100644 index c4df47d7e09..00000000000 --- a/components/script/dom/webidls/HTMLTableHeaderCellElement.webidl +++ /dev/null @@ -1,15 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * 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/. */ - -// https://html.spec.whatwg.org/multipage/#htmltableheadercellelement -[HTMLConstructor] -interface HTMLTableHeaderCellElement : HTMLTableCellElement { - // [CEReactions] - // attribute DOMString scope; - // [CEReactions] - // attribute DOMString abbr; - // [CEReactions] - // attribute DOMString sorted; - // void sort(); -}; diff --git a/tests/wpt/metadata/html/dom/historical.html.ini b/tests/wpt/metadata/html/dom/historical.html.ini index 7df55d646ff..0abf6ace116 100644 --- a/tests/wpt/metadata/html/dom/historical.html.ini +++ b/tests/wpt/metadata/html/dom/historical.html.ini @@ -3,9 +3,3 @@ [document.all cannot find applet] expected: FAIL - [HTMLTableHeaderCellElement interface is removed] - expected: FAIL - - [HTMLTableDataCellElement interface is removed] - expected: FAIL - diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index de3bc22eaeb..48be8bbb3bb 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -26638,7 +26638,7 @@ "testharness" ], "mozilla/collections.html": [ - "4011ee6bf322eaacafafd98238c4261084397fde", + "8e06ffcc0933719b4b79ea6656d6635cc121d900", "testharness" ], "mozilla/createEvent-storageevent.html": [ @@ -27038,7 +27038,7 @@ "testharness" ], "mozilla/interfaces.html": [ - "4863f4d1036e945cfaae1f112981fac3367b2e49", + "8bbde3b46a8e9d5ead6f9a2bf372d9647ad059be", "testharness" ], "mozilla/interfaces.js": [ diff --git a/tests/wpt/mozilla/tests/mozilla/collections.html b/tests/wpt/mozilla/tests/mozilla/collections.html index 4011ee6bf32..8e06ffcc093 100644 --- a/tests/wpt/mozilla/tests/mozilla/collections.html +++ b/tests/wpt/mozilla/tests/mozilla/collections.html @@ -123,8 +123,8 @@ test(function() { check_tag("caption", 1, [HTMLTableCaptionElement]); check_tag("textarea", 1, [HTMLTextAreaElement]); check_tag("q", 1, [HTMLQuoteElement]); - check_tag("th", 1, [HTMLTableCellElement, HTMLTableHeaderCellElement]); - check_tag("td", 1, [HTMLTableCellElement, HTMLTableDataCellElement]); + check_tag("th", 1, [HTMLTableCellElement]); + check_tag("td", 1, [HTMLTableCellElement]); check_tag("col", 1, [HTMLTableColElement]); check_tag("colgroup", 1, [HTMLTableColElement]); check_tag("input", 2, [HTMLInputElement]); diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.html b/tests/wpt/mozilla/tests/mozilla/interfaces.html index 4863f4d1036..8bbde3b46a8 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.html +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.html @@ -139,9 +139,7 @@ test_interfaces([ "HTMLTableCaptionElement", "HTMLTableCellElement", "HTMLTableColElement", - "HTMLTableDataCellElement", "HTMLTableElement", - "HTMLTableHeaderCellElement", "HTMLTableRowElement", "HTMLTableSectionElement", "HTMLTemplateElement", |