Add binding function to create empty DeclarationBlock

This commit is contained in:
Xidorn Quan 2016-11-03 14:44:27 +11:00
parent 70641a777a
commit 0b0ff2b152
2 changed files with 9 additions and 0 deletions

View file

@ -922,6 +922,10 @@ extern "C" {
pub fn Servo_ParseStyleAttribute(data: *const nsACString_internal) pub fn Servo_ParseStyleAttribute(data: *const nsACString_internal)
-> RawServoDeclarationBlockStrong; -> RawServoDeclarationBlockStrong;
} }
extern "C" {
pub fn Servo_DeclarationBlock_CreateEmpty()
-> RawServoDeclarationBlockStrong;
}
extern "C" { extern "C" {
pub fn Servo_DeclarationBlock_Equals(a: RawServoDeclarationBlockBorrowed, pub fn Servo_DeclarationBlock_Equals(a: RawServoDeclarationBlockBorrowed,
b: RawServoDeclarationBlockBorrowed) b: RawServoDeclarationBlockBorrowed)

View file

@ -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() 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] #[no_mangle]
pub extern "C" fn Servo_DeclarationBlock_AddRef(declarations: RawServoDeclarationBlockBorrowed) { pub extern "C" fn Servo_DeclarationBlock_AddRef(declarations: RawServoDeclarationBlockBorrowed) {
unsafe { RwLock::<PropertyDeclarationBlock>::addref(declarations) }; unsafe { RwLock::<PropertyDeclarationBlock>::addref(declarations) };