From 35eb9e2152ef57e1348bc445c5441a26f83ab68c Mon Sep 17 00:00:00 2001 From: Henri Sivonen Date: Fri, 1 Sep 2017 19:45:57 +0300 Subject: [PATCH] Take a `u8` pointer and a length instead of `nsACString` pointer from Gecko. This is the Servo side change of [bug 1354989](https://bugzilla.mozilla.org/show_bug.cgi?id=1354989). --- components/style/gecko/generated/bindings.rs | 3 ++- ports/geckolib/glue.rs | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) 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,