Commit 5cc62d9d authored by Stanca Serban's avatar Stanca Serban
Browse files

Backed out changeset 163d0d505694 (bug 1821408) for causing failures in...

Backed out changeset 163d0d505694 (bug 1821408) for causing failures in browser_pdfjs_filters.js. CLOSED TREE
parent 1f08520e
Loading
Loading
Loading
Loading
+12 −15
Original line number Original line Diff line number Diff line
@@ -3,17 +3,13 @@ support-files =
  file_pdfjs_test.pdf
  file_pdfjs_test.pdf
  head.js
  head.js


[browser_pdfjs_hcm.js]
support-files =
  file_pdfjs_hcm.pdf
[browser_pdfjs_download_button.js]
[browser_pdfjs_download_button.js]
[browser_pdfjs_editing_contextmenu.js]
skip-if = headless # the headless clipboard only recognizes unicode mime type
   os == "win" && os_version == "6.1" # Skip on Azure - frequent failure
[browser_pdfjs_editing_telemetry.js]
[browser_pdfjs_fill_login.js]
[browser_pdfjs_fill_login.js]
support-files =
support-files =
  file_pdfjs_form.pdf
  file_pdfjs_form.pdf
[browser_pdfjs_filters.js]
support-files =
  file_pdfjs_transfer_map.pdf
[browser_pdfjs_find.js]
[browser_pdfjs_find.js]
support-files =
support-files =
  file_pdfjs_object_stream.pdf
  file_pdfjs_object_stream.pdf
@@ -22,14 +18,9 @@ support-files =
[browser_pdfjs_form.js]
[browser_pdfjs_form.js]
support-files =
support-files =
  file_pdfjs_form.pdf
  file_pdfjs_form.pdf
[browser_pdfjs_fullscreen.js]
[browser_pdfjs_hcm.js]
support-files =
  file_pdfjs_hcm.pdf
[browser_pdfjs_js.js]
[browser_pdfjs_js.js]
support-files =
support-files =
  file_pdfjs_js.pdf
  file_pdfjs_js.pdf
[browser_pdfjs_load_telemetry.js]
[browser_pdfjs_main.js]
[browser_pdfjs_main.js]
[browser_pdfjs_navigation.js]
[browser_pdfjs_navigation.js]
[browser_pdfjs_nonpdf_filename.js]
[browser_pdfjs_nonpdf_filename.js]
@@ -46,13 +37,19 @@ skip-if = os == 'linux' && bits == 64 # Bug 1773830
support-files =
support-files =
  file_pdfjs_object_stream.pdf
  file_pdfjs_object_stream.pdf
  file_pdfjs_object_stream.pdf^headers^
  file_pdfjs_object_stream.pdf^headers^
[browser_pdfjs_savedialog.js]
skip-if = verify
[browser_pdfjs_saveas.js]
[browser_pdfjs_saveas.js]
support-files =
support-files =
  !/toolkit/content/tests/browser/common/mockTransfer.js
  !/toolkit/content/tests/browser/common/mockTransfer.js
  file_pdf_download_link.html
  file_pdf_download_link.html
[browser_pdfjs_savedialog.js]
skip-if = verify
[browser_pdfjs_secondary_toolbar_telemetry.js]
[browser_pdfjs_views.js]
[browser_pdfjs_views.js]
[browser_pdfjs_zoom.js]
[browser_pdfjs_zoom.js]
skip-if = (verify && debug && (os == 'win'))
skip-if = (verify && debug && (os == 'win'))
[browser_pdfjs_editing_contextmenu.js]
skip-if = headless # the headless clipboard only recognizes unicode mime type
   os == "win" && os_version == "6.1" # Skip on Azure - frequent failure
[browser_pdfjs_editing_telemetry.js]
[browser_pdfjs_secondary_toolbar_telemetry.js]
[browser_pdfjs_fullscreen.js]
[browser_pdfjs_load_telemetry.js]
 No newline at end of file
+0 −79
Original line number Original line Diff line number Diff line
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

const RELATIVE_DIR = "toolkit/components/pdfjs/test/";
const TESTROOT = "https://example.com/browser/" + RELATIVE_DIR;

/**
 * Get the number of red pixels in the canvas.
 * @param {Object} browser
 * @returns {Object}
 */
async function getNumberOfRedPixels(browser) {
  return SpecialPowers.spawn(browser, [], async function() {
    const { document } = content;
    const canvas = document.querySelector("canvas");

    Assert.ok(!!canvas, "We must have a canvas");

    const data = canvas
      .getContext("2d")
      .getImageData(0, 0, canvas.width, canvas.height).data;

    let redPixels = 0;

    for (let i = 0, ii = data.length; i < ii; i += 4) {
      const R = data[i];
      const G = data[i + 1];
      const B = data[i + 2];

      if (R > 128 && R > 4 * G && R > 4 * B) {
        redPixels += 1;
      }
    }

    return redPixels;
  });
}

/**
 * Test that the pdf has the correct color thanks to the SVG filters.
 */
add_task(async function test() {
  let mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
  let handlerInfo = mimeService.getFromTypeAndExtension(
    "application/pdf",
    "pdf"
  );

  // Make sure pdf.js is the default handler.
  is(
    handlerInfo.alwaysAskBeforeHandling,
    false,
    "pdf handler defaults to always-ask is false"
  );
  is(
    handlerInfo.preferredAction,
    Ci.nsIHandlerInfo.handleInternally,
    "pdf handler defaults to internal"
  );

  info("Pref action: " + handlerInfo.preferredAction);

  await BrowserTestUtils.withNewTab(
    { gBrowser, url: "about:blank" },
    async function(browser) {
      // check that PDF is opened with internal viewer
      await waitForPdfJSCanvas(
        browser,
        `${TESTROOT}file_pdfjs_transfer_map.pdf#zoom=100`
      );

      const redPixels = await getNumberOfRedPixels(browser);
      Assert.ok(
        redPixels >= 10000,
        `Not enough red pixels: only ${redPixels} red pixels!`
      );
    }
  );
});
−60.9 KiB

File deleted.