LibWeb: Make HTMLMediaElement::set_decoder_error infallible

This used to propagate an OOM error, but that was removed, and this
method can no longer throw.
This commit is contained in:
Timothy Flynn 2024-04-26 11:51:26 -04:00 committed by Tim Flynn
commit dd16ea87c3
Notes: sideshowbarker 2024-07-17 01:13:25 +09:00
4 changed files with 6 additions and 8 deletions

View file

@ -39,7 +39,7 @@ AudioTrack::AudioTrack(JS::Realm& realm, JS::NonnullGCPtr<HTMLMediaElement> medi
};
m_audio_plugin->on_decoder_error = [this](String error_message) {
m_media_element->set_decoder_error(error_message).release_value_but_fixme_should_propagate_errors();
m_media_element->set_decoder_error(move(error_message));
};
}

View file

@ -127,7 +127,7 @@ void HTMLMediaElement::removed_from(DOM::Node* node)
}
// https://html.spec.whatwg.org/multipage/media.html#fatal-decode-error
WebIDL::ExceptionOr<void> HTMLMediaElement::set_decoder_error(String error_message)
void HTMLMediaElement::set_decoder_error(String error_message)
{
auto& realm = this->realm();
auto& vm = realm.vm();
@ -137,7 +137,7 @@ WebIDL::ExceptionOr<void> HTMLMediaElement::set_decoder_error(String error_messa
// resource is usable (i.e. once the media element's readyState attribute is no longer HAVE_NOTHING) must cause the
// user agent to execute the following steps:
if (m_ready_state == ReadyState::HaveNothing)
return {};
return;
// 1. The user agent should cancel the fetching process.
if (m_fetch_controller)
@ -156,8 +156,6 @@ WebIDL::ExceptionOr<void> HTMLMediaElement::set_decoder_error(String error_messa
dispatch_event(DOM::Event::create(realm, HTML::EventNames::error));
// FIXME: 6. Abort the overall resource selection algorithm.
return {};
}
// https://html.spec.whatwg.org/multipage/media.html#dom-media-buffered

View file

@ -44,7 +44,7 @@ public:
void queue_a_media_element_task(Function<void()>);
JS::GCPtr<MediaError> error() const { return m_error; }
WebIDL::ExceptionOr<void> set_decoder_error(String error_message);
void set_decoder_error(String error_message);
String const& current_src() const { return m_current_src; }
WebIDL::ExceptionOr<void> select_resource();

View file

@ -55,12 +55,12 @@ VideoTrack::VideoTrack(JS::Realm& realm, JS::NonnullGCPtr<HTMLMediaElement> medi
m_playback_manager->on_decoder_error = [this](auto error) {
auto error_message = String::from_utf8(error.description()).release_value_but_fixme_should_propagate_errors();
m_media_element->set_decoder_error(move(error_message)).release_value_but_fixme_should_propagate_errors();
m_media_element->set_decoder_error(move(error_message));
};
m_playback_manager->on_fatal_playback_error = [this](auto error) {
auto error_message = String::from_utf8(error.string_literal()).release_value_but_fixme_should_propagate_errors();
m_media_element->set_decoder_error(move(error_message)).release_value_but_fixme_should_propagate_errors();
m_media_element->set_decoder_error(move(error_message));
};
}