mirror of
https://github.com/servo/servo.git
synced 2025-06-28 19:13:41 +01:00
Bug 1292275 - Stylo: Fix crash after failed stylesheet load. r=heycam
Fixes a crash ServoStyleSet::AddDocStyleSheet caused by ServoStyleSheet::RawSheet returning null. MozReview-Commit-ID: BdDosompqTv
This commit is contained in:
parent
1153ca9841
commit
32b05936a9
1 changed files with 16 additions and 0 deletions
|
@ -164,6 +164,22 @@ pub extern "C" fn Servo_Node_ClearNodeData(node: RawGeckoNodeBorrowed) -> () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C" fn Servo_StyleSheet_Empty(mode: SheetParsingMode) -> RawServoStyleSheetStrong {
|
||||||
|
let url = Url::parse("about:blank").unwrap();
|
||||||
|
let extra_data = ParserContextExtraData::default();
|
||||||
|
let origin = match mode {
|
||||||
|
SheetParsingMode::eAuthorSheetFeatures => Origin::Author,
|
||||||
|
SheetParsingMode::eUserSheetFeatures => Origin::User,
|
||||||
|
SheetParsingMode::eAgentSheetFeatures => Origin::UserAgent,
|
||||||
|
};
|
||||||
|
let sheet = Arc::new(Stylesheet::from_str("", url, origin, Box::new(StdoutErrorReporter),
|
||||||
|
extra_data));
|
||||||
|
unsafe {
|
||||||
|
transmute(sheet)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(data: *const nsACString,
|
pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(data: *const nsACString,
|
||||||
mode: SheetParsingMode,
|
mode: SheetParsingMode,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue