diff --git a/Userland/Libraries/LibWeb/Bindings/PlatformObject.cpp b/Userland/Libraries/LibWeb/Bindings/PlatformObject.cpp index 091c36632bd..edca8c8ef79 100644 --- a/Userland/Libraries/LibWeb/Bindings/PlatformObject.cpp +++ b/Userland/Libraries/LibWeb/Bindings/PlatformObject.cpp @@ -98,7 +98,7 @@ JS::ThrowCompletionOr> PlatformObject::legacy_p // 2. Let value be an uninitialized variable. // 3. If operation was defined without an identifier, then set value to the result of performing the steps listed in the interface description to determine the value of an indexed property with index as the index. // 4. Otherwise, operation was defined with an identifier. Set value to the result of performing the method steps of operation with O as this and « index » as the argument values. - auto value = TRY(throw_dom_exception_if_needed(vm, [&] { return item_value(index); })); + auto value item_value(index); // 5. Let desc be a newly created Property Descriptor with no fields. JS::PropertyDescriptor descriptor; @@ -483,7 +483,7 @@ WebIDL::ExceptionOr PlatformObject::delete_valu VERIFY_NOT_REACHED(); } -WebIDL::ExceptionOr PlatformObject::item_value(size_t) const +JS::Value PlatformObject::item_value(size_t) const { return JS::js_undefined(); } diff --git a/Userland/Libraries/LibWeb/Bindings/PlatformObject.h b/Userland/Libraries/LibWeb/Bindings/PlatformObject.h index 66dae61875d..b65f36a5d53 100644 --- a/Userland/Libraries/LibWeb/Bindings/PlatformObject.h +++ b/Userland/Libraries/LibWeb/Bindings/PlatformObject.h @@ -72,7 +72,7 @@ protected: }; JS::ThrowCompletionOr> legacy_platform_object_get_own_property(JS::PropertyKey const&, IgnoreNamedProps ignore_named_props) const; - virtual WebIDL::ExceptionOr item_value(size_t index) const; + virtual JS::Value item_value(size_t index) const; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const; virtual Vector supported_property_names() const; virtual bool is_supported_property_name(FlyString const&) const; diff --git a/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp b/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp index b7ce073e5ad..90610ab2a7f 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSRuleList.cpp @@ -227,7 +227,7 @@ bool CSSRuleList::evaluate_media_queries(HTML::Window const& window) return any_media_queries_changed_match_state; } -WebIDL::ExceptionOr CSSRuleList::item_value(size_t index) const +JS::Value CSSRuleList::item_value(size_t index) const { return item(index); } diff --git a/Userland/Libraries/LibWeb/CSS/CSSRuleList.h b/Userland/Libraries/LibWeb/CSS/CSSRuleList.h index 70cb9c013d6..490f84b4c44 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSRuleList.h +++ b/Userland/Libraries/LibWeb/CSS/CSSRuleList.h @@ -52,7 +52,7 @@ public: auto end() { return m_rules.end(); } virtual bool is_supported_property_index(u32 index) const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; WebIDL::ExceptionOr remove_a_css_rule(u32 index); WebIDL::ExceptionOr insert_a_css_rule(Variant, u32 index); diff --git a/Userland/Libraries/LibWeb/CSS/MediaList.cpp b/Userland/Libraries/LibWeb/CSS/MediaList.cpp index e811afa80d1..17960fda3e2 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaList.cpp +++ b/Userland/Libraries/LibWeb/CSS/MediaList.cpp @@ -116,7 +116,7 @@ bool MediaList::matches() const return false; } -WebIDL::ExceptionOr MediaList::item_value(size_t index) const +JS::Value MediaList::item_value(size_t index) const { if (index >= m_media.size()) return JS::js_undefined(); diff --git a/Userland/Libraries/LibWeb/CSS/MediaList.h b/Userland/Libraries/LibWeb/CSS/MediaList.h index 9cac1e0e29a..e872f6d2353 100644 --- a/Userland/Libraries/LibWeb/CSS/MediaList.h +++ b/Userland/Libraries/LibWeb/CSS/MediaList.h @@ -32,7 +32,7 @@ public: void delete_medium(StringView); virtual bool is_supported_property_index(u32 index) const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; bool evaluate(HTML::Window const&); bool matches() const; diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp b/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp index 3b3779e1627..9486d16cad0 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp +++ b/Userland/Libraries/LibWeb/CSS/StyleSheetList.cpp @@ -164,7 +164,7 @@ bool StyleSheetList::is_supported_property_index(u32 index) const return index < m_sheets.size(); } -WebIDL::ExceptionOr StyleSheetList::item_value(size_t index) const +JS::Value StyleSheetList::item_value(size_t index) const { if (index >= m_sheets.size()) return JS::js_undefined(); diff --git a/Userland/Libraries/LibWeb/CSS/StyleSheetList.h b/Userland/Libraries/LibWeb/CSS/StyleSheetList.h index 9ebe1238570..3bfb395891c 100644 --- a/Userland/Libraries/LibWeb/CSS/StyleSheetList.h +++ b/Userland/Libraries/LibWeb/CSS/StyleSheetList.h @@ -36,7 +36,7 @@ public: size_t length() const { return m_sheets.size(); } virtual bool is_supported_property_index(u32 index) const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; DOM::Document& document() { return m_document; } DOM::Document const& document() const { return m_document; } diff --git a/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp b/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp index fa837c9bb71..18d38032306 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMTokenList.cpp @@ -302,7 +302,7 @@ void DOMTokenList::run_update_steps() MUST(associated_element->set_attribute(m_associated_attribute, serialize_ordered_set())); } -WebIDL::ExceptionOr DOMTokenList::item_value(size_t index) const +JS::Value DOMTokenList::item_value(size_t index) const { auto string = item(index); if (!string.has_value()) diff --git a/Userland/Libraries/LibWeb/DOM/DOMTokenList.h b/Userland/Libraries/LibWeb/DOM/DOMTokenList.h index 441e6e3b56a..cbb2dcfc917 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMTokenList.h +++ b/Userland/Libraries/LibWeb/DOM/DOMTokenList.h @@ -31,7 +31,7 @@ public: void associated_attribute_changed(StringView value); virtual bool is_supported_property_index(u32 index) const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; size_t length() const { return m_token_set.size(); } Optional item(size_t index) const; diff --git a/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp b/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp index 2531cd75e49..907cf7b0704 100644 --- a/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp +++ b/Userland/Libraries/LibWeb/DOM/HTMLCollection.cpp @@ -169,7 +169,7 @@ bool HTMLCollection::is_supported_property_index(u32 index) const return index < length(); } -WebIDL::ExceptionOr HTMLCollection::item_value(size_t index) const +JS::Value HTMLCollection::item_value(size_t index) const { auto* element = item(index); if (!element) diff --git a/Userland/Libraries/LibWeb/DOM/HTMLCollection.h b/Userland/Libraries/LibWeb/DOM/HTMLCollection.h index 1fba69a58c1..3c64a4285f7 100644 --- a/Userland/Libraries/LibWeb/DOM/HTMLCollection.h +++ b/Userland/Libraries/LibWeb/DOM/HTMLCollection.h @@ -40,7 +40,7 @@ public: JS::MarkedVector> collect_matching_elements() const; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; virtual Vector supported_property_names() const override; virtual bool is_supported_property_name(FlyString const&) const override; diff --git a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp index 447e53cef2b..7f2188862a6 100644 --- a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp +++ b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.cpp @@ -326,7 +326,7 @@ Attr const* NamedNodeMap::remove_attribute_ns(Optional const& namespa return attribute; } -WebIDL::ExceptionOr NamedNodeMap::item_value(size_t index) const +JS::Value NamedNodeMap::item_value(size_t index) const { auto const* node = item(index); if (!node) diff --git a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h index 55760db5093..8091ffac221 100644 --- a/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h +++ b/Userland/Libraries/LibWeb/DOM/NamedNodeMap.h @@ -26,7 +26,7 @@ public: virtual bool is_supported_property_index(u32 index) const override; virtual Vector supported_property_names() const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; size_t length() const { return m_attributes.size(); } diff --git a/Userland/Libraries/LibWeb/DOM/NodeList.cpp b/Userland/Libraries/LibWeb/DOM/NodeList.cpp index 5a5a1ef6625..1a01c1f7c3a 100644 --- a/Userland/Libraries/LibWeb/DOM/NodeList.cpp +++ b/Userland/Libraries/LibWeb/DOM/NodeList.cpp @@ -25,7 +25,7 @@ void NodeList::initialize(JS::Realm& realm) WEB_SET_PROTOTYPE_FOR_INTERFACE(NodeList); } -WebIDL::ExceptionOr NodeList::item_value(size_t index) const +JS::Value NodeList::item_value(size_t index) const { auto* node = item(index); if (!node) diff --git a/Userland/Libraries/LibWeb/DOM/NodeList.h b/Userland/Libraries/LibWeb/DOM/NodeList.h index 2180d999e07..a73cffe7846 100644 --- a/Userland/Libraries/LibWeb/DOM/NodeList.h +++ b/Userland/Libraries/LibWeb/DOM/NodeList.h @@ -21,7 +21,7 @@ public: virtual u32 length() const = 0; virtual Node const* item(u32 index) const = 0; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual bool is_supported_property_index(u32) const override; protected: diff --git a/Userland/Libraries/LibWeb/FileAPI/FileList.cpp b/Userland/Libraries/LibWeb/FileAPI/FileList.cpp index 15c530aa3fe..f5eec133a04 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileList.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/FileList.cpp @@ -56,7 +56,7 @@ bool FileList::is_supported_property_index(u32 index) const return index < m_files.size(); } -WebIDL::ExceptionOr FileList::item_value(size_t index) const +JS::Value FileList::item_value(size_t index) const { if (index >= m_files.size()) return JS::js_undefined(); diff --git a/Userland/Libraries/LibWeb/FileAPI/FileList.h b/Userland/Libraries/LibWeb/FileAPI/FileList.h index eb4c368c123..3e36506ab41 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileList.h +++ b/Userland/Libraries/LibWeb/FileAPI/FileList.h @@ -43,7 +43,7 @@ public: } virtual bool is_supported_property_index(u32 index) const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual StringView interface_name() const override { return "FileList"sv; } virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord& serialized, bool for_storage, HTML::SerializationMemory&) override; diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp b/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp index 21638100185..02f7d63cebb 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectList.cpp @@ -66,7 +66,7 @@ bool DOMRectList::is_supported_property_index(u32 index) const return index < m_rects.size(); } -WebIDL::ExceptionOr DOMRectList::item_value(size_t index) const +JS::Value DOMRectList::item_value(size_t index) const { if (index >= m_rects.size()) return JS::js_undefined(); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectList.h b/Userland/Libraries/LibWeb/Geometry/DOMRectList.h index 1323ff0444e..db8ed88b275 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectList.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectList.h @@ -27,7 +27,7 @@ public: DOMRect const* item(u32 index) const; virtual bool is_supported_property_index(u32) const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; private: DOMRectList(JS::Realm&, Vector>); diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.cpp b/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.cpp index 482343bd069..3049cd0f4c8 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.cpp @@ -219,7 +219,7 @@ bool HTMLAllCollection::is_supported_property_index(u32 index) const return index < collect_matching_elements().size(); } -WebIDL::ExceptionOr HTMLAllCollection::item_value(size_t index) const +JS::Value HTMLAllCollection::item_value(size_t index) const { return get_the_all_indexed_element(index); } diff --git a/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.h b/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.h index e866863f6f4..b6cd1595af4 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLAllCollection.h @@ -34,7 +34,7 @@ public: JS::MarkedVector> collect_matching_elements() const; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; virtual Vector supported_property_names() const override; virtual bool is_supported_property_index(u32) const override; diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp index bf3f1df02b0..fb0afdd4796 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.cpp @@ -935,7 +935,7 @@ bool HTMLFormElement::is_supported_property_index(u32 index) const } // https://html.spec.whatwg.org/multipage/forms.html#dom-form-item -WebIDL::ExceptionOr HTMLFormElement::item_value(size_t index) const +JS::Value HTMLFormElement::item_value(size_t index) const { // To determine the value of an indexed property for a form element, the user agent must return the value returned by // the item method on the elements collection, when invoked with the given index as its argument. diff --git a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h index e4a13b046ba..ec5c23aaee3 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h +++ b/Userland/Libraries/LibWeb/HTML/HTMLFormElement.h @@ -106,7 +106,7 @@ private: virtual void visit_edges(Cell::Visitor&) override; // ^PlatformObject - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; virtual Vector supported_property_names() const override; virtual bool is_supported_property_index(u32) const override; diff --git a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp index 2d2ccc05778..20126caef6f 100644 --- a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp +++ b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.cpp @@ -97,7 +97,7 @@ JS::GCPtr MimeTypeArray::named_item(FlyString const& name) const return nullptr; } -WebIDL::ExceptionOr MimeTypeArray::item_value(size_t index) const +JS::Value MimeTypeArray::item_value(size_t index) const { auto return_value = item(index); if (!return_value) diff --git a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h index 2dc26bbadb7..24f54d74f3c 100644 --- a/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h +++ b/Userland/Libraries/LibWeb/HTML/MimeTypeArray.h @@ -29,7 +29,7 @@ private: // ^Bindings::PlatformObject virtual Vector supported_property_names() const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; virtual bool is_supported_property_index(u32) const override; }; diff --git a/Userland/Libraries/LibWeb/HTML/Plugin.cpp b/Userland/Libraries/LibWeb/HTML/Plugin.cpp index 37c52a4316b..7b9efa04f86 100644 --- a/Userland/Libraries/LibWeb/HTML/Plugin.cpp +++ b/Userland/Libraries/LibWeb/HTML/Plugin.cpp @@ -120,7 +120,7 @@ JS::GCPtr Plugin::named_item(FlyString const& name) const return nullptr; } -WebIDL::ExceptionOr Plugin::item_value(size_t index) const +JS::Value Plugin::item_value(size_t index) const { auto return_value = item(index); if (!return_value) diff --git a/Userland/Libraries/LibWeb/HTML/Plugin.h b/Userland/Libraries/LibWeb/HTML/Plugin.h index e68f58acaa3..c8fac06f8cb 100644 --- a/Userland/Libraries/LibWeb/HTML/Plugin.h +++ b/Userland/Libraries/LibWeb/HTML/Plugin.h @@ -35,7 +35,7 @@ private: // ^Bindings::PlatformObject virtual Vector supported_property_names() const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; virtual bool is_supported_property_index(u32) const override; }; diff --git a/Userland/Libraries/LibWeb/HTML/PluginArray.cpp b/Userland/Libraries/LibWeb/HTML/PluginArray.cpp index 30e8368d2a5..8115ab9ccf2 100644 --- a/Userland/Libraries/LibWeb/HTML/PluginArray.cpp +++ b/Userland/Libraries/LibWeb/HTML/PluginArray.cpp @@ -106,7 +106,7 @@ JS::GCPtr PluginArray::named_item(FlyString const& name) const return nullptr; } -WebIDL::ExceptionOr PluginArray::item_value(size_t index) const +JS::Value PluginArray::item_value(size_t index) const { auto return_value = item(index); if (!return_value) diff --git a/Userland/Libraries/LibWeb/HTML/PluginArray.h b/Userland/Libraries/LibWeb/HTML/PluginArray.h index 3231da3028d..0f0dfcd37f4 100644 --- a/Userland/Libraries/LibWeb/HTML/PluginArray.h +++ b/Userland/Libraries/LibWeb/HTML/PluginArray.h @@ -30,7 +30,7 @@ private: // ^Bindings::PlatformObject virtual Vector supported_property_names() const override; - virtual WebIDL::ExceptionOr item_value(size_t index) const override; + virtual JS::Value item_value(size_t index) const override; virtual WebIDL::ExceptionOr named_item_value(FlyString const& name) const override; virtual bool is_supported_property_index(u32) const override; }; diff --git a/Userland/Services/WebContent/ConsoleGlobalEnvironmentExtensions.cpp b/Userland/Services/WebContent/ConsoleGlobalEnvironmentExtensions.cpp index 905738b8f1c..a4bbb7bd9d4 100644 --- a/Userland/Services/WebContent/ConsoleGlobalEnvironmentExtensions.cpp +++ b/Userland/Services/WebContent/ConsoleGlobalEnvironmentExtensions.cpp @@ -114,8 +114,7 @@ JS_DEFINE_NATIVE_FUNCTION(ConsoleGlobalEnvironmentExtensions::$$_function) auto array = TRY(JS::Array::create(*vm.current_realm(), node_list->length())); for (auto i = 0u; i < node_list->length(); ++i) { - // NOTE: NodeList::item_value cannot fail. - TRY(array->create_data_property_or_throw(i, MUST(node_list->item_value(i)))); + TRY(array->create_data_property_or_throw(i, node_list->item_value(i))); } return array;