Bug 1358993 - (Part 3) Call ServoStyleSheet::ReparseSheet in inDOMUtils::ParseStyleSheet. draft
authorKuoE0 <kuoe0.tw@gmail.com>
Thu, 25 May 2017 10:55:57 +0800
changeset 588877 3ab0c7c2d97b3999ec89065ffa6da479d2a46dbd
parent 588876 327c79f285c5452307cf30946bb4815f5e62b6f4
child 631714 3a91e072f3d0eda7d352e1e07b11c8d3e0bb3cf3
push id62193
push userbmo:kuoe0@mozilla.com
push dateMon, 05 Jun 2017 08:46:15 +0000
bugs1358993
milestone55.0a1
Bug 1358993 - (Part 3) Call ServoStyleSheet::ReparseSheet in inDOMUtils::ParseStyleSheet. MozReview-Commit-ID: KRDBy8k4lHa
layout/inspector/inDOMUtils.cpp
--- a/layout/inspector/inDOMUtils.cpp
+++ b/layout/inspector/inDOMUtils.cpp
@@ -1364,20 +1364,29 @@ inDOMUtils::ClearPseudoClassLocks(nsIDOM
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 inDOMUtils::ParseStyleSheet(nsIDOMCSSStyleSheet *aSheet,
                             const nsAString& aInput)
 {
-  RefPtr<CSSStyleSheet> sheet = do_QueryObject(aSheet);
-  NS_ENSURE_ARG_POINTER(sheet);
+  RefPtr<CSSStyleSheet> geckoSheet = do_QueryObject(aSheet);
+  if (geckoSheet) {
+    NS_ENSURE_ARG_POINTER(geckoSheet);
+    return geckoSheet->ReparseSheet(aInput);
+  }
 
-  return sheet->ReparseSheet(aInput);
+  RefPtr<ServoStyleSheet> servoSheet = do_QueryObject(aSheet);
+  if (servoSheet) {
+    NS_ENSURE_ARG_POINTER(servoSheet);
+    return servoSheet->ReparseSheet(aInput);
+  }
+
+  return NS_ERROR_INVALID_POINTER;
 }
 
 NS_IMETHODIMP
 inDOMUtils::ScrollElementIntoView(nsIDOMElement *aElement)
 {
   nsCOMPtr<nsIContent> content = do_QueryInterface(aElement);
   NS_ENSURE_ARG_POINTER(content);