style: Rename StyleContext to ComputedStyle.

Bug: 1447483
Reviewed-by: jwatt
MozReview-Commit-ID: KATZ6DkmpVY
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
This commit is contained in:
Emilio Cobos Álvarez 2018-03-21 15:01:00 +01:00
parent 2de89377db
commit bd70c405b4
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
8 changed files with 148 additions and 148 deletions

View file

@ -116,19 +116,19 @@ pub unsafe extern "C" fn Servo_RuleNode_Release(obj: &RawServoRuleNode) {
ptr::read(ptr as *const StrongRuleNode);
}
// ServoStyleContext is not an opaque type on any side of FFI.
// ComputedStyle is not an opaque type on any side of FFI.
// This means that doing the HasArcFFI type trick is actually unsound,
// since it gives us a way to construct an Arc<ServoStyleContext> from
// an &ServoStyleContext, which in general is not allowed. So we
// since it gives us a way to construct an Arc<ComputedStyle> from
// an &ComputedStyle, which in general is not allowed. So we
// implement the restricted set of arc type functionality we need.
#[no_mangle]
pub unsafe extern "C" fn Servo_StyleContext_AddRef(obj: &ComputedValues) {
pub unsafe extern "C" fn Servo_ComputedStyle_AddRef(obj: &ComputedValues) {
mem::forget(ArcBorrow::from_ref(obj).clone_arc());
}
#[no_mangle]
pub unsafe extern "C" fn Servo_StyleContext_Release(obj: &ComputedValues) {
pub unsafe extern "C" fn Servo_ComputedStyle_Release(obj: &ComputedValues) {
ArcBorrow::from_ref(obj).with_arc(|a: &Arc<ComputedValues>| {
let _: Arc<ComputedValues> = ptr::read(a);
});

View file

@ -5,8 +5,8 @@ use gecko_bindings::structs::nsStyleTransformMatrix;
use gecko_bindings::structs::nsTArray;
type nsACString_internal = nsACString;
type nsAString_internal = nsAString;
pub type ServoStyleContextBorrowed<'a> = &'a ::properties::ComputedValues;
pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>;
pub type ComputedStyleBorrowed<'a> = &'a ::properties::ComputedValues;
pub type ComputedStyleBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>;
pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData;
pub type RawServoAnimationValueTableBorrowed<'a> = &'a ();
use gecko_bindings::structs::mozilla::css::GridTemplateAreasValue;
@ -118,9 +118,9 @@ unsafe impl Sync for nsStyleContentData_CounterFunction {}
use gecko_bindings::structs::nsStyleContentType;
unsafe impl Send for nsStyleContentType {}
unsafe impl Sync for nsStyleContentType {}
use gecko_bindings::structs::nsStyleContext;
unsafe impl Send for nsStyleContext {}
unsafe impl Sync for nsStyleContext {}
use gecko_bindings::structs::ComputedStyle;
unsafe impl Send for ComputedStyle {}
unsafe impl Sync for ComputedStyle {}
use gecko_bindings::structs::nsStyleCoord;
unsafe impl Send for nsStyleCoord {}
unsafe impl Sync for nsStyleCoord {}
@ -238,8 +238,8 @@ use gecko_bindings::structs::LoaderReusableStyleSheets;
use gecko_bindings::structs::SheetLoadData;
use gecko_bindings::structs::ServoStyleSheet;
use gecko_bindings::structs::ServoComputedData;
use gecko_bindings::structs::ServoStyleContext;
use gecko_bindings::structs::ServoStyleContextStrong;
use gecko_bindings::structs::ComputedStyle;
use gecko_bindings::structs::ComputedStyleStrong;
use gecko_bindings::structs::EffectCompositor_CascadeLevel;
use gecko_bindings::structs::UpdateAnimationsTasks;
use gecko_bindings::structs::ParsingMode;
@ -586,9 +586,9 @@ extern "C" {
pub fn Gecko_DestroyAnonymousContentList(anon_content: *mut nsTArray<*mut nsIContent>);
}
extern "C" {
pub fn Gecko_ServoStyleContext_Init(
context: *mut ServoStyleContext,
parent_context: ServoStyleContextBorrowedOrNull,
pub fn Gecko_ComputedStyle_Init(
context: *mut ComputedStyle,
parent_context: ComputedStyleBorrowedOrNull,
pres_context: RawGeckoPresContextBorrowed,
values: ServoComputedDataBorrowed,
pseudo_type: CSSPseudoElementType,
@ -596,7 +596,7 @@ extern "C" {
);
}
extern "C" {
pub fn Gecko_ServoStyleContext_Destroy(context: *mut ServoStyleContext);
pub fn Gecko_ComputedStyle_Destroy(context: *mut ComputedStyle);
}
extern "C" {
pub fn Gecko_ConstructStyleChildrenIterator(
@ -879,8 +879,8 @@ extern "C" {
extern "C" {
pub fn Gecko_UpdateAnimations(
aElementOrPseudo: RawGeckoElementBorrowed,
aOldComputedValues: ServoStyleContextBorrowedOrNull,
aComputedValues: ServoStyleContextBorrowedOrNull,
aOldComputedValues: ComputedStyleBorrowedOrNull,
aComputedValues: ComputedStyleBorrowedOrNull,
aTasks: UpdateAnimationsTasks,
);
}
@ -1173,8 +1173,8 @@ extern "C" {
}
extern "C" {
pub fn Gecko_CalcStyleDifference(
old_style: ServoStyleContextBorrowed,
new_style: ServoStyleContextBorrowed,
old_style: ComputedStyleBorrowed,
new_style: ComputedStyleBorrowed,
any_style_changed: *mut bool,
reset_only_changed: *mut bool,
) -> u32;
@ -1989,7 +1989,7 @@ extern "C" {
extern "C" {
pub fn Servo_Element_GetPrimaryComputedValues(
node: RawGeckoElementBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_Element_HasPseudoComputedValues(
@ -2001,7 +2001,7 @@ extern "C" {
pub fn Servo_Element_GetPseudoComputedValues(
node: RawGeckoElementBorrowed,
index: usize,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_Element_IsDisplayNone(element: RawGeckoElementBorrowed) -> bool;
@ -2160,9 +2160,9 @@ extern "C" {
extern "C" {
pub fn Servo_StyleSet_ResolveForDeclarations(
set: RawServoStyleSetBorrowed,
parent_style: ServoStyleContextBorrowedOrNull,
parent_style: ComputedStyleBorrowedOrNull,
declarations: RawServoDeclarationBlockBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_SelectorList_Parse(selector_list: *const nsACString) -> *mut RawServoSelectorList;
@ -2257,10 +2257,10 @@ extern "C" {
) -> usize;
}
extern "C" {
pub fn Servo_StyleContext_AddRef(ctx: ServoStyleContextBorrowed);
pub fn Servo_ComputedStyle_AddRef(ctx: ComputedStyleBorrowed);
}
extern "C" {
pub fn Servo_StyleContext_Release(ctx: ServoStyleContextBorrowed);
pub fn Servo_ComputedStyle_Release(ctx: ComputedStyleBorrowed);
}
extern "C" {
pub fn Servo_StyleSet_MightHaveAttributeDependency(
@ -2637,20 +2637,20 @@ extern "C" {
pub fn Servo_GetComputedKeyframeValues(
keyframes: RawGeckoKeyframeListBorrowed,
element: RawGeckoElementBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
set: RawServoStyleSetBorrowed,
result: RawGeckoComputedKeyframeValuesListBorrowedMut,
);
}
extern "C" {
pub fn Servo_ComputedValues_ExtractAnimationValue(
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
property: nsCSSPropertyID,
) -> RawServoAnimationValueStrong;
}
extern "C" {
pub fn Servo_ComputedValues_SpecifiesAnimationsOrTransitions(
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
) -> bool;
}
extern "C" {
@ -2682,7 +2682,7 @@ extern "C" {
pub fn Servo_GetAnimationValues(
declarations: RawServoDeclarationBlockBorrowed,
element: RawGeckoElementBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
style_set: RawServoStyleSetBorrowed,
animation_values: RawGeckoServoAnimationValueListBorrowedMut,
);
@ -2770,7 +2770,7 @@ extern "C" {
pub fn Servo_AnimationValue_Compute(
element: RawGeckoElementBorrowed,
declarations: RawServoDeclarationBlockBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
raw_data: RawServoStyleSetBorrowed,
) -> RawServoAnimationValueStrong;
}
@ -2807,7 +2807,7 @@ extern "C" {
declarations: RawServoDeclarationBlockBorrowed,
property: nsCSSPropertyID,
buffer: *mut nsAString,
computed_values: ServoStyleContextBorrowedOrNull,
computed_values: ComputedStyleBorrowedOrNull,
custom_properties: RawServoDeclarationBlockBorrowedOrNull,
);
}
@ -3049,21 +3049,21 @@ extern "C" {
}
extern "C" {
pub fn Servo_ComputedValues_GetForAnonymousBox(
parent_style_or_null: ServoStyleContextBorrowedOrNull,
parent_style_or_null: ComputedStyleBorrowedOrNull,
pseudo_tag: *mut nsAtom,
set: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_ComputedValues_Inherit(
set: RawServoStyleSetBorrowed,
pseudo_tag: *mut nsAtom,
parent_style: ServoStyleContextBorrowedOrNull,
parent_style: ComputedStyleBorrowedOrNull,
target: InheritTarget,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_ComputedValues_GetStyleBits(values: ServoStyleContextBorrowed) -> u64;
pub fn Servo_ComputedValues_GetStyleBits(values: ComputedStyleBorrowed) -> u64;
}
extern "C" {
pub fn Servo_ComputedValues_EqualCustomProperties(
@ -3073,7 +3073,7 @@ extern "C" {
}
extern "C" {
pub fn Servo_ComputedValues_GetStyleRuleList(
values: ServoStyleContextBorrowed,
values: ComputedStyleBorrowed,
rules: RawGeckoServoStyleRuleListBorrowedMut,
);
}
@ -3100,35 +3100,35 @@ extern "C" {
pub fn Servo_ResolveStyle(
element: RawGeckoElementBorrowed,
set: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_ResolvePseudoStyle(
element: RawGeckoElementBorrowed,
pseudo_type: CSSPseudoElementType,
is_probe: bool,
inherited_style: ServoStyleContextBorrowedOrNull,
inherited_style: ComputedStyleBorrowedOrNull,
set: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_ComputedValues_ResolveXULTreePseudoStyle(
element: RawGeckoElementBorrowed,
pseudo_tag: *mut nsAtom,
inherited_style: ServoStyleContextBorrowed,
inherited_style: ComputedStyleBorrowed,
input_word: *const AtomArray,
set: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_SetExplicitStyle(
element: RawGeckoElementBorrowed,
primary_style: ServoStyleContextBorrowed,
primary_style: ComputedStyleBorrowed,
);
}
extern "C" {
pub fn Servo_HasAuthorSpecifiedRules(
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
element: RawGeckoElementBorrowed,
pseudo_type: CSSPseudoElementType,
rule_type_mask: u32,
@ -3142,17 +3142,17 @@ extern "C" {
rule_inclusion: StyleRuleInclusion,
snapshots: *const ServoElementSnapshotTable,
set: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_ReparentStyle(
style_to_reparent: ServoStyleContextBorrowed,
parent_style: ServoStyleContextBorrowed,
parent_style_ignoring_first_line: ServoStyleContextBorrowed,
layout_parent_style: ServoStyleContextBorrowed,
style_to_reparent: ComputedStyleBorrowed,
parent_style: ComputedStyleBorrowed,
parent_style_ignoring_first_line: ComputedStyleBorrowed,
layout_parent_style: ComputedStyleBorrowed,
element: RawGeckoElementBorrowedOrNull,
set: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_TraverseSubtree(
@ -3175,18 +3175,18 @@ extern "C" {
pub fn Servo_StyleSet_GetBaseComputedValuesForElement(
set: RawServoStyleSetBorrowed,
element: RawGeckoElementBorrowed,
existing_style: ServoStyleContextBorrowed,
existing_style: ComputedStyleBorrowed,
snapshots: *const ServoElementSnapshotTable,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_StyleSet_GetComputedValuesByAddingAnimation(
set: RawServoStyleSetBorrowed,
element: RawGeckoElementBorrowed,
existing_style: ServoStyleContextBorrowed,
existing_style: ComputedStyleBorrowed,
snapshots: *const ServoElementSnapshotTable,
animation: RawServoAnimationValueBorrowed,
) -> ServoStyleContextStrong;
) -> ComputedStyleStrong;
}
extern "C" {
pub fn Servo_SerializeFontValueForCanvas(
@ -3196,17 +3196,17 @@ extern "C" {
}
extern "C" {
pub fn Servo_GetCustomPropertyValue(
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
name: *const nsAString,
value: *mut nsAString,
) -> bool;
}
extern "C" {
pub fn Servo_GetCustomPropertiesCount(computed_values: ServoStyleContextBorrowed) -> u32;
pub fn Servo_GetCustomPropertiesCount(computed_values: ComputedStyleBorrowed) -> u32;
}
extern "C" {
pub fn Servo_GetCustomPropertyNameAt(
arg1: ServoStyleContextBorrowed,
arg1: ComputedStyleBorrowed,
index: u32,
name: *mut nsAString,
) -> bool;

View file

@ -15,7 +15,7 @@ pub type ServoRuleNode = Option<::rule_tree::StrongRuleNode>;
pub type ServoVisitedStyle = Option<::servo_arc::RawOffsetArc<::properties::ComputedValues>>;
pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedValueFlags;
pub type ServoRawOffsetArc<T> = ::servo_arc::RawOffsetArc<T>;
pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>;
pub type ComputedStyleStrong = ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>;
#[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
pub mod root {
@ -1130,7 +1130,7 @@ pub mod root {
}
pub type Conditional_Type<A> = A;
pub const ArenaObjectID_eArenaObjectID_DummyBeforeFirstObjectID : root :: mozilla :: ArenaObjectID = 171 ;
pub const ArenaObjectID_eArenaObjectID_GeckoStyleContext: root::mozilla::ArenaObjectID =
pub const ArenaObjectID_eArenaObjectID_GeckoComputedStyle: root::mozilla::ArenaObjectID =
172;
pub const ArenaObjectID_eArenaObjectID_nsLineBox: root::mozilla::ArenaObjectID = 173;
pub const ArenaObjectID_eArenaObjectID_nsRuleNode: root::mozilla::ArenaObjectID = 174;
@ -13399,57 +13399,57 @@ pub mod root {
);
}
#[repr(C)]
pub struct ServoStyleContext {
pub _base: root::nsStyleContext,
pub struct ComputedStyle {
pub _base: root::ComputedStyle,
pub mPresContext: *mut root::nsPresContext,
pub mSource: root::ServoComputedData,
pub mCachedInheritingStyles: root::mozilla::CachedInheritingStyles,
}
#[test]
fn bindgen_test_layout_ServoStyleContext() {
fn bindgen_test_layout_ComputedStyle() {
assert_eq!(
::std::mem::size_of::<ServoStyleContext>(),
::std::mem::size_of::<ComputedStyle>(),
248usize,
concat!("Size of: ", stringify!(ServoStyleContext))
concat!("Size of: ", stringify!(ComputedStyle))
);
assert_eq!(
::std::mem::align_of::<ServoStyleContext>(),
::std::mem::align_of::<ComputedStyle>(),
8usize,
concat!("Alignment of ", stringify!(ServoStyleContext))
concat!("Alignment of ", stringify!(ComputedStyle))
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<ServoStyleContext>())).mPresContext as *const _ as usize
&(*(::std::ptr::null::<ComputedStyle>())).mPresContext as *const _ as usize
},
16usize,
concat!(
"Offset of field: ",
stringify!(ServoStyleContext),
stringify!(ComputedStyle),
"::",
stringify!(mPresContext)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<ServoStyleContext>())).mSource as *const _ as usize
&(*(::std::ptr::null::<ComputedStyle>())).mSource as *const _ as usize
},
24usize,
concat!(
"Offset of field: ",
stringify!(ServoStyleContext),
stringify!(ComputedStyle),
"::",
stringify!(mSource)
)
);
assert_eq!(
unsafe {
&(*(::std::ptr::null::<ServoStyleContext>())).mCachedInheritingStyles
&(*(::std::ptr::null::<ComputedStyle>())).mCachedInheritingStyles
as *const _ as usize
},
240usize,
concat!(
"Offset of field: ",
stringify!(ServoStyleContext),
stringify!(ComputedStyle),
"::",
stringify!(mCachedInheritingStyles)
)
@ -17243,7 +17243,7 @@ pub mod root {
/// has changed whether the frame is a container for fixed-pos or abs-pos
/// elements, but reframing is otherwise not needed.
///
/// Note that nsStyleContext::CalcStyleDifference adjusts results
/// Note that ComputedStyle::CalcStyleDifference adjusts results
/// returned by style struct CalcDifference methods to return this hint
/// only if there was a change to whether the element's overall style
/// indicates that it establishes a containing block.
@ -24148,8 +24148,8 @@ pub mod root {
pub type RawGeckoCSSPropertyIDList = root::nsTArray<root::nsCSSPropertyID>;
pub type RawGeckoGfxMatrix4x4 = [root::mozilla::gfx::Float; 16usize];
pub type RawGeckoStyleChildrenIterator = root::mozilla::dom::StyleChildrenIterator;
pub type ServoStyleContextBorrowed = *const root::mozilla::ServoStyleContext;
pub type ServoStyleContextBorrowedOrNull = *const root::mozilla::ServoStyleContext;
pub type ComputedStyleBorrowed = *const root::mozilla::ComputedStyle;
pub type ComputedStyleBorrowedOrNull = *const root::mozilla::ComputedStyle;
pub type ServoComputedDataBorrowed = *const root::ServoComputedData;
pub type RawGeckoNodeBorrowed = *const root::RawGeckoNode;
pub type RawGeckoNodeBorrowedOrNull = *const root::RawGeckoNode;
@ -40613,7 +40613,7 @@ pub mod root {
)
);
}
/// An nsStyleContext represents the computed style data for an element.
/// An ComputedStyle represents the computed style data for an element.
/// The computed style data are stored in a set of structs (see
/// nsStyleStruct.h) that are cached either on the style context or in
/// the rule tree (see nsRuleNode.h for a description of this caching and
@ -40621,7 +40621,7 @@ pub mod root {
///
/// Since the data in |nsIStyleRule|s and |nsRuleNode|s are immutable
/// (with a few exceptions, like system color changes), the data in an
/// nsStyleContext are also immutable (with the additional exception of
/// ComputedStyle are also immutable (with the additional exception of
/// GetUniqueStyleData). When style data change,
/// ElementRestyler::Restyle creates a new style context.
///
@ -40632,38 +40632,38 @@ pub mod root {
/// expectation, but it makes sense in this case)
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleContext {
pub struct ComputedStyle {
pub mPseudoTag: root::RefPtr<root::nsAtom>,
pub mBits: u64,
}
#[test]
fn bindgen_test_layout_nsStyleContext() {
fn bindgen_test_layout_ComputedStyle() {
assert_eq!(
::std::mem::size_of::<nsStyleContext>(),
::std::mem::size_of::<ComputedStyle>(),
16usize,
concat!("Size of: ", stringify!(nsStyleContext))
concat!("Size of: ", stringify!(ComputedStyle))
);
assert_eq!(
::std::mem::align_of::<nsStyleContext>(),
::std::mem::align_of::<ComputedStyle>(),
8usize,
concat!("Alignment of ", stringify!(nsStyleContext))
concat!("Alignment of ", stringify!(ComputedStyle))
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nsStyleContext>())).mPseudoTag as *const _ as usize },
unsafe { &(*(::std::ptr::null::<ComputedStyle>())).mPseudoTag as *const _ as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(nsStyleContext),
stringify!(ComputedStyle),
"::",
stringify!(mPseudoTag)
)
);
assert_eq!(
unsafe { &(*(::std::ptr::null::<nsStyleContext>())).mBits as *const _ as usize },
unsafe { &(*(::std::ptr::null::<ComputedStyle>())).mBits as *const _ as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(nsStyleContext),
stringify!(ComputedStyle),
"::",
stringify!(mBits)
)
@ -50526,21 +50526,21 @@ pub mod root {
);
}
#[test]
fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation() {
fn __bindgen_test_layout_RefPtr_open0_ComputedStyle_close0_instantiation() {
assert_eq!(
::std::mem::size_of::<root::RefPtr<root::mozilla::ServoStyleContext>>(),
::std::mem::size_of::<root::RefPtr<root::mozilla::ComputedStyle>>(),
8usize,
concat!(
"Size of template specialization: ",
stringify!(root::RefPtr<root::mozilla::ServoStyleContext>)
stringify!(root::RefPtr<root::mozilla::ComputedStyle>)
)
);
assert_eq!(
::std::mem::align_of::<root::RefPtr<root::mozilla::ServoStyleContext>>(),
::std::mem::align_of::<root::RefPtr<root::mozilla::ComputedStyle>>(),
8usize,
concat!(
"Alignment of template specialization: ",
stringify!(root::RefPtr<root::mozilla::ServoStyleContext>)
stringify!(root::RefPtr<root::mozilla::ComputedStyle>)
)
);
}

View file

@ -78,7 +78,7 @@ pub mod style_structs {
pub type ComputedValuesInner = ::gecko_bindings::structs::ServoComputedData;
#[repr(C)]
pub struct ComputedValues(::gecko_bindings::structs::mozilla::ServoStyleContext);
pub struct ComputedValues(::gecko_bindings::structs::mozilla::ComputedStyle);
impl ComputedValues {
pub fn new(
@ -126,7 +126,7 @@ impl ComputedValues {
pub fn pseudo(&self) -> Option<PseudoElement> {
use string_cache::Atom;
let atom = (self.0)._base.mPseudoTag.mRawPtr;
let atom = (self.0).mPseudoTag.mRawPtr;
if atom.is_null() {
return None;
}
@ -136,7 +136,7 @@ impl ComputedValues {
}
fn get_pseudo_type(&self) -> CSSPseudoElementType {
let bits = (self.0)._base.mBits;
let bits = (self.0).mBits;
let our_type = bits >> NS_STYLE_CONTEXT_TYPE_SHIFT;
unsafe { transmute(our_type as u8) }
}
@ -167,7 +167,7 @@ impl ComputedValues {
impl Drop for ComputedValues {
fn drop(&mut self) {
unsafe {
bindings::Gecko_ServoStyleContext_Destroy(&mut self.0);
bindings::Gecko_ComputedStyle_Destroy(&mut self.0);
}
}
}
@ -197,7 +197,7 @@ impl Clone for ComputedValuesInner {
}
type PseudoInfo = (*mut structs::nsAtom, structs::CSSPseudoElementType);
type ParentStyleContextInfo<'a> = Option< &'a ComputedValues>;
type ParentComputedStyleInfo<'a> = Option< &'a ComputedValues>;
impl ComputedValuesInner {
pub fn new(custom_properties: Option<Arc<CustomPropertiesMap>>,
@ -224,7 +224,7 @@ impl ComputedValuesInner {
fn to_outer(
self,
pres_context: RawGeckoPresContextBorrowed,
parent: ParentStyleContextInfo,
parent: ParentComputedStyleInfo,
info: Option<PseudoInfo>
) -> Arc<ComputedValues> {
let (tag, ty) = if let Some(info) = info {
@ -239,13 +239,13 @@ impl ComputedValuesInner {
unsafe fn to_outer_helper(
self,
pres_context: bindings::RawGeckoPresContextBorrowed,
parent: ParentStyleContextInfo,
parent: ParentComputedStyleInfo,
pseudo_ty: structs::CSSPseudoElementType,
pseudo_tag: *mut structs::nsAtom
) -> Arc<ComputedValues> {
let arc = {
let arc: Arc<ComputedValues> = Arc::new(uninitialized());
bindings::Gecko_ServoStyleContext_Init(&arc.0 as *const _ as *mut _,
bindings::Gecko_ComputedStyle_Init(&arc.0 as *const _ as *mut _,
parent, pres_context,
&self, pseudo_ty, pseudo_tag);
// We're simulating a move by having C++ do a memcpy and then forgetting

View file

@ -2422,10 +2422,11 @@ pub struct ComputedValuesInner {
pub struct ComputedValues {
/// The actual computed values
///
/// In Gecko the outer ComputedValues is actually a style context,
/// whereas ComputedValuesInner is the core set of computed values.
/// In Gecko the outer ComputedValues is actually a ComputedStyle, whereas
/// ComputedValuesInner is the core set of computed values.
///
/// We maintain this distinction in servo to reduce the amount of special casing.
/// We maintain this distinction in servo to reduce the amount of special
/// casing.
inner: ComputedValuesInner,
}

View file

@ -667,8 +667,7 @@ impl<E: TElement> StyleSharingCache<E> {
}
// We do not ignore visited state here, because Gecko needs to store
// extra bits on visited style contexts, so these contexts cannot be
// shared.
// extra bits on visited styles, so these contexts cannot be shared.
if target.element.state() != candidate.state() {
trace!("Miss: User and Author State");
return None;

View file

@ -598,7 +598,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
/// into the cascade.
///
/// When comparing to Gecko, this is similar to the work done by
/// `nsStyleContext::ApplyStyleFixups`, plus some parts of
/// `ComputedStyle::ApplyStyleFixups`, plus some parts of
/// `nsStyleSet::GetContext`.
pub fn adjust<E>(
&mut self,

View file

@ -53,10 +53,11 @@ use style::gecko_bindings::bindings::{RawServoSelectorListBorrowed, RawServoSele
use style::gecko_bindings::bindings::{RawServoSourceSizeListBorrowedOrNull, RawServoSourceSizeListOwned};
use style::gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSetBorrowedOrNull, RawServoStyleSetOwned};
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsBorrowed, ServoComputedDataBorrowed};
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsStrong, ServoStyleContextBorrowed};
use style::gecko_bindings::bindings::{RawServoStyleSheetContentsStrong, ComputedStyleBorrowed};
use style::gecko_bindings::bindings::{RawServoSupportsRule, RawServoSupportsRuleBorrowed};
use style::gecko_bindings::bindings::{ServoCssRulesBorrowed, ServoCssRulesStrong};
use style::gecko_bindings::bindings::{nsACString, nsAString, nsCSSPropertyIDSetBorrowedMut};
use style::gecko_bindings::bindings::ComputedStyleBorrowedOrNull;
use style::gecko_bindings::bindings::Gecko_AddPropertyToSet;
use style::gecko_bindings::bindings::Gecko_AppendPropertyValuePair;
use style::gecko_bindings::bindings::Gecko_ConstructFontFeatureValueSet;
@ -81,7 +82,6 @@ use style::gecko_bindings::bindings::RawServoAnimationValueTableBorrowed;
use style::gecko_bindings::bindings::RawServoDeclarationBlockBorrowedOrNull;
use style::gecko_bindings::bindings::RawServoStyleRuleBorrowed;
use style::gecko_bindings::bindings::RawServoStyleSet;
use style::gecko_bindings::bindings::ServoStyleContextBorrowedOrNull;
use style::gecko_bindings::bindings::nsCSSValueBorrowedMut;
use style::gecko_bindings::bindings::nsTArrayBorrowed_uintptr_t;
use style::gecko_bindings::bindings::nsTimingFunctionBorrowed;
@ -89,7 +89,7 @@ use style::gecko_bindings::bindings::nsTimingFunctionBorrowedMut;
use style::gecko_bindings::structs;
use style::gecko_bindings::structs::{CallerType, CSSPseudoElementType, CompositeOperation};
use style::gecko_bindings::structs::{Loader, LoaderReusableStyleSheets};
use style::gecko_bindings::structs::{RawServoStyleRule, ServoStyleContextStrong, RustString};
use style::gecko_bindings::structs::{RawServoStyleRule, ComputedStyleStrong, RustString};
use style::gecko_bindings::structs::{ServoStyleSheet, SheetLoadData, SheetParsingMode, nsAtom, nsCSSPropertyID};
use style::gecko_bindings::structs::{nsCSSFontDesc, nsCSSFontFaceRule, nsCSSCounterStyleRule};
use style::gecko_bindings::structs::{nsRestyleHint, nsChangeHint, PropertyValuePair};
@ -833,9 +833,9 @@ fn resolve_rules_for_element_with_context<'a>(
pub extern "C" fn Servo_StyleSet_GetBaseComputedValuesForElement(
raw_style_set: RawServoStyleSetBorrowed,
element: RawGeckoElementBorrowed,
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
snapshots: *const ServoElementSnapshotTable,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
debug_assert!(!snapshots.is_null());
let computed_values = unsafe { ArcBorrow::from_ref(computed_values) };
@ -872,14 +872,14 @@ pub extern "C" fn Servo_StyleSet_GetBaseComputedValuesForElement(
pub extern "C" fn Servo_StyleSet_GetComputedValuesByAddingAnimation(
raw_style_set: RawServoStyleSetBorrowed,
element: RawGeckoElementBorrowed,
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
snapshots: *const ServoElementSnapshotTable,
animation_value: RawServoAnimationValueBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
debug_assert!(!snapshots.is_null());
let computed_values = unsafe { ArcBorrow::from_ref(computed_values) };
let rules = match computed_values.rules {
None => return ServoStyleContextStrong::null(),
None => return ComputedStyleStrong::null(),
Some(ref rules) => rules,
};
@ -900,7 +900,7 @@ pub extern "C" fn Servo_StyleSet_GetComputedValuesByAddingAnimation(
let element = GeckoElement(element);
if element.borrow_data().is_none() {
return ServoStyleContextStrong::null();
return ComputedStyleStrong::null();
}
let shared = create_shared_context(&global_style_data,
@ -919,7 +919,7 @@ pub extern "C" fn Servo_StyleSet_GetComputedValuesByAddingAnimation(
#[no_mangle]
pub extern "C" fn Servo_ComputedValues_ExtractAnimationValue(
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
property_id: nsCSSPropertyID,
) -> RawServoAnimationValueStrong {
let property = match LonghandId::from_nscsspropertyid(property_id) {
@ -1013,7 +1013,7 @@ pub extern "C" fn Servo_Element_HasPrimaryComputedValues(element: RawGeckoElemen
#[no_mangle]
pub extern "C" fn Servo_Element_GetPrimaryComputedValues(
element: RawGeckoElementBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let element = GeckoElement(element);
let data = element.borrow_data().expect("Getting CVs on unstyled element");
data.styles.primary().clone().into()
@ -1033,7 +1033,7 @@ pub extern "C" fn Servo_Element_HasPseudoComputedValues(
pub extern "C" fn Servo_Element_GetPseudoComputedValues(
element: RawGeckoElementBorrowed,
index: usize,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let element = GeckoElement(element);
let data = element.borrow_data().expect("Getting CVs that aren't present");
data.styles.pseudos.as_array()[index].as_ref().expect("Getting CVs that aren't present")
@ -2185,10 +2185,10 @@ pub extern "C" fn Servo_FontFeatureValuesRule_GetValueText(
#[no_mangle]
pub unsafe extern "C" fn Servo_ComputedValues_GetForAnonymousBox(
parent_style_or_null: ServoStyleContextBorrowedOrNull,
parent_style_or_null: ComputedStyleBorrowedOrNull,
pseudo_tag: *mut nsAtom,
raw_data: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let global_style_data = &*GLOBAL_STYLE_DATA;
let guard = global_style_data.shared_lock.read();
let guards = StylesheetGuards::same(&guard);
@ -2243,9 +2243,9 @@ pub extern "C" fn Servo_ResolvePseudoStyle(
element: RawGeckoElementBorrowed,
pseudo_type: CSSPseudoElementType,
is_probe: bool,
inherited_style: ServoStyleContextBorrowedOrNull,
inherited_style: ComputedStyleBorrowedOrNull,
raw_data: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let element = GeckoElement(element);
let doc_data = PerDocumentStyleData::from_ffi(raw_data).borrow();
@ -2317,10 +2317,10 @@ fn debug_atom_array(atoms: &AtomArray) -> String {
pub extern "C" fn Servo_ComputedValues_ResolveXULTreePseudoStyle(
element: RawGeckoElementBorrowed,
pseudo_tag: *mut nsAtom,
inherited_style: ServoStyleContextBorrowed,
inherited_style: ComputedStyleBorrowed,
input_word: *const AtomArray,
raw_data: RawServoStyleSetBorrowed
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let element = GeckoElement(element);
let data = element.borrow_data()
.expect("Calling ResolveXULTreePseudoStyle on unstyled element?");
@ -2362,7 +2362,7 @@ pub extern "C" fn Servo_ComputedValues_ResolveXULTreePseudoStyle(
#[no_mangle]
pub extern "C" fn Servo_SetExplicitStyle(
element: RawGeckoElementBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
) {
let element = GeckoElement(element);
debug!("Servo_SetExplicitStyle: {:?}", element);
@ -2375,7 +2375,7 @@ pub extern "C" fn Servo_SetExplicitStyle(
#[no_mangle]
pub extern "C" fn Servo_HasAuthorSpecifiedRules(
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
element: RawGeckoElementBorrowed,
pseudo_type: CSSPseudoElementType,
rule_type_mask: u32,
@ -2498,9 +2498,9 @@ fn get_pseudo_style(
pub unsafe extern "C" fn Servo_ComputedValues_Inherit(
raw_data: RawServoStyleSetBorrowed,
pseudo_tag: *mut nsAtom,
parent_style_context: ServoStyleContextBorrowedOrNull,
parent_style_context: ComputedStyleBorrowedOrNull,
target: structs::InheritTarget
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let data = PerDocumentStyleData::from_ffi(raw_data).borrow();
let for_text = target == structs::InheritTarget::Text;
@ -2522,7 +2522,7 @@ pub unsafe extern "C" fn Servo_ComputedValues_Inherit(
}
#[no_mangle]
pub extern "C" fn Servo_ComputedValues_GetStyleBits(values: ServoStyleContextBorrowed) -> u64 {
pub extern "C" fn Servo_ComputedValues_GetStyleBits(values: ComputedStyleBorrowed) -> u64 {
use style::properties::computed_value_flags::ComputedValueFlags;
// FIXME(emilio): We could do this more efficiently I'm quite sure.
let flags = values.flags;
@ -2550,7 +2550,7 @@ pub extern "C" fn Servo_ComputedValues_GetStyleBits(values: ServoStyleContextBor
#[no_mangle]
pub extern "C" fn Servo_ComputedValues_SpecifiesAnimationsOrTransitions(
values: ServoStyleContextBorrowed,
values: ComputedStyleBorrowed,
) -> bool {
let b = values.get_box();
b.specifies_animations() || b.specifies_transitions()
@ -2566,7 +2566,7 @@ pub extern "C" fn Servo_ComputedValues_EqualCustomProperties(
#[no_mangle]
pub extern "C" fn Servo_ComputedValues_GetStyleRuleList(
values: ServoStyleContextBorrowed,
values: ComputedStyleBorrowed,
rules: RawGeckoServoStyleRuleListBorrowedMut,
) {
let rule_node = match values.rules {
@ -2839,7 +2839,7 @@ pub extern "C" fn Servo_DeclarationBlock_GetCssText(declarations: RawServoDeclar
pub extern "C" fn Servo_DeclarationBlock_SerializeOneValue(
declarations: RawServoDeclarationBlockBorrowed,
property_id: nsCSSPropertyID, buffer: *mut nsAString,
computed_values: ServoStyleContextBorrowedOrNull,
computed_values: ComputedStyleBorrowedOrNull,
custom_properties: RawServoDeclarationBlockBorrowedOrNull,
) {
let property_id = get_property_id_from_nscsspropertyid!(property_id, ());
@ -3682,7 +3682,7 @@ pub extern "C" fn Servo_TakeChangeHint(
pub extern "C" fn Servo_ResolveStyle(
element: RawGeckoElementBorrowed,
_raw_data: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let element = GeckoElement(element);
debug!("Servo_ResolveStyle: {:?}", element);
let data =
@ -3700,7 +3700,7 @@ pub extern "C" fn Servo_ResolveStyleLazily(
rule_inclusion: StyleRuleInclusion,
snapshots: *const ServoElementSnapshotTable,
raw_data: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
debug_assert!(!snapshots.is_null());
let global_style_data = &*GLOBAL_STYLE_DATA;
let guard = global_style_data.shared_lock.read();
@ -3775,13 +3775,13 @@ pub extern "C" fn Servo_ResolveStyleLazily(
#[no_mangle]
pub extern "C" fn Servo_ReparentStyle(
style_to_reparent: ServoStyleContextBorrowed,
parent_style: ServoStyleContextBorrowed,
parent_style_ignoring_first_line: ServoStyleContextBorrowed,
layout_parent_style: ServoStyleContextBorrowed,
style_to_reparent: ComputedStyleBorrowed,
parent_style: ComputedStyleBorrowed,
parent_style_ignoring_first_line: ComputedStyleBorrowed,
layout_parent_style: ComputedStyleBorrowed,
element: RawGeckoElementBorrowedOrNull,
raw_data: RawServoStyleSetBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let global_style_data = &*GLOBAL_STYLE_DATA;
let guard = global_style_data.shared_lock.read();
let doc_data = PerDocumentStyleData::from_ffi(raw_data).borrow();
@ -3891,7 +3891,7 @@ impl<'a> Iterator for PrioritizedPropertyIter<'a> {
pub extern "C" fn Servo_GetComputedKeyframeValues(
keyframes: RawGeckoKeyframeListBorrowed,
element: RawGeckoElementBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
raw_data: RawServoStyleSetBorrowed,
computed_keyframes: RawGeckoComputedKeyframeValuesListBorrowedMut
) {
@ -4001,7 +4001,7 @@ pub extern "C" fn Servo_GetComputedKeyframeValues(
pub extern "C" fn Servo_GetAnimationValues(
declarations: RawServoDeclarationBlockBorrowed,
element: RawGeckoElementBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
raw_data: RawServoStyleSetBorrowed,
animation_values: RawGeckoServoAnimationValueListBorrowedMut,
) {
@ -4044,7 +4044,7 @@ pub extern "C" fn Servo_GetAnimationValues(
pub extern "C" fn Servo_AnimationValue_Compute(
element: RawGeckoElementBorrowed,
declarations: RawServoDeclarationBlockBorrowed,
style: ServoStyleContextBorrowed,
style: ComputedStyleBorrowed,
raw_data: RawServoStyleSetBorrowed,
) -> RawServoAnimationValueStrong {
let data = PerDocumentStyleData::from_ffi(raw_data).borrow();
@ -4408,9 +4408,9 @@ pub extern "C" fn Servo_StyleSet_BuildFontFeatureValueSet(
#[no_mangle]
pub extern "C" fn Servo_StyleSet_ResolveForDeclarations(
raw_data: RawServoStyleSetBorrowed,
parent_style_context: ServoStyleContextBorrowedOrNull,
parent_style_context: ComputedStyleBorrowedOrNull,
declarations: RawServoDeclarationBlockBorrowed,
) -> ServoStyleContextStrong {
) -> ComputedStyleStrong {
let doc_data = PerDocumentStyleData::from_ffi(raw_data).borrow();
let global_style_data = &*GLOBAL_STYLE_DATA;
let guard = global_style_data.shared_lock.read();
@ -4505,7 +4505,7 @@ pub extern "C" fn Servo_StyleSet_HasDocumentStateDependency(
#[no_mangle]
pub unsafe extern "C" fn Servo_GetCustomPropertyValue(
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
name: *const nsAString,
value: *mut nsAString,
) -> bool {
@ -4525,7 +4525,7 @@ pub unsafe extern "C" fn Servo_GetCustomPropertyValue(
}
#[no_mangle]
pub extern "C" fn Servo_GetCustomPropertiesCount(computed_values: ServoStyleContextBorrowed) -> u32 {
pub extern "C" fn Servo_GetCustomPropertiesCount(computed_values: ComputedStyleBorrowed) -> u32 {
match computed_values.custom_properties() {
Some(p) => p.len() as u32,
None => 0,
@ -4534,7 +4534,7 @@ pub extern "C" fn Servo_GetCustomPropertiesCount(computed_values: ServoStyleCont
#[no_mangle]
pub extern "C" fn Servo_GetCustomPropertyNameAt(
computed_values: ServoStyleContextBorrowed,
computed_values: ComputedStyleBorrowed,
index: u32,
name: *mut nsAString,
) -> bool {