Bug 1452881: Remove usechromesheets support. r?heycam draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Tue, 10 Apr 2018 10:18:33 +0200
changeset 779573 1cccef72c1ace0094e02afdfff42b400adf30e22
parent 779572 35462557fa49cb86ce47420db75f59b9a5ff37fb
child 779601 6b3f9e118949e22ccf37cd3bc79b9857d11b4a22
push id105807
push userbmo:emilio@crisal.io
push dateTue, 10 Apr 2018 08:19:43 +0000
reviewersheycam
bugs1452881
milestone61.0a1
Bug 1452881: Remove usechromesheets support. r?heycam MozReview-Commit-ID: I7BAxAHMZAK
layout/base/nsDocumentViewer.cpp
--- a/layout/base/nsDocumentViewer.cpp
+++ b/layout/base/nsDocumentViewer.cpp
@@ -2345,62 +2345,19 @@ nsDocumentViewer::CreateStyleSet(nsIDocu
     sheet = cache->UserContentSheet();
   }
 
   if (sheet) {
     styleSet->AppendStyleSheet(SheetType::User, sheet->AsServo());
   }
 
   // Append chrome sheets (scrollbars + forms).
-  bool shouldOverride = false;
-  // We don't want a docshell here for external resource docs, so just
-  // look at mContainer.
-  nsCOMPtr<nsIDocShell> ds(mContainer);
-  nsCOMPtr<nsIDOMEventTarget> chromeHandler;
-  nsCOMPtr<nsIURI> uri;
-  RefPtr<StyleSheet> chromeSheet;
-
-  if (ds) {
-    ds->GetChromeEventHandler(getter_AddRefs(chromeHandler));
-  }
-  if (chromeHandler) {
-    nsCOMPtr<Element> elt(do_QueryInterface(chromeHandler));
-    if (elt) {
-      nsCOMPtr<nsIURI> baseURI = elt->GetBaseURI();
-
-      nsAutoString sheets;
-      elt->GetAttribute(NS_LITERAL_STRING("usechromesheets"), sheets);
-      if (!sheets.IsEmpty() && baseURI) {
-        RefPtr<css::Loader> cssLoader =
-          new css::Loader(aDocument->GetDocGroup());
-
-        char *str = ToNewCString(sheets);
-        char *newStr = str;
-        char *token;
-        while ( (token = nsCRT::strtok(newStr, ", ", &newStr)) ) {
-          NS_NewURI(getter_AddRefs(uri), nsDependentCString(token), nullptr,
-                    baseURI);
-          if (!uri) continue;
-
-          cssLoader->LoadSheetSync(uri, &chromeSheet);
-          if (!chromeSheet) continue;
-
-          styleSet->PrependStyleSheet(SheetType::Agent, chromeSheet->AsServo());
-          shouldOverride = true;
-        }
-        free(str);
-      }
-    }
-  }
-
-  if (!shouldOverride) {
-    sheet = cache->ScrollbarsSheet();
-    if (sheet) {
-      styleSet->PrependStyleSheet(SheetType::Agent, sheet->AsServo());
-    }
+  sheet = cache->ScrollbarsSheet();
+  if (sheet) {
+    styleSet->PrependStyleSheet(SheetType::Agent, sheet->AsServo());
   }
 
   if (!aDocument->IsSVGDocument()) {
     // !!! IMPORTANT - KEEP THIS BLOCK IN SYNC WITH
     // !!! SVGDocument::EnsureNonSVGUserAgentStyleSheetsLoaded.
 
     // SVGForeignObjectElement::BindToTree calls SVGDocument::
     // EnsureNonSVGUserAgentStyleSheetsLoaded to loads these UA sheet