Add a reusable sheets parameter to Servo_StyleSheet_FromUTF8Bytes.

MozReview-Commit-ID: DdMQpUY1WcJ
This commit is contained in:
Brad Werth 2017-08-22 14:02:22 -07:00 committed by Brad Werth
parent 6eb46b1a39
commit cdcd7edb01
2 changed files with 8 additions and 4 deletions

View file

@ -1929,7 +1929,9 @@ extern "C" {
extra_data: extra_data:
*mut RawGeckoURLExtraData, *mut RawGeckoURLExtraData,
line_number_offset: u32, line_number_offset: u32,
quirks_mode: nsCompatibility) quirks_mode: nsCompatibility,
reusable_sheets:
*mut LoaderReusableStyleSheets)
-> RawServoStyleSheetContentsStrong; -> RawServoStyleSheetContentsStrong;
} }
extern "C" { extern "C" {

View file

@ -69,7 +69,8 @@ use style::gecko_bindings::bindings::nsTArrayBorrowed_uintptr_t;
use style::gecko_bindings::bindings::nsTimingFunctionBorrowed; use style::gecko_bindings::bindings::nsTimingFunctionBorrowed;
use style::gecko_bindings::bindings::nsTimingFunctionBorrowedMut; use style::gecko_bindings::bindings::nsTimingFunctionBorrowedMut;
use style::gecko_bindings::structs; use style::gecko_bindings::structs;
use style::gecko_bindings::structs::{CSSPseudoElementType, CompositeOperation, Loader}; use style::gecko_bindings::structs::{CSSPseudoElementType, CompositeOperation};
use style::gecko_bindings::structs::{Loader, LoaderReusableStyleSheets};
use style::gecko_bindings::structs::{RawServoStyleRule, ServoStyleContextStrong}; use style::gecko_bindings::structs::{RawServoStyleRule, ServoStyleContextStrong};
use style::gecko_bindings::structs::{ServoStyleSheet, SheetParsingMode, nsIAtom, nsCSSPropertyID}; use style::gecko_bindings::structs::{ServoStyleSheet, SheetParsingMode, nsIAtom, nsCSSPropertyID};
use style::gecko_bindings::structs::{nsCSSFontFaceRule, nsCSSCounterStyleRule}; use style::gecko_bindings::structs::{nsCSSFontFaceRule, nsCSSCounterStyleRule};
@ -867,7 +868,8 @@ pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(
mode: SheetParsingMode, mode: SheetParsingMode,
extra_data: *mut URLExtraData, extra_data: *mut URLExtraData,
line_number_offset: u32, line_number_offset: u32,
quirks_mode: nsCompatibility quirks_mode: nsCompatibility,
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 { data.as_ref().unwrap().as_str_unchecked() };
@ -884,7 +886,7 @@ pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(
let loader = if loader.is_null() { let loader = if loader.is_null() {
None None
} else { } else {
Some(StylesheetLoader::new(loader, stylesheet, ptr::null_mut())) Some(StylesheetLoader::new(loader, stylesheet, reusable_sheets))
}; };
// FIXME(emilio): loader.as_ref() doesn't typecheck for some reason? // FIXME(emilio): loader.as_ref() doesn't typecheck for some reason?