diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index c3c9b856dd4..70131075f0c 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -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] pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(data: *const nsACString, mode: SheetParsingMode,