mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
stylo: Fix nsCOMPtr release bindings.
This commit is contained in:
parent
81f273b66f
commit
29c52cc61b
4 changed files with 13 additions and 9 deletions
|
@ -1060,7 +1060,7 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
|
|||
|
||||
fn get_local_name(&self) -> &WeakAtom {
|
||||
unsafe {
|
||||
WeakAtom::new(self.as_node().node_info().mInner.mName.raw())
|
||||
WeakAtom::new(self.as_node().node_info().mInner.mName.raw::<nsIAtom>())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,18 +6,20 @@
|
|||
|
||||
use gecko_bindings::structs::nsCOMPtr;
|
||||
|
||||
#[cfg(feature = "gecko_debug")]
|
||||
impl<T> nsCOMPtr<T> {
|
||||
/// Get this pointer as a raw pointer.
|
||||
#[cfg(feature = "gecko_debug")]
|
||||
#[inline]
|
||||
pub fn raw(&self) -> *mut T {
|
||||
pub fn raw<U>(&self) -> *mut T {
|
||||
self.mRawPtr
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "gecko_debug"))]
|
||||
impl nsCOMPtr {
|
||||
/// Get this pointer as a raw pointer.
|
||||
#[cfg(not(feature = "gecko_debug"))]
|
||||
#[inline]
|
||||
pub fn raw(&self) -> *mut T {
|
||||
pub fn raw<T>(&self) -> *mut T {
|
||||
self._base.mRawPtr as *mut _
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2273,10 +2273,11 @@ fn static_assert() {
|
|||
use gecko_bindings::structs::nsCSSPropertyID::eCSSPropertyExtra_no_properties;
|
||||
use gecko_bindings::structs::nsCSSPropertyID::eCSSPropertyExtra_variable;
|
||||
use gecko_bindings::structs::nsCSSPropertyID::eCSSProperty_UNKNOWN;
|
||||
use gecko_bindings::structs::nsIAtom;
|
||||
|
||||
let property = self.gecko.mTransitions[index].mProperty;
|
||||
if property == eCSSProperty_UNKNOWN || property == eCSSPropertyExtra_variable {
|
||||
let atom = self.gecko.mTransitions[index].mUnknownProperty.raw();
|
||||
let atom = self.gecko.mTransitions[index].mUnknownProperty.raw::<nsIAtom>();
|
||||
debug_assert!(!atom.is_null());
|
||||
TransitionProperty::Unsupported(atom.into())
|
||||
} else if property == eCSSPropertyExtra_no_properties {
|
||||
|
@ -2295,6 +2296,7 @@ fn static_assert() {
|
|||
pub fn copy_transition_property_from(&mut self, other: &Self) {
|
||||
use gecko_bindings::structs::nsCSSPropertyID::eCSSPropertyExtra_variable;
|
||||
use gecko_bindings::structs::nsCSSPropertyID::eCSSProperty_UNKNOWN;
|
||||
use gecko_bindings::structs::nsIAtom;
|
||||
unsafe { self.gecko.mTransitions.ensure_len(other.gecko.mTransitions.len()) };
|
||||
|
||||
let count = other.gecko.mTransitionPropertyCount;
|
||||
|
@ -2304,7 +2306,7 @@ fn static_assert() {
|
|||
transition.mProperty = other.gecko.mTransitions[index].mProperty;
|
||||
if transition.mProperty == eCSSProperty_UNKNOWN ||
|
||||
transition.mProperty == eCSSPropertyExtra_variable {
|
||||
let atom = other.gecko.mTransitions[index].mUnknownProperty.raw();
|
||||
let atom = other.gecko.mTransitions[index].mUnknownProperty.raw::<nsIAtom>();
|
||||
debug_assert!(!atom.is_null());
|
||||
unsafe { Gecko_StyleTransition_SetUnsupportedProperty(transition, atom) };
|
||||
}
|
||||
|
|
|
@ -695,7 +695,7 @@ ${helpers.single_keyword_system("font-variant-caps",
|
|||
#[inline]
|
||||
fn to_computed_value(&self, cx: &Context) -> computed_value::T {
|
||||
use gecko_bindings::bindings::Gecko_GetBaseSize;
|
||||
use gecko_bindings::structs;
|
||||
use gecko_bindings::structs::{self, nsIAtom};
|
||||
use values::specified::length::au_to_int_px;
|
||||
// Data from nsRuleNode.cpp in Gecko
|
||||
// Mapping from base size and HTML size to pixels
|
||||
|
@ -721,7 +721,7 @@ ${helpers.single_keyword_system("font-variant-caps",
|
|||
// XXXManishearth handle quirks mode
|
||||
|
||||
let ref gecko_font = cx.style().get_font().gecko();
|
||||
let base_size = unsafe { Atom::with(gecko_font.mLanguage.raw(), &mut |atom| {
|
||||
let base_size = unsafe { Atom::with(gecko_font.mLanguage.raw::<nsIAtom>(), &mut |atom| {
|
||||
cx.font_metrics_provider.get_size(atom, gecko_font.mGenericID).0
|
||||
}) };
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue