I'm sorry if it's a duplicate, I found lots of issues with gradients but none of the open ones looks similar.
It's apparently the PDF code `/Matrix [440 0 0 -200 20 220]` (line 44 in both files) that causes the problem.

**Configuration:**
- Web browser and its version: Chrome 54
- Operating system and its version: Windows 10
- PDF.js version: 1.6.343

**Steps to reproduce the problem:**
Open attached files:
[radial.pdf](https://github.com/mozilla/pdf.js/files/610302/radial.pdf)
[linear.pdf](https://github.com/mozilla/pdf.js/files/610300/linear.pdf)

**What is the expected behavior?** (Adobe Reader 11)
![image](https://cloud.githubusercontent.com/assets/17966696/20583379/fa80d780-b1f1-11e6-85d2-62dd6970a08c.png)

**What went wrong?** (mozilla.github.io/pdf.js/web/viewer.html)
Gradients aren't correctly transformed
![image](https://cloud.githubusercontent.com/assets/17966696/20583361/cf5bb8a4-b1f1-11e6-9479-9cc606b41187.png)

const BORDER_SIZE = 2;
    const offsetX = Math.floor(bounds[0]);
    const offsetY = Math.floor(bounds[1]);
    const boundsWidth = Math.ceil(bounds[2]) - offsetX;
    const boundsHeight = Math.ceil(bounds[3]) - offsetY;
    const width = Math.min(
      Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)),
      MAX_PATTERN_SIZE
    );
    const height = Math.min(
      Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)),
      MAX_PATTERN_SIZE
    );
    const scaleX = boundsWidth / width;
    const scaleY = boundsHeight / height;
    const context = {
      coords,
      colors,
      offsetX: -offsetX,
      offsetY: -offsetY,
      scaleX: 1 / scaleX,
      scaleY: 1 / scaleY,
    };
    const paddedWidth = width + BORDER_SIZE * 2;
    const paddedHeight = height + BORDER_SIZE * 2;
    const tmpCanvas = cachedCanvases.getCanvas(
      "mesh",
      paddedWidth,