Bug 1387953 - Exit early before calling Servo_HasAuthorSpecifiedRules without element data; r?bholley draft
authorManish Goregaokar <manishearth@gmail.com>
Mon, 07 Aug 2017 13:48:09 -0700
changeset 642915 7ca58f1edf446cd6c5ac11f937d04e08c2383e89
parent 642173 fde1450a4368d04e97174e2eb00fb48901179857
child 725147 245a5798713f1cc5b0fa11e2d50823133a30524f
push id72920
push userbmo:manishearth@gmail.com
push dateWed, 09 Aug 2017 00:07:32 +0000
reviewersbholley
bugs1387953
milestone57.0a1
Bug 1387953 - Exit early before calling Servo_HasAuthorSpecifiedRules without element data; r?bholley MozReview-Commit-ID: VrtKytWlcg
layout/base/nsPresContext.cpp
--- a/layout/base/nsPresContext.cpp
+++ b/layout/base/nsPresContext.cpp
@@ -2273,20 +2273,24 @@ nsPresContext::HasAuthorSpecifiedRules(c
       nsRuleNode::HasAuthorSpecifiedRules(geckoStyleContext,
                                           aRuleTypeMask,
                                           UseDocumentColors());
   }
   Element* elem = aFrame->GetContent()->AsElement();
 
   MOZ_ASSERT(elem->GetPseudoElementType() ==
              aFrame->StyleContext()->GetPseudoType());
-  MOZ_ASSERT(elem->HasServoData());
-  return Servo_HasAuthorSpecifiedRules(elem,
-                                       aRuleTypeMask,
-                                       UseDocumentColors());
+  if (elem->HasServoData()) {
+    return Servo_HasAuthorSpecifiedRules(elem,
+                                         aRuleTypeMask,
+                                         UseDocumentColors());
+  } else {
+    // Probably shouldn't happen, but does. See bug 1387953
+    return false;
+  }
 }
 
 gfxUserFontSet*
 nsPresContext::GetUserFontSet(bool aFlushUserFontSet)
 {
   return mDocument->GetUserFontSet(aFlushUserFontSet);
 }