浏览代码

LibWeb: Generate JavaScript bindings for `CSSKeyframeRule`

We still need to do a bit of work. For example: `set_key_text` isn't
implemented due to its requirements being quite complex, but it's
a start.
Caoimhe 2 年之前
父节点
当前提交
e3612708c7

+ 10 - 0
Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.h

@@ -32,6 +32,16 @@ public:
     CSS::Percentage key() const { return m_key; }
     JS::NonnullGCPtr<CSSStyleDeclaration> style() const { return m_declarations; }
 
+    DeprecatedString key_text() const
+    {
+        return m_key.to_string().release_value_but_fixme_should_propagate_errors().to_deprecated_string();
+    }
+
+    void set_key_text(DeprecatedString const& key_text)
+    {
+        dbgln("FIXME: CSSKeyframeRule::set_key_text is not implemented: {}", key_text);
+    }
+
 private:
     CSSKeyframeRule(JS::Realm& realm, CSS::Percentage key, CSSStyleDeclaration& declarations)
         : CSSRule(realm)

+ 1 - 1
Userland/Libraries/LibWeb/CSS/CSSKeyframeRule.idl

@@ -1,6 +1,6 @@
 #import <CSS/CSSRule.idl>
 
-[Exposed = Window]
+[Exposed=Window]
 interface CSSKeyframeRule : CSSRule {
     attribute CSSOMString keyText;
     [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;

+ 1 - 0
Userland/Libraries/LibWeb/idl_files.cmake

@@ -7,6 +7,7 @@ libweb_js_bindings(CSS/CSSConditionRule)
 libweb_js_bindings(CSS/CSSFontFaceRule)
 libweb_js_bindings(CSS/CSSGroupingRule)
 libweb_js_bindings(CSS/CSSImportRule)
+libweb_js_bindings(CSS/CSSKeyframeRule)
 libweb_js_bindings(CSS/CSSMediaRule)
 libweb_js_bindings(CSS/CSS NAMESPACE)
 libweb_js_bindings(CSS/CSSRule)