Bug 1367523 Part 1b: Servo-side make cloning of FontFaceRule and CounterStyleRule compile for both servo and gecko configs.
MozReview-Commit-ID: 5sSaq1G7GWW
--- a/servo/components/style/stylesheets/counter_style_rule.rs
+++ b/servo/components/style/stylesheets/counter_style_rule.rs
@@ -5,8 +5,20 @@
// TODO(emilio): unify this, components/style/counter_style.rs, and
// components/style/gecko/rules.rs
#![allow(missing_docs)]
#[cfg(feature = "servo")]
pub use counter_style::CounterStyleRuleData as CounterStyleRule;
#[cfg(feature = "gecko")]
pub use gecko::rules::CounterStyleRule;
+
+impl CounterStyleRule {
+ #[cfg(feature = "servo")]
+ pub fn clone_conditionally_gecko_or_servo(&self) -> CounterStyleRule {
+ self.clone()
+ }
+
+ #[cfg(feature = "gecko")]
+ pub fn clone_conditionally_gecko_or_servo(&self) -> CounterStyleRule {
+ self.deep_clone_from_gecko()
+ }
+}
\ No newline at end of file
--- a/servo/components/style/stylesheets/font_face_rule.rs
+++ b/servo/components/style/stylesheets/font_face_rule.rs
@@ -5,8 +5,20 @@
// TODO(emilio): unify this, components/style/font_face.rs, and
// components/style/gecko/rules.rs
#![allow(missing_docs)]
#[cfg(feature = "servo")]
pub use font_face::FontFaceRuleData as FontFaceRule;
#[cfg(feature = "gecko")]
pub use gecko::rules::FontFaceRule;
+
+impl FontFaceRule {
+ #[cfg(feature = "servo")]
+ pub fn clone_conditionally_gecko_or_servo(&self) -> FontFaceRule {
+ self.clone()
+ }
+
+ #[cfg(feature = "gecko")]
+ pub fn clone_conditionally_gecko_or_servo(&self) -> FontFaceRule {
+ self.deep_clone_from_gecko()
+ }
+}
\ No newline at end of file
--- a/servo/components/style/stylesheets/mod.rs
+++ b/servo/components/style/stylesheets/mod.rs
@@ -285,30 +285,22 @@ impl DeepCloneWithLock for CssRule {
CssRule::Media(ref arc) => {
let rule = arc.read_with(guard);
CssRule::Media(Arc::new(
lock.wrap(rule.deep_clone_with_lock(lock, guard))))
},
CssRule::FontFace(ref arc) => {
let rule = arc.read_with(guard);
CssRule::FontFace(Arc::new(lock.wrap(
- if cfg!(feature = "gecko") {
- rule.deep_clone_from_gecko()
- } else {
- rule.clone()
- })))
+ rule.clone_conditionally_gecko_or_servo())))
},
CssRule::CounterStyle(ref arc) => {
let rule = arc.read_with(guard);
CssRule::CounterStyle(Arc::new(lock.wrap(
- if cfg!(feature = "gecko") {
- rule.deep_clone_from_gecko()
- } else {
- rule.clone()
- })))
+ rule.clone_conditionally_gecko_or_servo())))
},
CssRule::Viewport(ref arc) => {
let rule = arc.read_with(guard);
CssRule::Viewport(Arc::new(lock.wrap(rule.clone())))
},
CssRule::Keyframes(ref arc) => {
let rule = arc.read_with(guard);
CssRule::Keyframes(Arc::new(