diff --git a/components/style/gecko/arc_types.rs b/components/style/gecko/arc_types.rs index 7aed10b6568b..788f75f2b2f0 100644 --- a/components/style/gecko/arc_types.rs +++ b/components/style/gecko/arc_types.rs @@ -9,34 +9,26 @@ #![allow(non_snake_case, missing_docs)] use crate::gecko::url::CssUrlData; -use crate::gecko_bindings::structs::RawServoAnimationValue; -use crate::gecko_bindings::structs::RawServoCounterStyleRule; -use crate::gecko_bindings::structs::RawServoCssUrlData; -use crate::gecko_bindings::structs::RawServoDeclarationBlock; -use crate::gecko_bindings::structs::RawServoFontFaceRule; -use crate::gecko_bindings::structs::RawServoFontFeatureValuesRule; -use crate::gecko_bindings::structs::RawServoImportRule; -use crate::gecko_bindings::structs::RawServoKeyframe; -use crate::gecko_bindings::structs::RawServoKeyframesRule; -use crate::gecko_bindings::structs::RawServoMediaList; -use crate::gecko_bindings::structs::RawServoMediaRule; -use crate::gecko_bindings::structs::RawServoMozDocumentRule; -use crate::gecko_bindings::structs::RawServoNamespaceRule; -use crate::gecko_bindings::structs::RawServoPageRule; -use crate::gecko_bindings::structs::RawServoStyleRule; -use crate::gecko_bindings::structs::RawServoStyleSheetContents; -use crate::gecko_bindings::structs::RawServoSupportsRule; -use crate::gecko_bindings::structs::ServoCssRules; +use crate::gecko_bindings::structs::{ + RawServoAnimationValue, RawServoCounterStyleRule, RawServoCssUrlData, + RawServoDeclarationBlock, RawServoFontFaceRule, + RawServoFontFeatureValuesRule, RawServoImportRule, RawServoKeyframe, + RawServoKeyframesRule, RawServoLayerRule, RawServoMediaList, + RawServoMediaRule, RawServoMozDocumentRule, RawServoNamespaceRule, + RawServoPageRule, RawServoStyleRule, RawServoStyleSheetContents, + RawServoSupportsRule, ServoCssRules +}; use crate::gecko_bindings::sugar::ownership::{HasArcFFI, HasFFI, Strong}; use crate::media_queries::MediaList; use crate::properties::animated_properties::AnimationValue; use crate::properties::{ComputedValues, PropertyDeclarationBlock}; use crate::shared_lock::Locked; use crate::stylesheets::keyframes_rule::Keyframe; -use crate::stylesheets::{CounterStyleRule, CssRules, FontFaceRule, FontFeatureValuesRule}; -use crate::stylesheets::{DocumentRule, ImportRule, KeyframesRule, MediaRule}; -use crate::stylesheets::{NamespaceRule, PageRule}; -use crate::stylesheets::{StyleRule, StylesheetContents, SupportsRule}; +use crate::stylesheets::{ + CounterStyleRule, CssRules, FontFaceRule, FontFeatureValuesRule, + DocumentRule, ImportRule, KeyframesRule, LayerRule, MediaRule, + NamespaceRule, PageRule, StyleRule, StylesheetContents, SupportsRule +}; use servo_arc::{Arc, ArcBorrow}; use std::{mem, ptr}; @@ -83,6 +75,9 @@ impl_arc_ffi!(Locked => RawServoKeyframe impl_arc_ffi!(Locked => RawServoKeyframesRule [Servo_KeyframesRule_AddRef, Servo_KeyframesRule_Release]); +impl_arc_ffi!(Locked => RawServoLayerRule + [Servo_LayerRule_AddRef, Servo_LayerRule_Release]); + impl_arc_ffi!(Locked => RawServoMediaList [Servo_MediaList_AddRef, Servo_MediaList_Release]); diff --git a/components/style/stylesheets/mod.rs b/components/style/stylesheets/mod.rs index 360a17b2f9a2..a2f4a705b118 100644 --- a/components/style/stylesheets/mod.rs +++ b/components/style/stylesheets/mod.rs @@ -310,10 +310,11 @@ impl CssRule { /// https://drafts.csswg.org/cssom-1/#dom-cssrule-type #[allow(missing_docs)] #[derive(Clone, Copy, Debug, Eq, FromPrimitive, PartialEq)] +#[repr(u8)] pub enum CssRuleType { // https://drafts.csswg.org/cssom/#the-cssrule-interface Style = 1, - Charset = 2, + // Charset = 2, // Historical Import = 3, Media = 4, FontFace = 5, @@ -322,7 +323,7 @@ pub enum CssRuleType { Keyframes = 7, Keyframe = 8, // https://drafts.csswg.org/cssom/#the-cssrule-interface - Margin = 9, + // Margin = 9, // Not implemented yet. Namespace = 10, // https://drafts.csswg.org/css-counter-styles-3/#extentions-to-cssrule-interface CounterStyle = 11,