From b1f8f03f6b7c98bd8a28e002f0c1dd7947410a5a Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Thu, 23 Feb 2017 12:33:17 -0500 Subject: [PATCH] geckolib: remove std::mem::transmute usages We can make these look nicer with the FFIArcHelpers trait. --- ports/geckolib/glue.rs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 54aac9b4694..46e386247f2 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -14,7 +14,6 @@ use servo_url::ServoUrl; use std::borrow::Cow; use std::env; use std::fmt::Write; -use std::mem; use std::ptr; use std::sync::{Arc, Mutex}; use style::arc_ptr_eq; @@ -362,12 +361,10 @@ pub extern "C" fn Servo_StyleSheet_Empty(mode: SheetParsingMode) -> RawServoStyl SheetParsingMode::eUserSheetFeatures => Origin::User, SheetParsingMode::eAgentSheetFeatures => Origin::UserAgent, }; - let sheet = Arc::new(Stylesheet::from_str( + Arc::new(Stylesheet::from_str( "", url, origin, Default::default(), None, - Box::new(StdoutErrorReporter), extra_data)); - unsafe { - mem::transmute(sheet) - } + Box::new(StdoutErrorReporter), extra_data) + ).into_strong() } #[no_mangle] @@ -407,12 +404,10 @@ pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(loader: *mut Loader, Some(ref s) => Some(s), }; - let sheet = Arc::new(Stylesheet::from_str( + Arc::new(Stylesheet::from_str( input, url, origin, Default::default(), loader, - Box::new(StdoutErrorReporter), extra_data)); - unsafe { - mem::transmute(sheet) - } + Box::new(StdoutErrorReporter), extra_data) + ).into_strong() } #[no_mangle] @@ -1331,7 +1326,7 @@ pub extern "C" fn Servo_ImportRule_GetSheet(import_rule: RawServoImportRuleBorrowed) -> RawServoStyleSheetStrong { let import_rule = RwLock::::as_arc(&import_rule); - unsafe { mem::transmute(import_rule.read().stylesheet.clone()) } + import_rule.read().stylesheet.clone().into_strong() } #[no_mangle]