diff --git a/components/script/dom/htmlsourceelement.rs b/components/script/dom/htmlsourceelement.rs index aff119cee9b7..770270d33793 100644 --- a/components/script/dom/htmlsourceelement.rs +++ b/components/script/dom/htmlsourceelement.rs @@ -3,9 +3,11 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::Bindings::HTMLSourceElementBinding; +use dom::bindings::codegen::Bindings::HTMLSourceElementBinding::HTMLSourceElementMethods; use dom::bindings::codegen::Bindings::NodeBinding::NodeBinding::NodeMethods; use dom::bindings::inheritance::Castable; use dom::bindings::root::DomRoot; +use dom::bindings::str::DOMString; use dom::document::Document; use dom::htmlelement::HTMLElement; use dom::htmlmediaelement::HTMLMediaElement; @@ -53,3 +55,36 @@ impl VirtualMethods for HTMLSourceElement { } } } + +impl HTMLSourceElementMethods for HTMLSourceElement { + // https://html.spec.whatwg.org/multipage/#dom-source-src + make_getter!(Src, "src"); + + // https://html.spec.whatwg.org/multipage/#dom-source-src + make_setter!(SetSrc, "src"); + + // https://html.spec.whatwg.org/multipage/#dom-source-type + make_getter!(Type, "type"); + + // https://html.spec.whatwg.org/multipage/#dom-source-type + make_setter!(SetType, "type"); + + // https://html.spec.whatwg.org/multipage/#dom-source-srcset + make_getter!(Srcset, "srcset"); + + // https://html.spec.whatwg.org/multipage/#dom-source-srcset + make_setter!(SetSrcset, "srcset"); + + // https://html.spec.whatwg.org/multipage/#dom-source-sizes + make_getter!(Sizes, "sizes"); + + // https://html.spec.whatwg.org/multipage/#dom-source-sizes + make_setter!(SetSizes, "sizes"); + + // https://html.spec.whatwg.org/multipage/#dom-source-media + make_getter!(Media, "media"); + + // https://html.spec.whatwg.org/multipage/#dom-source-media + make_setter!(SetMedia, "media"); + +} diff --git a/components/script/dom/webidls/HTMLSourceElement.webidl b/components/script/dom/webidls/HTMLSourceElement.webidl index b62c3def6f8a..0e5b6ab14108 100644 --- a/components/script/dom/webidls/HTMLSourceElement.webidl +++ b/components/script/dom/webidls/HTMLSourceElement.webidl @@ -5,8 +5,14 @@ // https://html.spec.whatwg.org/multipage/#htmlsourceelement [HTMLConstructor] interface HTMLSourceElement : HTMLElement { - // [CEReactions] - // attribute DOMString src; - // [CEReactions] - // attribute DOMString type; + [CEReactions] + attribute DOMString src; + [CEReactions] + attribute DOMString type; + [CEReactions] + attribute DOMString srcset; + [CEReactions] + attribute DOMString sizes; + [CEReactions] + attribute DOMString media; };