diff --git a/components/script/dom/htmlulistelement.rs b/components/script/dom/htmlulistelement.rs index faa1eb97d59..b1e39d90f47 100644 --- a/components/script/dom/htmlulistelement.rs +++ b/components/script/dom/htmlulistelement.rs @@ -6,7 +6,9 @@ use dom_struct::dom_struct; use html5ever::{LocalName, Prefix}; use js::rust::HandleObject; +use crate::dom::bindings::codegen::Bindings::HTMLUListElementBinding::HTMLUListElementMethods; use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::str::DOMString; use crate::dom::document::Document; use crate::dom::htmlelement::HTMLElement; use crate::dom::node::Node; @@ -43,3 +45,17 @@ impl HTMLUListElement { ) } } + +impl HTMLUListElementMethods for HTMLUListElement { + // https://html.spec.whatwg.org/multipage/#dom-ul-compact + make_bool_getter!(Compact, "compact"); + + // https://html.spec.whatwg.org/multipage/#dom-ul-compact + make_bool_setter!(SetCompact, "compact"); + + // https://html.spec.whatwg.org/multipage/#dom-ul-type + make_getter!(Type, "type"); + + // https://html.spec.whatwg.org/multipage/#dom-ul-type + make_setter!(SetType, "type"); +} diff --git a/components/script/dom/webidls/HTMLUListElement.webidl b/components/script/dom/webidls/HTMLUListElement.webidl index 479e46961c9..ac5f172a010 100644 --- a/components/script/dom/webidls/HTMLUListElement.webidl +++ b/components/script/dom/webidls/HTMLUListElement.webidl @@ -12,8 +12,8 @@ interface HTMLUListElement : HTMLElement { // https://html.spec.whatwg.org/multipage/#HTMLUListElement-partial partial interface HTMLUListElement { - // [CEReactions] - // attribute boolean compact; - // [CEReactions] - // attribute DOMString type; + [CEReactions] + attribute boolean compact; + [CEReactions] + attribute DOMString type; }; diff --git a/tests/wpt/meta/html/dom/idlharness.https.html.ini b/tests/wpt/meta/html/dom/idlharness.https.html.ini index 40c6c1f9f83..a34d014991c 100644 --- a/tests/wpt/meta/html/dom/idlharness.https.html.ini +++ b/tests/wpt/meta/html/dom/idlharness.https.html.ini @@ -3126,9 +3126,6 @@ [HTMLTableElement interface: attribute summary] expected: FAIL - [HTMLUListElement interface: attribute type] - expected: FAIL - [HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "bgColor" with the proper type] expected: FAIL @@ -3345,9 +3342,6 @@ [HTMLTableCellElement interface: document.createElement("th") must inherit property "chOff" with the proper type] expected: FAIL - [HTMLUListElement interface: attribute compact] - expected: FAIL - [HTMLOListElement interface: attribute compact] expected: FAIL diff --git a/tests/wpt/meta/html/dom/reflection-grouping.html.ini b/tests/wpt/meta/html/dom/reflection-grouping.html.ini index c55e9520cbe..9cfdba0633f 100644 --- a/tests/wpt/meta/html/dom/reflection-grouping.html.ini +++ b/tests/wpt/meta/html/dom/reflection-grouping.html.ini @@ -2168,234 +2168,6 @@ [ul.tabIndex: IDL set to -2147483648] expected: FAIL - [ul.compact: typeof IDL attribute] - expected: FAIL - - [ul.compact: IDL get with DOM attribute unset] - expected: FAIL - - [ul.compact: setAttribute() to ""] - expected: FAIL - - [ul.compact: setAttribute() to " foo "] - expected: FAIL - - [ul.compact: setAttribute() to undefined] - expected: FAIL - - [ul.compact: setAttribute() to null] - expected: FAIL - - [ul.compact: setAttribute() to 7] - expected: FAIL - - [ul.compact: setAttribute() to 1.5] - expected: FAIL - - [ul.compact: setAttribute() to "5%"] - expected: FAIL - - [ul.compact: setAttribute() to "+100"] - expected: FAIL - - [ul.compact: setAttribute() to ".5"] - expected: FAIL - - [ul.compact: setAttribute() to true] - expected: FAIL - - [ul.compact: setAttribute() to false] - expected: FAIL - - [ul.compact: setAttribute() to object "[object Object\]"] - expected: FAIL - - [ul.compact: setAttribute() to NaN] - expected: FAIL - - [ul.compact: setAttribute() to Infinity] - expected: FAIL - - [ul.compact: setAttribute() to -Infinity] - expected: FAIL - - [ul.compact: setAttribute() to "\\0"] - expected: FAIL - - [ul.compact: setAttribute() to object "test-toString"] - expected: FAIL - - [ul.compact: setAttribute() to object "test-valueOf"] - expected: FAIL - - [ul.compact: setAttribute() to "compact"] - expected: FAIL - - [ul.compact: IDL set to ""] - expected: FAIL - - [ul.compact: IDL set to " foo "] - expected: FAIL - - [ul.compact: IDL set to undefined] - expected: FAIL - - [ul.compact: IDL set to null] - expected: FAIL - - [ul.compact: IDL set to 7] - expected: FAIL - - [ul.compact: IDL set to 1.5] - expected: FAIL - - [ul.compact: IDL set to "5%"] - expected: FAIL - - [ul.compact: IDL set to "+100"] - expected: FAIL - - [ul.compact: IDL set to ".5"] - expected: FAIL - - [ul.compact: IDL set to false] - expected: FAIL - - [ul.compact: IDL set to object "[object Object\]"] - expected: FAIL - - [ul.compact: IDL set to NaN] - expected: FAIL - - [ul.compact: IDL set to Infinity] - expected: FAIL - - [ul.compact: IDL set to -Infinity] - expected: FAIL - - [ul.compact: IDL set to "\\0"] - expected: FAIL - - [ul.compact: IDL set to object "test-toString"] - expected: FAIL - - [ul.compact: IDL set to object "test-valueOf"] - expected: FAIL - - [ul.type: typeof IDL attribute] - expected: FAIL - - [ul.type: IDL get with DOM attribute unset] - expected: FAIL - - [ul.type: setAttribute() to ""] - expected: FAIL - - [ul.type: 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 - - [ul.type: setAttribute() to undefined] - expected: FAIL - - [ul.type: setAttribute() to 7] - expected: FAIL - - [ul.type: setAttribute() to 1.5] - expected: FAIL - - [ul.type: setAttribute() to "5%"] - expected: FAIL - - [ul.type: setAttribute() to "+100"] - expected: FAIL - - [ul.type: setAttribute() to ".5"] - expected: FAIL - - [ul.type: setAttribute() to true] - expected: FAIL - - [ul.type: setAttribute() to false] - expected: FAIL - - [ul.type: setAttribute() to object "[object Object\]"] - expected: FAIL - - [ul.type: setAttribute() to NaN] - expected: FAIL - - [ul.type: setAttribute() to Infinity] - expected: FAIL - - [ul.type: setAttribute() to -Infinity] - expected: FAIL - - [ul.type: setAttribute() to "\\0"] - expected: FAIL - - [ul.type: setAttribute() to null] - expected: FAIL - - [ul.type: setAttribute() to object "test-toString"] - expected: FAIL - - [ul.type: setAttribute() to object "test-valueOf"] - expected: FAIL - - [ul.type: IDL set to ""] - expected: FAIL - - [ul.type: IDL set 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 - - [ul.type: IDL set to undefined] - expected: FAIL - - [ul.type: IDL set to 7] - expected: FAIL - - [ul.type: IDL set to 1.5] - expected: FAIL - - [ul.type: IDL set to "5%"] - expected: FAIL - - [ul.type: IDL set to "+100"] - expected: FAIL - - [ul.type: IDL set to ".5"] - expected: FAIL - - [ul.type: IDL set to true] - expected: FAIL - - [ul.type: IDL set to false] - expected: FAIL - - [ul.type: IDL set to object "[object Object\]"] - expected: FAIL - - [ul.type: IDL set to NaN] - expected: FAIL - - [ul.type: IDL set to Infinity] - expected: FAIL - - [ul.type: IDL set to -Infinity] - expected: FAIL - - [ul.type: IDL set to "\\0"] - expected: FAIL - - [ul.type: IDL set to null] - expected: FAIL - - [ul.type: IDL set to object "test-toString"] - expected: FAIL - - [ul.type: IDL set to object "test-valueOf"] - expected: FAIL - [li.accessKey: typeof IDL attribute] expected: FAIL