mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Fix mismatched arguments for Servo_SelectorXXX.
This commit is contained in:
parent
e3624e62a4
commit
175b88afcf
2 changed files with 20 additions and 6 deletions
|
@ -7,7 +7,10 @@
|
||||||
use cssparser::{BasicParseError, Parser, ToCss, Token, CowRcStr};
|
use cssparser::{BasicParseError, Parser, ToCss, Token, CowRcStr};
|
||||||
use element_state::ElementState;
|
use element_state::ElementState;
|
||||||
use gecko_bindings::structs::CSSPseudoClassType;
|
use gecko_bindings::structs::CSSPseudoClassType;
|
||||||
|
use gecko_bindings::structs::RawServoSelectorList;
|
||||||
|
use gecko_bindings::sugar::ownership::{HasBoxFFI, HasFFI, HasSimpleFFI};
|
||||||
use selector_parser::{SelectorParser, PseudoElementCascadeType};
|
use selector_parser::{SelectorParser, PseudoElementCascadeType};
|
||||||
|
use selectors::SelectorList;
|
||||||
use selectors::parser::{Selector, SelectorMethods, SelectorParseError};
|
use selectors::parser::{Selector, SelectorMethods, SelectorParseError};
|
||||||
use selectors::visitor::SelectorVisitor;
|
use selectors::visitor::SelectorVisitor;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
@ -438,3 +441,9 @@ fn utf16_to_ascii_lowercase(unit: u16) -> u16 {
|
||||||
_ => unit
|
_ => unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsafe impl HasFFI for SelectorList<SelectorImpl> {
|
||||||
|
type FFIType = RawServoSelectorList;
|
||||||
|
}
|
||||||
|
unsafe impl HasSimpleFFI for SelectorList<SelectorImpl> {}
|
||||||
|
unsafe impl HasBoxFFI for SelectorList<SelectorImpl> {}
|
||||||
|
|
|
@ -43,6 +43,7 @@ use style::gecko_bindings::bindings::{RawServoMediaListBorrowed, RawServoMediaLi
|
||||||
use style::gecko_bindings::bindings::{RawServoMediaRule, RawServoMediaRuleBorrowed};
|
use style::gecko_bindings::bindings::{RawServoMediaRule, RawServoMediaRuleBorrowed};
|
||||||
use style::gecko_bindings::bindings::{RawServoNamespaceRule, RawServoNamespaceRuleBorrowed};
|
use style::gecko_bindings::bindings::{RawServoNamespaceRule, RawServoNamespaceRuleBorrowed};
|
||||||
use style::gecko_bindings::bindings::{RawServoPageRule, RawServoPageRuleBorrowed};
|
use style::gecko_bindings::bindings::{RawServoPageRule, RawServoPageRuleBorrowed};
|
||||||
|
use style::gecko_bindings::bindings::{RawServoSelectorListBorrowed, RawServoSelectorListOwned};
|
||||||
use style::gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSetOwned};
|
use style::gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSetOwned};
|
||||||
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsBorrowed, ServoComputedDataBorrowed};
|
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsBorrowed, ServoComputedDataBorrowed};
|
||||||
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsStrong, ServoStyleContextBorrowed};
|
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsStrong, ServoStyleContextBorrowed};
|
||||||
|
@ -91,6 +92,7 @@ use style::gecko_bindings::structs::OriginFlags_User;
|
||||||
use style::gecko_bindings::structs::OriginFlags_UserAgent;
|
use style::gecko_bindings::structs::OriginFlags_UserAgent;
|
||||||
use style::gecko_bindings::structs::RawGeckoGfxMatrix4x4;
|
use style::gecko_bindings::structs::RawGeckoGfxMatrix4x4;
|
||||||
use style::gecko_bindings::structs::RawGeckoPresContextOwned;
|
use style::gecko_bindings::structs::RawGeckoPresContextOwned;
|
||||||
|
use style::gecko_bindings::structs::RawServoSelectorList;
|
||||||
use style::gecko_bindings::structs::SeenPtrs;
|
use style::gecko_bindings::structs::SeenPtrs;
|
||||||
use style::gecko_bindings::structs::ServoElementSnapshotTable;
|
use style::gecko_bindings::structs::ServoElementSnapshotTable;
|
||||||
use style::gecko_bindings::structs::ServoStyleSetSizes;
|
use style::gecko_bindings::structs::ServoStyleSetSizes;
|
||||||
|
@ -1521,8 +1523,10 @@ pub extern "C" fn Servo_StyleRule_SelectorMatchesElement(rule: RawServoStyleRule
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub unsafe extern "C" fn Servo_SelectorList_Matches(
|
pub unsafe extern "C" fn Servo_SelectorList_Matches(
|
||||||
element: RawGeckoElementBorrowed,
|
element: RawGeckoElementBorrowed,
|
||||||
selectors: &::selectors::SelectorList<SelectorImpl>,
|
selectors: RawServoSelectorListBorrowed,
|
||||||
) -> bool {
|
) -> bool {
|
||||||
|
use std::borrow::Borrow;
|
||||||
|
|
||||||
let element = GeckoElement(element);
|
let element = GeckoElement(element);
|
||||||
let mut context = MatchingContext::new(
|
let mut context = MatchingContext::new(
|
||||||
MatchingMode::Normal,
|
MatchingMode::Normal,
|
||||||
|
@ -1531,7 +1535,8 @@ pub unsafe extern "C" fn Servo_SelectorList_Matches(
|
||||||
element.owner_document_quirks_mode(),
|
element.owner_document_quirks_mode(),
|
||||||
);
|
);
|
||||||
|
|
||||||
selectors::matching::matches_selector_list(selectors, &element, &mut context)
|
let selectors = ::selectors::SelectorList::from_ffi(selectors).borrow();
|
||||||
|
selectors::matching::matches_selector_list(&selectors, &element, &mut context)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
@ -4112,7 +4117,7 @@ pub extern "C" fn Servo_HasPendingRestyleAncestor(element: RawGeckoElementBorrow
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub unsafe extern "C" fn Servo_SelectorList_Parse(
|
pub unsafe extern "C" fn Servo_SelectorList_Parse(
|
||||||
selector_list: *const nsACString,
|
selector_list: *const nsACString,
|
||||||
) -> *mut ::selectors::SelectorList<SelectorImpl> {
|
) -> *mut RawServoSelectorList {
|
||||||
use style::selector_parser::SelectorParser;
|
use style::selector_parser::SelectorParser;
|
||||||
|
|
||||||
debug_assert!(!selector_list.is_null());
|
debug_assert!(!selector_list.is_null());
|
||||||
|
@ -4123,10 +4128,10 @@ pub unsafe extern "C" fn Servo_SelectorList_Parse(
|
||||||
Err(..) => return ptr::null_mut(),
|
Err(..) => return ptr::null_mut(),
|
||||||
};
|
};
|
||||||
|
|
||||||
Box::into_raw(Box::new(selector_list))
|
Box::into_raw(Box::new(selector_list)) as *mut RawServoSelectorList
|
||||||
}
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub unsafe extern "C" fn Servo_SelectorList_Drop(list: *mut ::selectors::SelectorList<SelectorImpl>) {
|
pub unsafe extern "C" fn Servo_SelectorList_Drop(list: RawServoSelectorListOwned) {
|
||||||
let _ = Box::from_raw(list);
|
let _ = list.into_box::<::selectors::SelectorList<SelectorImpl>>();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue