diff --git a/Userland/Libraries/LibWeb/Bindings/PlatformObject.h b/Userland/Libraries/LibWeb/Bindings/PlatformObject.h index f63abc9149..51b98bb790 100644 --- a/Userland/Libraries/LibWeb/Bindings/PlatformObject.h +++ b/Userland/Libraries/LibWeb/Bindings/PlatformObject.h @@ -12,13 +12,13 @@ namespace Web::Bindings { -#define WEB_PLATFORM_OBJECT(class_, base_class) \ - JS_OBJECT(class_, base_class) \ - virtual bool implements_interface(ByteString const& interface) const override \ - { \ - if (interface == #class_) \ - return true; \ - return Base::implements_interface(interface); \ +#define WEB_PLATFORM_OBJECT(class_, base_class) \ + JS_OBJECT(class_, base_class) \ + virtual bool implements_interface(String const& interface) const override \ + { \ + if (interface == #class_) \ + return true; \ + return Base::implements_interface(interface); \ } // https://webidl.spec.whatwg.org/#dfn-platform-object @@ -37,7 +37,7 @@ public: // https://webidl.spec.whatwg.org/#implements // This is implemented by overrides that get generated by the WEB_PLATFORM_OBJECT macro. - [[nodiscard]] virtual bool implements_interface(ByteString const&) const { return false; } + [[nodiscard]] virtual bool implements_interface(String const&) const { return false; } protected: explicit PlatformObject(JS::Realm&, MayInterfereWithIndexedPropertyAccess = MayInterfereWithIndexedPropertyAccess::No); diff --git a/Userland/Libraries/LibWeb/WebIDL/OverloadResolution.cpp b/Userland/Libraries/LibWeb/WebIDL/OverloadResolution.cpp index 4298a8b527..8678c460b2 100644 --- a/Userland/Libraries/LibWeb/WebIDL/OverloadResolution.cpp +++ b/Userland/Libraries/LibWeb/WebIDL/OverloadResolution.cpp @@ -165,7 +165,7 @@ JS::ThrowCompletionOr resolve_overload(JS::VM& vm, IDL::Effect else if (value.is_object() && is(value.as_object()) && has_overload_with_argument_type_or_subtype_matching(overloads, i, [value](IDL::Type const& type) { // - an interface type that V implements - if (static_cast(value.as_object()).implements_interface(type.name())) + if (static_cast(value.as_object()).implements_interface(MUST(String::from_byte_string(type.name())))) return true; // - object