mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
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:
@@ -39,7 +39,7 @@ AudioTrack::AudioTrack(JS::Realm& realm, JS::NonnullGCPtr<HTMLMediaElement> medi
|
|||||||
};
|
};
|
||||||
|
|
||||||
m_audio_plugin->on_decoder_error = [this](String error_message) {
|
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));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ void HTMLMediaElement::removed_from(DOM::Node* node)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/media.html#fatal-decode-error
|
// 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& realm = this->realm();
|
||||||
auto& vm = realm.vm();
|
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
|
// 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:
|
// user agent to execute the following steps:
|
||||||
if (m_ready_state == ReadyState::HaveNothing)
|
if (m_ready_state == ReadyState::HaveNothing)
|
||||||
return {};
|
return;
|
||||||
|
|
||||||
// 1. The user agent should cancel the fetching process.
|
// 1. The user agent should cancel the fetching process.
|
||||||
if (m_fetch_controller)
|
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));
|
dispatch_event(DOM::Event::create(realm, HTML::EventNames::error));
|
||||||
|
|
||||||
// FIXME: 6. Abort the overall resource selection algorithm.
|
// FIXME: 6. Abort the overall resource selection algorithm.
|
||||||
|
|
||||||
return {};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/media.html#dom-media-buffered
|
// https://html.spec.whatwg.org/multipage/media.html#dom-media-buffered
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public:
|
|||||||
void queue_a_media_element_task(Function<void()>);
|
void queue_a_media_element_task(Function<void()>);
|
||||||
|
|
||||||
JS::GCPtr<MediaError> error() const { return m_error; }
|
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; }
|
String const& current_src() const { return m_current_src; }
|
||||||
WebIDL::ExceptionOr<void> select_resource();
|
WebIDL::ExceptionOr<void> select_resource();
|
||||||
|
|||||||
@@ -55,12 +55,12 @@ VideoTrack::VideoTrack(JS::Realm& realm, JS::NonnullGCPtr<HTMLMediaElement> medi
|
|||||||
|
|
||||||
m_playback_manager->on_decoder_error = [this](auto error) {
|
m_playback_manager->on_decoder_error = [this](auto error) {
|
||||||
auto error_message = String::from_utf8(error.description()).release_value_but_fixme_should_propagate_errors();
|
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) {
|
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();
|
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));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user