From dd16ea87c35b7748ef716a74d0e3d375896b7db9 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 26 Apr 2024 11:51:26 -0400 Subject: [PATCH] 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. --- Userland/Libraries/LibWeb/HTML/AudioTrack.cpp | 2 +- Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp | 6 ++---- Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h | 2 +- Userland/Libraries/LibWeb/HTML/VideoTrack.cpp | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp b/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp index b2491494b1f..5f5e1395be0 100644 --- a/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp +++ b/Userland/Libraries/LibWeb/HTML/AudioTrack.cpp @@ -39,7 +39,7 @@ AudioTrack::AudioTrack(JS::Realm& realm, JS::NonnullGCPtr 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)); }; } diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp index 0a12a169e9c..ee68541007d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.cpp @@ -127,7 +127,7 @@ void HTMLMediaElement::removed_from(DOM::Node* node) } // https://html.spec.whatwg.org/multipage/media.html#fatal-decode-error -WebIDL::ExceptionOr 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 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 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 diff --git a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h index 2d579318507..90ca347b90e 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLMediaElement.h @@ -44,7 +44,7 @@ public: void queue_a_media_element_task(Function); JS::GCPtr error() const { return m_error; } - WebIDL::ExceptionOr set_decoder_error(String error_message); + void set_decoder_error(String error_message); String const& current_src() const { return m_current_src; } WebIDL::ExceptionOr select_resource(); diff --git a/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp b/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp index 3ca06c52858..1c0633abd15 100644 --- a/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp +++ b/Userland/Libraries/LibWeb/HTML/VideoTrack.cpp @@ -55,12 +55,12 @@ VideoTrack::VideoTrack(JS::Realm& realm, JS::NonnullGCPtr 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)); }; }