diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp index 693299f573..4410b685a5 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp @@ -407,6 +407,8 @@ JS::ThrowCompletionOr CSSStyleDeclaration::internal_has_property(JS::Prope JS::ThrowCompletionOr CSSStyleDeclaration::internal_get(JS::PropertyKey const& name, JS::Value receiver, JS::CacheablePropertyMetadata* cacheable_metadata) const { + if (name.is_number()) + return { JS::PrimitiveString::create(vm(), item(name.as_number())) }; if (!name.is_string()) return Base::internal_get(name, receiver, cacheable_metadata); auto property_id = property_id_from_name(name.to_string()); diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.idl b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.idl index 725ca646bc..66078eb20a 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.idl +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.idl @@ -5,7 +5,7 @@ interface CSSStyleDeclaration { [CEReactions] attribute CSSOMString cssText; readonly attribute unsigned long length; - CSSOMString item(unsigned long index); + getter CSSOMString item(unsigned long index); CSSOMString getPropertyValue(CSSOMString property); CSSOMString getPropertyPriority(CSSOMString property); @@ -13,4 +13,6 @@ interface CSSStyleDeclaration { [CEReactions] undefined setProperty(CSSOMString property, [LegacyNullToEmptyString] CSSOMString value, optional [LegacyNullToEmptyString] CSSOMString priority = ""); [CEReactions] CSSOMString removeProperty(CSSOMString property); + // FIXME: readonly attribute CSSRule? parentRule; + // FIXME: [CEReactions] attribute [LegacyNullToEmptyString] CSSOMString cssFloat; };