diff --git a/components/style/gecko_bindings/bindings.rs b/components/style/gecko_bindings/bindings.rs index 4a5350f0134..e9cb580d217 100644 --- a/components/style/gecko_bindings/bindings.rs +++ b/components/style/gecko_bindings/bindings.rs @@ -922,6 +922,10 @@ extern "C" { pub fn Servo_ParseStyleAttribute(data: *const nsACString_internal) -> RawServoDeclarationBlockStrong; } +extern "C" { + pub fn Servo_DeclarationBlock_CreateEmpty() + -> RawServoDeclarationBlockStrong; +} extern "C" { pub fn Servo_DeclarationBlock_Equals(a: RawServoDeclarationBlockBorrowed, b: RawServoDeclarationBlockBorrowed) diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 4b2fe8d5e77..ba4a023b715 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -420,6 +420,11 @@ pub extern "C" fn Servo_ParseStyleAttribute(data: *const nsACString) -> RawServo Arc::new(RwLock::new(GeckoElement::parse_style_attribute(value))).into_strong() } +#[no_mangle] +pub extern "C" fn Servo_DeclarationBlock_CreateEmpty() -> RawServoDeclarationBlockStrong { + Arc::new(RwLock::new(PropertyDeclarationBlock { declarations: vec![], important_count: 0 })).into_strong() +} + #[no_mangle] pub extern "C" fn Servo_DeclarationBlock_AddRef(declarations: RawServoDeclarationBlockBorrowed) { unsafe { RwLock::::addref(declarations) };