From 9ef387182919389f77f3f0c213be75a62b56182e Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Sat, 12 Aug 2017 18:34:07 +0800 Subject: [PATCH] geckolib: Add FFI function to get stylesheet origin. --- ports/geckolib/glue.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index f4a767024ac..8c96744fe7c 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -75,6 +75,9 @@ use style::gecko_bindings::structs::{nsRestyleHint, nsChangeHint, PropertyValueP use style::gecko_bindings::structs::IterationCompositeOperation; use style::gecko_bindings::structs::MallocSizeOf; use style::gecko_bindings::structs::OriginFlags; +use style::gecko_bindings::structs::OriginFlags_Author; +use style::gecko_bindings::structs::OriginFlags_User; +use style::gecko_bindings::structs::OriginFlags_UserAgent; use style::gecko_bindings::structs::RawGeckoGfxMatrix4x4; use style::gecko_bindings::structs::RawGeckoPresContextOwned; use style::gecko_bindings::structs::SeenPtrs; @@ -1012,6 +1015,17 @@ pub extern "C" fn Servo_StyleSheet_SizeOfIncludingThis( .malloc_size_of_children(&guard, malloc_size_of) } +#[no_mangle] +pub extern "C" fn Servo_StyleSheet_GetOrigin( + sheet: RawServoStyleSheetContentsBorrowed +) -> OriginFlags { + match StylesheetContents::as_arc(&sheet).origin { + Origin::UserAgent => OriginFlags_UserAgent, + Origin::User => OriginFlags_User, + Origin::Author => OriginFlags_Author, + } +} + fn read_locked_arc(raw: & as HasFFI>::FFIType, func: F) -> R where Locked: HasArcFFI, F: FnOnce(&T) -> R {