Attach (recommended) or Link to PDF file here: [A3_Quer.pdf](https://github.com/mozilla/pdf.js/files/7373152/A3_Quer.pdf)


**Configuration:**

- Web browser and its version: Firefox 93.0
- Operating system and its version: macOS 11.6
- PDF.js version: 2.5.207
- Is a browser extension: no

**Steps to reproduce the problem:**
1. Open the attached file in Firefox

We discovered this issue in on older version of this library, but it can be reproduced in the current version of Firefox.

**What is the expected behavior? (add screenshot)**
The file should be rendered with a linear gradient as a background:
![Bildschirmfoto 2021-10-19 um 14 34 00](https://user-images.githubusercontent.com/8649002/137910027-07947e34-700b-4692-b225-d38c36da0d37.png)


**What went wrong? (add screenshot)**
The file is rendered without any background:
![Bildschirmfoto 2021-10-19 um 14 35 05](https://user-images.githubusercontent.com/8649002/137910215-a6b8fb9e-ff95-49f0-93b4-c9f127bd49c1.png)



**Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):**
none
}
    const color = new Float32Array(cs.numComps),
      ratio = new Float32Array(1);
    let rgbColor;
    for (let i = 0; i <= NUMBER_OF_SAMPLES; i++) {
      ratio[0] = t0 + i * step;
      fn(ratio, 0, color, 0);
      rgbColor = cs.getRgb(color, 0);
      const cssColor = Util.makeHexColor(rgbColor[0], rgbColor[1], rgbColor[2]);
      colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);
    }
    let background = "transparent";
    if (dict.has("Background")) {
      rgbColor = cs.getRgb(dict.get("Background"), 0);
      background = Util.makeHexColor(rgbColor[0], rgbColor[1], rgbColor[2]);
    }
    if (!extendStart) {
      
      
      colorStops.unshift([0, background]);
      colorStops[1][0] += BaseShading.SMALL_NUMBER;
    }
    if (!extendEnd) {
      
      colorStops.at(-1)[0] -= BaseShading.SMALL_NUMBER;
      colorStops.push([1, background]);
    }
    this.colorStops = colorStops;
  }
  getIR() {