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).
This commit is contained in:
Henri Sivonen 2017-09-01 19:45:57 +03:00
parent 15c57e8d54
commit 35eb9e2152
2 changed files with 5 additions and 3 deletions

View file

@ -1930,7 +1930,8 @@ extern "C" {
pub fn Servo_StyleSheet_FromUTF8Bytes(loader: *mut Loader, pub fn Servo_StyleSheet_FromUTF8Bytes(loader: *mut Loader,
gecko_stylesheet: gecko_stylesheet:
*mut ServoStyleSheet, *mut ServoStyleSheet,
data: *const nsACString, data: *const u8,
data_len: usize,
parsing_mode: SheetParsingMode, parsing_mode: SheetParsingMode,
extra_data: extra_data:
*mut RawGeckoURLExtraData, *mut RawGeckoURLExtraData,

View file

@ -862,7 +862,8 @@ pub extern "C" fn Servo_StyleSheet_Empty(mode: SheetParsingMode) -> RawServoStyl
pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes( pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(
loader: *mut Loader, loader: *mut Loader,
stylesheet: *mut ServoStyleSheet, stylesheet: *mut ServoStyleSheet,
data: *const nsACString, data: *const u8,
data_len: usize,
mode: SheetParsingMode, mode: SheetParsingMode,
extra_data: *mut URLExtraData, extra_data: *mut URLExtraData,
line_number_offset: u32, line_number_offset: u32,
@ -870,7 +871,7 @@ pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(
reusable_sheets: *mut LoaderReusableStyleSheets reusable_sheets: *mut LoaderReusableStyleSheets
) -> RawServoStyleSheetContentsStrong { ) -> RawServoStyleSheetContentsStrong {
let global_style_data = &*GLOBAL_STYLE_DATA; 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 { let origin = match mode {
SheetParsingMode::eAuthorSheetFeatures => Origin::Author, SheetParsingMode::eAuthorSheetFeatures => Origin::Author,