Auto merge of #21120 - paavininanda:HTMLSourceElementIDL_attributes, r=jdm

Exposing HTMLSourceElement IDL attributes

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21120)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2018-07-09 20:47:09 -04:00 committed by GitHub
commit 82213cce6f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 4 deletions

View file

@ -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");
}

View file

@ -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;
};