Auto merge of #23236 - swarnimarun:loop_patch, r=ferjm

Implement HTMLMediaElement.loop Attribute

<!-- Please describe your changes on the following line: -->
Work done for Implementing HTMLMediaElement.loop Attribute,
- Uncomment `loop` attribute from webidl
- Add make_bool macros for Loop and SetLoop functions
- Update the required tests

---
<!-- 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
- [x] These changes fix #22290

<!-- Either: -->
- [x] There are tests for these changes

<!-- 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/23236)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-04-29 12:20:43 -04:00 committed by GitHub
commit 67beaa46e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 17 deletions

View file

@ -1548,17 +1548,11 @@ enum PlaybackDirection {
// XXX Placeholder implementations for:
//
// - https://github.com/servo/servo/issues/22293
// - https://github.com/servo/servo/issues/22321
impl HTMLMediaElement {
// https://github.com/servo/servo/issues/22293
fn direction_of_playback(&self) -> PlaybackDirection {
PlaybackDirection::Forwards
}
// https://github.com/servo/servo/pull/22321
fn Loop(&self) -> bool {
false
}
}
impl Drop for HTMLMediaElement {
@ -1587,6 +1581,11 @@ impl HTMLMediaElementMethods for HTMLMediaElement {
// https://html.spec.whatwg.org/multipage/#dom-media-autoplay
make_bool_setter!(SetAutoplay, "autoplay");
// https://html.spec.whatwg.org/multipage/#attr-media-loop
make_bool_getter!(Loop, "loop");
// https://html.spec.whatwg.org/multipage/#attr-media-loop
make_bool_setter!(SetLoop, "loop");
// https://html.spec.whatwg.org/multipage/#dom-media-defaultmuted
make_bool_getter!(DefaultMuted, "muted");
// https://html.spec.whatwg.org/multipage/#dom-media-defaultmuted

View file

@ -48,7 +48,7 @@ interface HTMLMediaElement : HTMLElement {
// readonly attribute TimeRanges seekable;
readonly attribute boolean ended;
[CEReactions] attribute boolean autoplay;
// [CEReactions] attribute boolean loop;
[CEReactions] attribute boolean loop;
Promise<void> play();
void pause();

View file

@ -1053,7 +1053,7 @@
expected: FAIL
[HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type]
expected: FAIL
@ -1122,7 +1122,7 @@
expected: FAIL
[HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type]
expected: FAIL
@ -1257,7 +1257,7 @@
expected: FAIL
[HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: new Audio() must inherit property "play()" with the proper type]
expected: FAIL
@ -1404,7 +1404,7 @@
expected: FAIL
[HTMLMediaElement interface: attribute loop]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: operation play()]
expected: FAIL
@ -6778,7 +6778,7 @@
expected: FAIL
[HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type]
expected: FAIL
@ -6796,7 +6796,7 @@
expected: FAIL
[HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type]
expected: FAIL
@ -6814,7 +6814,7 @@
expected: FAIL
[HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type]
expected: FAIL
@ -6829,7 +6829,7 @@
expected: FAIL
[HTMLMediaElement interface: attribute loop]
expected: FAIL
expected: PASS
[HTMLMediaElement interface: operation play()]
expected: FAIL

View file

@ -1,5 +1,4 @@
[video_loop_base.html]
expected: TIMEOUT
[Check if video.loop is set to true that expecting the seeking event is fired more than once]
expected: NOTRUN
expected: PASS