Skip to content

Commit

Permalink
style: Use alias for StyleDisplay and StyleDisplayMode.
Browse files Browse the repository at this point in the history
Map these two types to their original rust type in rust-bindgen.

Differential Revision: https://phabricator.services.mozilla.com/D10141
  • Loading branch information
BorisChiou authored and emilio committed Nov 5, 2018
1 parent 591a478 commit cb2533d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 18 deletions.
16 changes: 5 additions & 11 deletions components/style/gecko/media_features.rs
Expand Up @@ -179,7 +179,7 @@ fn eval_device_orientation(device: &Device, value: Option<Orientation>) -> bool
}

/// Values for the display-mode media feature.
#[derive(Clone, Copy, Debug, FromPrimitive, Parse, ToCss)]
#[derive(Clone, Copy, Debug, FromPrimitive, Parse, PartialEq, ToCss)]
#[repr(u8)]
#[allow(missing_docs)]
pub enum DisplayMode {
Expand All @@ -191,16 +191,10 @@ pub enum DisplayMode {

/// https://w3c.github.io/manifest/#the-display-mode-media-feature
fn eval_display_mode(device: &Device, query_value: Option<DisplayMode>) -> bool {
let query_value = match query_value {
Some(v) => v,
None => return true,
};

let gecko_display_mode =
unsafe { bindings::Gecko_MediaFeatures_GetDisplayMode(device.document()) };

// NOTE: cbindgen guarantees the same representation.
gecko_display_mode as u8 == query_value as u8
match query_value {
Some(v) => v == unsafe { bindings::Gecko_MediaFeatures_GetDisplayMode(device.document()) },
None => true,
}
}

/// https://drafts.csswg.org/mediaqueries-4/#grid
Expand Down
11 changes: 4 additions & 7 deletions components/style/properties/gecko.mako.rs
Expand Up @@ -3031,9 +3031,8 @@ fn static_assert() {
<%self:impl_trait style_struct_name="Box" skip_longhands="${skip_box_longhands}">
#[inline]
pub fn set_display(&mut self, v: longhands::display::computed_value::T) {
// unsafe: cbindgen ensures the representation is the same.
self.gecko.mDisplay = unsafe { transmute(v) };
self.gecko.mOriginalDisplay = unsafe { transmute(v) };
self.gecko.mDisplay = v;
self.gecko.mOriginalDisplay = v;
}

#[inline]
Expand All @@ -3053,14 +3052,12 @@ fn static_assert() {
v: longhands::display::computed_value::T,
_is_item_or_root: bool
) {
// unsafe: cbindgen ensures the representation is the same.
self.gecko.mDisplay = unsafe { transmute(v) };
self.gecko.mDisplay = v;
}

#[inline]
pub fn clone_display(&self) -> longhands::display::computed_value::T {
// unsafe: cbindgen ensures the representation is the same.
unsafe { transmute(self.gecko.mDisplay) }
self.gecko.mDisplay
}

${impl_simple('_moz_appearance', 'mAppearance')}
Expand Down

0 comments on commit cb2533d

Please sign in to comment.