Use SheetType to determine Servo Stylesheet origin, not SheetParsingMode. r?emilio draft
authorCameron McCormack <cam@mcc.id.au>
Sun, 04 Dec 2016 23:14:52 -1000
changeset 447488 2db2b3ab35a030626e707861361e1f843ed4242d
parent 447487 0f5a206029d4e18426bd0e6fc466426efdb44cc1
child 447489 aa06cbe7c9851c1d19b646801e7989c73c58b43d
push id38065
push userbmo:cam@mcc.id.au
push dateMon, 05 Dec 2016 09:22:59 +0000
reviewersemilio
milestone53.0a1
Use SheetType to determine Servo Stylesheet origin, not SheetParsingMode. r?emilio MozReview-Commit-ID: 1dpwXeNYRk0
servo/ports/geckolib/glue.rs
--- a/servo/ports/geckolib/glue.rs
+++ b/servo/ports/geckolib/glue.rs
@@ -36,17 +36,17 @@ use style::gecko_bindings::bindings::{Ra
 use style::gecko_bindings::bindings::{RawServoStyleSheetStrong, ServoComputedValuesStrong};
 use style::gecko_bindings::bindings::{ServoCssRulesBorrowed, ServoCssRulesStrong};
 use style::gecko_bindings::bindings::{ThreadSafePrincipalHolder, ThreadSafeURIHolder};
 use style::gecko_bindings::bindings::{nsACString, nsAString};
 use style::gecko_bindings::bindings::RawGeckoElementBorrowed;
 use style::gecko_bindings::bindings::ServoComputedValuesBorrowedOrNull;
 use style::gecko_bindings::bindings::nsTArrayBorrowed_uintptr_t;
 use style::gecko_bindings::structs;
-use style::gecko_bindings::structs::{SheetParsingMode, nsIAtom};
+use style::gecko_bindings::structs::{SheetType, nsIAtom};
 use style::gecko_bindings::structs::{nsRestyleHint, nsChangeHint};
 use style::gecko_bindings::structs::nsresult;
 use style::gecko_bindings::sugar::ownership::{FFIArcHelpers, HasArcFFI, HasBoxFFI};
 use style::gecko_bindings::sugar::ownership::{HasSimpleFFI, Strong};
 use style::gecko_bindings::sugar::refptr::{GeckoArcPrincipal, GeckoArcURI};
 use style::parallel;
 use style::parser::{ParserContext, ParserContextExtraData};
 use style::properties::{CascadeFlags, ComputedValues, Importance, PropertyDeclaration};
@@ -215,45 +215,47 @@ pub extern "C" fn Servo_Element_ShouldTr
             _ => false,
         }
     } else {
         false
     }
 }
 
 #[no_mangle]
-pub extern "C" fn Servo_StyleSheet_Empty(mode: SheetParsingMode) -> RawServoStyleSheetStrong {
+pub extern "C" fn Servo_StyleSheet_Empty(sheet_type: SheetType) -> RawServoStyleSheetStrong {
     let url = ServoUrl::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 origin = match sheet_type {
+        SheetType::Doc => Origin::Author,
+        SheetType::User => Origin::User,
+        SheetType::Agent => Origin::UserAgent,
+	_ => panic!("unexpected SheetType value"),
     };
     let sheet = Arc::new(Stylesheet::from_str(
         "", url, origin, Default::default(), Box::new(StdoutErrorReporter), extra_data));
     unsafe {
         transmute(sheet)
     }
 }
 
 #[no_mangle]
 pub extern "C" fn Servo_StyleSheet_FromUTF8Bytes(data: *const nsACString,
-                                                 mode: SheetParsingMode,
+                                                 sheet_type: SheetType,
                                                  base_url: *const nsACString,
                                                  base: *mut ThreadSafeURIHolder,
                                                  referrer: *mut ThreadSafeURIHolder,
                                                  principal: *mut ThreadSafePrincipalHolder)
                                                  -> RawServoStyleSheetStrong {
     let input = unsafe { data.as_ref().unwrap().as_str_unchecked() };
 
-    let origin = match mode {
-        SheetParsingMode::eAuthorSheetFeatures => Origin::Author,
-        SheetParsingMode::eUserSheetFeatures => Origin::User,
-        SheetParsingMode::eAgentSheetFeatures => Origin::UserAgent,
+    let origin = match sheet_type {
+        SheetType::Doc => Origin::Author,
+        SheetType::User => Origin::User,
+        SheetType::Agent => Origin::UserAgent,
+	_ => panic!("unexpected SheetType value"),
     };
 
     let base_str = unsafe { base_url.as_ref().unwrap().as_str_unchecked() };
     let url = ServoUrl::parse(base_str).unwrap();
     let extra_data = unsafe { ParserContextExtraData {
         base: Some(GeckoArcURI::new(base)),
         referrer: Some(GeckoArcURI::new(referrer)),
         principal: Some(GeckoArcPrincipal::new(principal)),