mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Rework if/else into early returns
Signed-off-by: Michael Rees <mrees@noeontheend.com>
This commit is contained in:
parent
32721f61d3
commit
3d705c1d20
1 changed files with 49 additions and 48 deletions
|
@ -1521,42 +1521,42 @@ impl HTMLMediaElement {
|
||||||
self.earliest_possible_position(),
|
self.earliest_possible_position(),
|
||||||
/* approximate_for_speed*/ false,
|
/* approximate_for_speed*/ false,
|
||||||
);
|
);
|
||||||
} else {
|
return;
|
||||||
// Step 2.
|
|
||||||
// The **ended playback** condition is implemented inside of
|
|
||||||
// the HTMLMediaElementMethods::Ended method
|
|
||||||
|
|
||||||
// Step 3.
|
|
||||||
let this = Trusted::new(self);
|
|
||||||
|
|
||||||
self.owner_global()
|
|
||||||
.task_manager()
|
|
||||||
.media_element_task_source()
|
|
||||||
.queue(task!(reaches_the_end_steps: move || {
|
|
||||||
let this = this.root();
|
|
||||||
// Step 3.1.
|
|
||||||
this.upcast::<EventTarget>().fire_event(atom!("timeupdate"), CanGc::note());
|
|
||||||
|
|
||||||
// Step 3.2.
|
|
||||||
if this.Ended() && !this.Paused() {
|
|
||||||
// Step 3.2.1.
|
|
||||||
this.paused.set(true);
|
|
||||||
|
|
||||||
// Step 3.2.2.
|
|
||||||
this.upcast::<EventTarget>().fire_event(atom!("pause"), CanGc::note());
|
|
||||||
|
|
||||||
// Step 3.2.3.
|
|
||||||
this.take_pending_play_promises(Err(Error::Abort));
|
|
||||||
this.fulfill_in_flight_play_promises(|| ());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Step 3.3.
|
|
||||||
this.upcast::<EventTarget>().fire_event(atom!("ended"), CanGc::note());
|
|
||||||
}));
|
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#dom-media-have_current_data
|
|
||||||
self.change_ready_state(ReadyState::HaveCurrentData);
|
|
||||||
}
|
}
|
||||||
|
// Step 2.
|
||||||
|
// The **ended playback** condition is implemented inside of
|
||||||
|
// the HTMLMediaElementMethods::Ended method
|
||||||
|
|
||||||
|
// Step 3.
|
||||||
|
let this = Trusted::new(self);
|
||||||
|
|
||||||
|
self.owner_global()
|
||||||
|
.task_manager()
|
||||||
|
.media_element_task_source()
|
||||||
|
.queue(task!(reaches_the_end_steps: move || {
|
||||||
|
let this = this.root();
|
||||||
|
// Step 3.1.
|
||||||
|
this.upcast::<EventTarget>().fire_event(atom!("timeupdate"), CanGc::note());
|
||||||
|
|
||||||
|
// Step 3.2.
|
||||||
|
if this.Ended() && !this.Paused() {
|
||||||
|
// Step 3.2.1.
|
||||||
|
this.paused.set(true);
|
||||||
|
|
||||||
|
// Step 3.2.2.
|
||||||
|
this.upcast::<EventTarget>().fire_event(atom!("pause"), CanGc::note());
|
||||||
|
|
||||||
|
// Step 3.2.3.
|
||||||
|
this.take_pending_play_promises(Err(Error::Abort));
|
||||||
|
this.fulfill_in_flight_play_promises(|| ());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 3.3.
|
||||||
|
this.upcast::<EventTarget>().fire_event(atom!("ended"), CanGc::note());
|
||||||
|
}));
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/#dom-media-have_current_data
|
||||||
|
self.change_ready_state(ReadyState::HaveCurrentData);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn playback_end(&self) {
|
fn playback_end(&self) {
|
||||||
|
@ -1565,20 +1565,21 @@ impl HTMLMediaElement {
|
||||||
// an unsupported format, or can otherwise not be rendered at all"
|
// an unsupported format, or can otherwise not be rendered at all"
|
||||||
if self.ready_state.get() < ReadyState::HaveMetadata {
|
if self.ready_state.get() < ReadyState::HaveMetadata {
|
||||||
self.queue_dedicated_media_source_failure_steps();
|
self.queue_dedicated_media_source_failure_steps();
|
||||||
} else {
|
return;
|
||||||
// https://html.spec.whatwg.org/multipage/#reaches-the-end
|
}
|
||||||
match self.direction_of_playback() {
|
|
||||||
PlaybackDirection::Forwards => self.end_of_playback_in_forwards_direction(),
|
|
||||||
|
|
||||||
PlaybackDirection::Backwards => {
|
// https://html.spec.whatwg.org/multipage/#reaches-the-end
|
||||||
if self.playback_position.get() <= self.earliest_possible_position() {
|
match self.direction_of_playback() {
|
||||||
self.owner_global()
|
PlaybackDirection::Forwards => self.end_of_playback_in_forwards_direction(),
|
||||||
.task_manager()
|
|
||||||
.media_element_task_source()
|
PlaybackDirection::Backwards => {
|
||||||
.queue_simple_event(self.upcast(), atom!("ended"));
|
if self.playback_position.get() <= self.earliest_possible_position() {
|
||||||
}
|
self.owner_global()
|
||||||
},
|
.task_manager()
|
||||||
}
|
.media_element_task_source()
|
||||||
|
.queue_simple_event(self.upcast(), atom!("ended"));
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue