From 37d596e00d648f91db7a6afda0622533a621fa67 Mon Sep 17 00:00:00 2001
From: Jonas Jenwald <jonas.jenwald@gmail.com>
Date: Tue, 28 Feb 2017 12:41:43 +0100
Subject: [PATCH] Get rid of a couple `eslint-disable` statements in
 `web/download_manager.js` by instead relying on the preprocessor dead-code
 removal added in PR 7942

---
 web/download_manager.js | 141 ++++++++++++++++++++--------------------
 1 file changed, 71 insertions(+), 70 deletions(-)

diff --git a/web/download_manager.js b/web/download_manager.js
index 0be8a011b..87e29544d 100644
--- a/web/download_manager.js
+++ b/web/download_manager.js
@@ -25,86 +25,87 @@
     factory((root.pdfjsWebDownloadManager = {}), root.pdfjsWebPDFJS);
   }
 }(this, function (exports, pdfjsLib) {
-if (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC || CHROME')) {
-  // eslint-disable-next-line no-inner-declarations
-  function download(blobUrl, filename) {
-    var a = document.createElement('a');
-    if (a.click) {
-      // Use a.click() if available. Otherwise, Chrome might show
-      // "Unsafe JavaScript attempt to initiate a navigation change
-      //  for frame with URL" and not open the PDF at all.
-      // Supported by (not mentioned = untested):
-      // - Firefox 6 - 19 (4- does not support a.click, 5 ignores a.click)
-      // - Chrome 19 - 26 (18- does not support a.click)
-      // - Opera 9 - 12.15
-      // - Internet Explorer 6 - 10
-      // - Safari 6 (5.1- does not support a.click)
-      a.href = blobUrl;
-      a.target = '_parent';
-      // Use a.download if available. This increases the likelihood that
-      // the file is downloaded instead of opened by another PDF plugin.
-      if ('download' in a) {
-        a.download = filename;
-      }
-      // <a> must be in the document for IE and recent Firefox versions.
-      // (otherwise .click() is ignored)
-      (document.body || document.documentElement).appendChild(a);
-      a.click();
-      a.parentNode.removeChild(a);
-    } else {
-      if (window.top === window &&
-          blobUrl.split('#')[0] === window.location.href.split('#')[0]) {
-        // If _parent == self, then opening an identical URL with different
-        // location hash will only cause a navigation, not a download.
-        var padCharacter = blobUrl.indexOf('?') === -1 ? '?' : '&';
-        blobUrl = blobUrl.replace(/#|$/, padCharacter + '$&');
-      }
-      window.open(blobUrl, '_parent');
+if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('FIREFOX || MOZCENTRAL')) {
+  return;
+}
+
+function download(blobUrl, filename) {
+  var a = document.createElement('a');
+  if (a.click) {
+    // Use a.click() if available. Otherwise, Chrome might show
+    // "Unsafe JavaScript attempt to initiate a navigation change
+    //  for frame with URL" and not open the PDF at all.
+    // Supported by (not mentioned = untested):
+    // - Firefox 6 - 19 (4- does not support a.click, 5 ignores a.click)
+    // - Chrome 19 - 26 (18- does not support a.click)
+    // - Opera 9 - 12.15
+    // - Internet Explorer 6 - 10
+    // - Safari 6 (5.1- does not support a.click)
+    a.href = blobUrl;
+    a.target = '_parent';
+    // Use a.download if available. This increases the likelihood that
+    // the file is downloaded instead of opened by another PDF plugin.
+    if ('download' in a) {
+      a.download = filename;
     }
+    // <a> must be in the document for IE and recent Firefox versions.
+    // (otherwise .click() is ignored)
+    (document.body || document.documentElement).appendChild(a);
+    a.click();
+    a.parentNode.removeChild(a);
+  } else {
+    if (window.top === window &&
+        blobUrl.split('#')[0] === window.location.href.split('#')[0]) {
+      // If _parent == self, then opening an identical URL with different
+      // location hash will only cause a navigation, not a download.
+      var padCharacter = blobUrl.indexOf('?') === -1 ? '?' : '&';
+      blobUrl = blobUrl.replace(/#|$/, padCharacter + '$&');
+    }
+    window.open(blobUrl, '_parent');
   }
+}
 
-  function DownloadManager() {} // eslint-disable-line no-inner-declarations
-
-  DownloadManager.prototype = {
-    downloadUrl: function DownloadManager_downloadUrl(url, filename) {
-      if (!pdfjsLib.createValidAbsoluteUrl(url, 'http://example.com')) {
-        return; // restricted/invalid URL
-      }
-      download(url + '#pdfjs.action=download', filename);
-    },
+function DownloadManager() {}
 
-    downloadData: function DownloadManager_downloadData(data, filename,
-                                                        contentType) {
-      if (navigator.msSaveBlob) { // IE10 and above
-        return navigator.msSaveBlob(new Blob([data], { type: contentType }),
-                                    filename);
-      }
+DownloadManager.prototype = {
+  downloadUrl: function DownloadManager_downloadUrl(url, filename) {
+    if (!pdfjsLib.createValidAbsoluteUrl(url, 'http://example.com')) {
+      return; // restricted/invalid URL
+    }
+    download(url + '#pdfjs.action=download', filename);
+  },
 
-      var blobUrl = pdfjsLib.createObjectURL(data, contentType,
-        pdfjsLib.PDFJS.disableCreateObjectURL);
-      download(blobUrl, filename);
-    },
+  downloadData: function DownloadManager_downloadData(data, filename,
+                                                      contentType) {
+    if (navigator.msSaveBlob) { // IE10 and above
+      return navigator.msSaveBlob(new Blob([data], { type: contentType }),
+                                  filename);
+    }
 
-    download: function DownloadManager_download(blob, url, filename) {
-      if (navigator.msSaveBlob) {
-        // IE10 / IE11
-        if (!navigator.msSaveBlob(blob, filename)) {
-          this.downloadUrl(url, filename);
-        }
-        return;
-      }
+    var blobUrl = pdfjsLib.createObjectURL(data, contentType,
+      pdfjsLib.PDFJS.disableCreateObjectURL);
+    download(blobUrl, filename);
+  },
 
-      if (pdfjsLib.PDFJS.disableCreateObjectURL) {
-        // URL.createObjectURL is not supported
+  download: function DownloadManager_download(blob, url, filename) {
+    if (navigator.msSaveBlob) {
+      // IE10 / IE11
+      if (!navigator.msSaveBlob(blob, filename)) {
         this.downloadUrl(url, filename);
-        return;
       }
+      return;
+    }
 
-      var blobUrl = URL.createObjectURL(blob);
-      download(blobUrl, filename);
+    if (pdfjsLib.PDFJS.disableCreateObjectURL) {
+      // URL.createObjectURL is not supported
+      this.downloadUrl(url, filename);
+      return;
     }
-  };
 
-  exports.DownloadManager = DownloadManager;
-}
+    var blobUrl = URL.createObjectURL(blob);
+    download(blobUrl, filename);
+  }
+};
+
+exports.DownloadManager = DownloadManager;
 }));