Skip to content

Commit

Permalink
Auto merge of #18347 - hsivonen:ptr-and-length-from-gecko, r=SimonSapin
Browse files Browse the repository at this point in the history
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).

- [ ] `./mach build -d` does not report any errors

Fails for unrelated reason when building `servo-skia`.

- [x] `./mach test-tidy` does not report any errors

- [x] These changes do not require tests because this changes the Gecko interface and m-c not burning is the test.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18347)
<!-- Reviewable:end -->
  • Loading branch information
bors-servo committed Sep 1, 2017
2 parents 876b70b + 35eb9e2 commit d8598b5
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
3 changes: 2 additions & 1 deletion components/style/gecko/generated/bindings.rs
Expand Up @@ -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,
Expand Down
5 changes: 3 additions & 2 deletions ports/geckolib/glue.rs
Expand Up @@ -862,15 +862,16 @@ 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,
quirks_mode: nsCompatibility,
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,
Expand Down

0 comments on commit d8598b5

Please sign in to comment.