diff --git a/components/style/gecko/generated/bindings.rs b/components/style/gecko/generated/bindings.rs index 397000c2b4a..007fa274f72 100644 --- a/components/style/gecko/generated/bindings.rs +++ b/components/style/gecko/generated/bindings.rs @@ -1930,7 +1930,8 @@ extern "C" { pub fn Servo_StyleSheet_FromUTF8Bytes(loader: *mut Loader, gecko_stylesheet: *mut ServoStyleSheet, - data: *const nsACString, + data: *const u8, + data_len: usize, parsing_mode: SheetParsingMode, extra_data: *mut RawGeckoURLExtraData, diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 3549cd921da..c446a916369 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -862,7 +862,8 @@ pub extern "C" fn Servo_StyleSheet_Empty(mode: SheetParsingMode) -> RawServoStyl pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes( loader: *mut Loader, stylesheet: *mut ServoStyleSheet, - data: *const nsACString, + data: *const u8, + data_len: usize, mode: SheetParsingMode, extra_data: *mut URLExtraData, line_number_offset: u32, @@ -870,7 +871,7 @@ pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes( reusable_sheets: *mut LoaderReusableStyleSheets ) -> RawServoStyleSheetContentsStrong { let global_style_data = &*GLOBAL_STYLE_DATA; - let input = unsafe { data.as_ref().unwrap().as_str_unchecked() }; + let input = unsafe { ::std::str::from_utf8_unchecked(::std::slice::from_raw_parts(data, data_len)) }; let origin = match mode { SheetParsingMode::eAuthorSheetFeatures => Origin::Author,