From 4e368f8199a61c6319621ad1b9d6c352f0319f41 Mon Sep 17 00:00:00 2001
From: wolfbeast <mcwerewolf@gmail.com>
Date: Fri, 30 Mar 2018 08:50:58 +0200
Subject: Remove base conditional code for crash reporter and injector.

---
 layout/style/nsLayoutStylesheetCache.cpp | 293 -------------------------------
 1 file changed, 293 deletions(-)

(limited to 'layout')

diff --git a/layout/style/nsLayoutStylesheetCache.cpp b/layout/style/nsLayoutStylesheetCache.cpp
index f8aea5541..e8c6d09d7 100644
--- a/layout/style/nsLayoutStylesheetCache.cpp
+++ b/layout/style/nsLayoutStylesheetCache.cpp
@@ -23,19 +23,6 @@
 #include "nsPrintfCString.h"
 #include "nsXULAppAPI.h"
 
-// Includes for the crash report annotation in ErrorLoadingSheet.
-#ifdef MOZ_CRASHREPORTER
-#include "mozilla/Omnijar.h"
-#include "nsDirectoryService.h"
-#include "nsDirectoryServiceDefs.h"
-#include "nsExceptionHandler.h"
-#include "nsIChromeRegistry.h"
-#include "nsISimpleEnumerator.h"
-#include "nsISubstitutingProtocolHandler.h"
-#include "zlib.h"
-#include "nsZipArchive.h"
-#endif
-
 using namespace mozilla;
 using namespace mozilla::css;
 
@@ -463,280 +450,6 @@ nsLayoutStylesheetCache::LoadSheetFile(nsIFile* aFile,
   LoadSheet(uri, aSheet, aParsingMode, aFailureAction);
 }
 
-#ifdef MOZ_CRASHREPORTER
-static inline nsresult
-ComputeCRC32(nsIFile* aFile, uint32_t* aResult)
-{
-  PRFileDesc* fd;
-  nsresult rv = aFile->OpenNSPRFileDesc(PR_RDONLY, 0, &fd);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  uint32_t crc = crc32(0, nullptr, 0);
-
-  unsigned char buf[512];
-  int32_t n;
-  while ((n = PR_Read(fd, buf, sizeof(buf))) > 0) {
-    crc = crc32(crc, buf, n);
-  }
-  PR_Close(fd);
-
-  if (n < 0) {
-    return NS_ERROR_FAILURE;
-  }
-
-  *aResult = crc;
-  return NS_OK;
-}
-
-static void
-ListInterestingFiles(nsString& aAnnotation, nsIFile* aFile,
-                     const nsTArray<nsString>& aInterestingFilenames)
-{
-  nsString filename;
-  aFile->GetLeafName(filename);
-  for (const nsString& interestingFilename : aInterestingFilenames) {
-    if (interestingFilename == filename) {
-      nsString path;
-      aFile->GetPath(path);
-      aAnnotation.AppendLiteral("  ");
-      aAnnotation.Append(path);
-      aAnnotation.AppendLiteral(" (");
-      int64_t size;
-      if (NS_SUCCEEDED(aFile->GetFileSize(&size))) {
-        aAnnotation.AppendPrintf("%ld", size);
-      } else {
-        aAnnotation.AppendLiteral("???");
-      }
-      aAnnotation.AppendLiteral(" bytes, crc32 = ");
-      uint32_t crc;
-      nsresult rv = ComputeCRC32(aFile, &crc);
-      if (NS_SUCCEEDED(rv)) {
-        aAnnotation.AppendPrintf("0x%08x)\n", crc);
-      } else {
-        aAnnotation.AppendPrintf("error 0x%08x)\n", uint32_t(rv));
-      }
-      return;
-    }
-  }
-
-  bool isDir = false;
-  aFile->IsDirectory(&isDir);
-
-  if (!isDir) {
-    return;
-  }
-
-  nsCOMPtr<nsISimpleEnumerator> entries;
-  if (NS_FAILED(aFile->GetDirectoryEntries(getter_AddRefs(entries)))) {
-    aAnnotation.AppendLiteral("  (failed to enumerated directory)\n");
-    return;
-  }
-
-  for (;;) {
-    bool hasMore = false;
-    if (NS_FAILED(entries->HasMoreElements(&hasMore))) {
-      aAnnotation.AppendLiteral("  (failed during directory enumeration)\n");
-      return;
-    }
-    if (!hasMore) {
-      break;
-    }
-
-    nsCOMPtr<nsISupports> entry;
-    if (NS_FAILED(entries->GetNext(getter_AddRefs(entry)))) {
-      aAnnotation.AppendLiteral("  (failed during directory enumeration)\n");
-      return;
-    }
-
-    nsCOMPtr<nsIFile> file = do_QueryInterface(entry);
-    if (file) {
-      ListInterestingFiles(aAnnotation, file, aInterestingFilenames);
-    }
-  }
-}
-
-// Generate a crash report annotation to help debug issues with style
-// sheets failing to load (bug 1194856).
-static void
-AnnotateCrashReport(nsIURI* aURI)
-{
-  nsAutoCString spec;
-  nsAutoCString scheme;
-  nsDependentCSubstring filename;
-  if (aURI) {
-    spec = aURI->GetSpecOrDefault();
-    aURI->GetScheme(scheme);
-    int32_t i = spec.RFindChar('/');
-    if (i != -1) {
-      filename.Rebind(spec, i + 1);
-    }
-  }
-
-  nsString annotation;
-
-  // The URL of the sheet that failed to load.
-  annotation.AppendLiteral("Error loading sheet: ");
-  annotation.Append(NS_ConvertUTF8toUTF16(spec).get());
-  annotation.Append('\n');
-
-  annotation.AppendLiteral("NS_ERROR_FILE_CORRUPTION reason: ");
-  if (nsZipArchive::sFileCorruptedReason) {
-    annotation.Append(NS_ConvertUTF8toUTF16(nsZipArchive::sFileCorruptedReason).get());
-    annotation.Append('\n');
-  } else {
-    annotation.AppendLiteral("(none)\n");
-  }
-
-  // The jar: or file: URL that the sheet's resource: or chrome: URL
-  // resolves to.
-  if (scheme.EqualsLiteral("resource")) {
-    annotation.AppendLiteral("Real location: ");
-    nsCOMPtr<nsISubstitutingProtocolHandler> handler;
-    nsCOMPtr<nsIIOService> io(do_GetIOService());
-    if (io) {
-      nsCOMPtr<nsIProtocolHandler> ph;
-      io->GetProtocolHandler(scheme.get(), getter_AddRefs(ph));
-      if (ph) {
-        handler = do_QueryInterface(ph);
-      }
-    }
-    if (!handler) {
-      annotation.AppendLiteral("(ResolveURI failed)\n");
-    } else {
-      nsAutoCString resolvedSpec;
-      handler->ResolveURI(aURI, resolvedSpec);
-      annotation.Append(NS_ConvertUTF8toUTF16(resolvedSpec));
-      annotation.Append('\n');
-    }
-  } else if (scheme.EqualsLiteral("chrome")) {
-    annotation.AppendLiteral("Real location: ");
-    nsCOMPtr<nsIChromeRegistry> reg =
-      mozilla::services::GetChromeRegistryService();
-    if (!reg) {
-      annotation.AppendLiteral("(no chrome registry)\n");
-    } else {
-      nsCOMPtr<nsIURI> resolvedURI;
-      reg->ConvertChromeURL(aURI, getter_AddRefs(resolvedURI));
-      if (!resolvedURI) {
-        annotation.AppendLiteral("(ConvertChromeURL failed)\n");
-      } else {
-        annotation.Append(
-          NS_ConvertUTF8toUTF16(resolvedURI->GetSpecOrDefault()));
-        annotation.Append('\n');
-      }
-    }
-  }
-
-  nsTArray<nsString> interestingFiles;
-  interestingFiles.AppendElement(NS_LITERAL_STRING("chrome.manifest"));
-  interestingFiles.AppendElement(NS_LITERAL_STRING("omni.ja"));
-  interestingFiles.AppendElement(NS_ConvertUTF8toUTF16(filename));
-
-  annotation.AppendLiteral("GRE directory: ");
-  nsCOMPtr<nsIFile> file;
-  nsDirectoryService::gService->Get(NS_GRE_DIR, NS_GET_IID(nsIFile),
-                                    getter_AddRefs(file));
-  if (file) {
-    // The Firefox installation directory.
-    nsString path;
-    file->GetPath(path);
-    annotation.Append(path);
-    annotation.Append('\n');
-
-    // List interesting files -- any chrome.manifest or omni.ja file or any file
-    // whose name is the sheet's filename -- under the Firefox installation
-    // directory.
-    annotation.AppendLiteral("Interesting files in the GRE directory:\n");
-    ListInterestingFiles(annotation, file, interestingFiles);
-
-    // If the Firefox installation directory has a chrome.manifest file, let's
-    // see what's in it.
-    file->Append(NS_LITERAL_STRING("chrome.manifest"));
-    bool exists = false;
-    file->Exists(&exists);
-    if (exists) {
-      annotation.AppendLiteral("Contents of chrome.manifest:\n[[[\n");
-      PRFileDesc* fd;
-      if (NS_SUCCEEDED(file->OpenNSPRFileDesc(PR_RDONLY, 0, &fd))) {
-        nsCString contents;
-        char buf[512];
-        int32_t n;
-        while ((n = PR_Read(fd, buf, sizeof(buf))) > 0) {
-          contents.Append(buf, n);
-        }
-        if (n < 0) {
-          annotation.AppendLiteral("  (error while reading)\n");
-        } else {
-          annotation.Append(NS_ConvertUTF8toUTF16(contents));
-        }
-        PR_Close(fd);
-      }
-      annotation.AppendLiteral("]]]\n");
-    }
-  } else {
-    annotation.AppendLiteral("(none)\n");
-  }
-
-  // The jar: or file: URL prefix that chrome: and resource: URLs get translated
-  // to.
-  annotation.AppendLiteral("GRE omnijar URI string: ");
-  nsCString uri;
-  nsresult rv = Omnijar::GetURIString(Omnijar::GRE, uri);
-  if (NS_FAILED(rv)) {
-    annotation.AppendLiteral("(failed)\n");
-  } else {
-    annotation.Append(NS_ConvertUTF8toUTF16(uri));
-    annotation.Append('\n');
-  }
-
-  RefPtr<nsZipArchive> zip = Omnijar::GetReader(Omnijar::GRE);
-  if (zip) {
-    // List interesting files in the GRE omnijar.
-    annotation.AppendLiteral("Interesting files in the GRE omnijar:\n");
-    nsZipFind* find;
-    rv = zip->FindInit(nullptr, &find);
-    if (NS_FAILED(rv)) {
-      annotation.AppendPrintf("  (FindInit failed with 0x%08x)\n", rv);
-    } else if (!find) {
-      annotation.AppendLiteral("  (FindInit returned null)\n");
-    } else {
-      const char* result;
-      uint16_t len;
-      while (NS_SUCCEEDED(find->FindNext(&result, &len))) {
-        nsCString itemPathname;
-        nsString itemFilename;
-        itemPathname.Append(result, len);
-        int32_t i = itemPathname.RFindChar('/');
-        if (i != -1) {
-          itemFilename = NS_ConvertUTF8toUTF16(Substring(itemPathname, i + 1));
-        }
-        for (const nsString& interestingFile : interestingFiles) {
-          if (interestingFile == itemFilename) {
-            annotation.AppendLiteral("  ");
-            annotation.Append(NS_ConvertUTF8toUTF16(itemPathname));
-            nsZipItem* item = zip->GetItem(itemPathname.get());
-            if (!item) {
-              annotation.AppendLiteral(" (GetItem failed)\n");
-            } else {
-              annotation.AppendPrintf(" (%d bytes, crc32 = 0x%08x)\n",
-                                      item->RealSize(),
-                                      item->CRC32());
-            }
-            break;
-          }
-        }
-      }
-      delete find;
-    }
-  } else {
-    annotation.AppendLiteral("No GRE omnijar\n");
-  }
-
-  CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("SheetLoadFailure"),
-                                     NS_ConvertUTF16toUTF8(annotation));
-}
-#endif
-
 static void
 ErrorLoadingSheet(nsIURI* aURI, const char* aMsg, FailureAction aFailureAction)
 {
@@ -751,9 +464,6 @@ ErrorLoadingSheet(nsIURI* aURI, const char* aMsg, FailureAction aFailureAction)
     }
   }
 
-#ifdef MOZ_CRASHREPORTER
-  AnnotateCrashReport(aURI);
-#endif
   NS_RUNTIMEABORT(errorMessage.get());
 }
 
@@ -780,9 +490,6 @@ nsLayoutStylesheetCache::LoadSheet(nsIURI* aURI,
     }
   }
 
-#ifdef MOZ_CRASHREPORTER
-  nsZipArchive::sFileCorruptedReason = nullptr;
-#endif
   nsresult rv = loader->LoadSheetSync(aURI, aParsingMode, true, aSheet);
   if (NS_FAILED(rv)) {
     ErrorLoadingSheet(aURI,
-- 
cgit v1.2.3