Backed out changeset f594e6f00208 (bug 1940883) for causing crashes in bug 1941164.
[gecko.git] / toolkit / components / pdfjs / test / browser_pdfjs_minimum_font_size.js
blobac5588b36eeb6850489cf3eb6f4008e06eab2201
1 /* Any copyright is dedicated to the Public Domain.
2  * http://creativecommons.org/publicdomain/zero/1.0/ */
4 const RELATIVE_DIR = "toolkit/components/pdfjs/test/";
5 const TESTROOT = "https://example.com/browser/" + RELATIVE_DIR;
7 /**
8  * Test that the pdf doesn't use the minimum font size.
9  */
10 add_task(async function test() {
11   let mimeService = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService);
12   let handlerInfo = mimeService.getFromTypeAndExtension(
13     "application/pdf",
14     "pdf"
15   );
17   // Make sure pdf.js is the default handler.
18   is(
19     handlerInfo.alwaysAskBeforeHandling,
20     false,
21     "pdf handler defaults to always-ask is false"
22   );
23   is(
24     handlerInfo.preferredAction,
25     Ci.nsIHandlerInfo.handleInternally,
26     "pdf handler defaults to internal"
27   );
29   info("Pref action: " + handlerInfo.preferredAction);
31   await SpecialPowers.pushPrefEnv({
32     set: [["font.minimum-size.x-western", 56]],
33   });
35   await BrowserTestUtils.withNewTab(
36     { gBrowser, url: "about:blank" },
37     async function (browser) {
38       // check that PDF is opened with internal viewer
39       await waitForPdfJSAllLayers(
40         browser,
41         `${TESTROOT}file_pdfjs_test.pdf#zoom=10`,
42         []
43       );
45       await SpecialPowers.spawn(browser, [true], () => {
46         const pageNumberInput = content.document.querySelector("#pageNumber");
47         const { style } = pageNumberInput;
48         const baseHeight =
49           content.document.defaultView.getComputedStyle(pageNumberInput).height;
51         style.fontSize = "1px";
52         const height =
53           content.document.defaultView.getComputedStyle(pageNumberInput).height;
55         // Changing the font size should change the height of the input
56         // element. If the minimum font size is used, the height won't change.
57         Assert.notEqual(
58           baseHeight,
59           height,
60           "The pdf viewer musn't use the minimum font size."
61         );
62       });
63       await waitForPdfJSClose(browser);
64     }
65   );
66 });