geckolib: remove std::mem::transmute usages

We can make these look nicer with the FFIArcHelpers trait.
This commit is contained in:
Nathan Froyd 2017-02-23 12:33:17 -05:00
parent 469ed934e7
commit b1f8f03f6b

View file

@ -14,7 +14,6 @@ use servo_url::ServoUrl;
use std::borrow::Cow; use std::borrow::Cow;
use std::env; use std::env;
use std::fmt::Write; use std::fmt::Write;
use std::mem;
use std::ptr; use std::ptr;
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use style::arc_ptr_eq; use style::arc_ptr_eq;
@ -362,12 +361,10 @@ pub extern "C" fn Servo_StyleSheet_Empty(mode: SheetParsingMode) -> RawServoStyl
SheetParsingMode::eUserSheetFeatures => Origin::User, SheetParsingMode::eUserSheetFeatures => Origin::User,
SheetParsingMode::eAgentSheetFeatures => Origin::UserAgent, SheetParsingMode::eAgentSheetFeatures => Origin::UserAgent,
}; };
let sheet = Arc::new(Stylesheet::from_str( Arc::new(Stylesheet::from_str(
"", url, origin, Default::default(), None, "", url, origin, Default::default(), None,
Box::new(StdoutErrorReporter), extra_data)); Box::new(StdoutErrorReporter), extra_data)
unsafe { ).into_strong()
mem::transmute(sheet)
}
} }
#[no_mangle] #[no_mangle]
@ -407,12 +404,10 @@ pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(loader: *mut Loader,
Some(ref s) => Some(s), Some(ref s) => Some(s),
}; };
let sheet = Arc::new(Stylesheet::from_str( Arc::new(Stylesheet::from_str(
input, url, origin, Default::default(), loader, input, url, origin, Default::default(), loader,
Box::new(StdoutErrorReporter), extra_data)); Box::new(StdoutErrorReporter), extra_data)
unsafe { ).into_strong()
mem::transmute(sheet)
}
} }
#[no_mangle] #[no_mangle]
@ -1331,7 +1326,7 @@ pub extern "C" fn Servo_ImportRule_GetSheet(import_rule:
RawServoImportRuleBorrowed) RawServoImportRuleBorrowed)
-> RawServoStyleSheetStrong { -> RawServoStyleSheetStrong {
let import_rule = RwLock::<ImportRule>::as_arc(&import_rule); let import_rule = RwLock::<ImportRule>::as_arc(&import_rule);
unsafe { mem::transmute(import_rule.read().stylesheet.clone()) } import_rule.read().stylesheet.clone().into_strong()
} }
#[no_mangle] #[no_mangle]