Add support for horizontal scrolling in 'scrollIntoView' in ui_utils.js
Fix setScale regression that affects exiting Presentation Mode on narrow window widths
[CRX] Add a pageAction to omnibox showing PDF URL

In Chromium extensions, the viewer's URL looks like this:
chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/http://example.com/file.pdf

Furthermore, the PDF Viewer itself can also add something to the reference fragment:
chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/http://example.com/file.pdf#page=2

Consequently, it is difficult to copy a clean URL (e.g. for sharing over mail)
without having to tidy-up the URL manually.

This commit solves this issue by adding a button to the omnibox,
which shows the clean PDF URL on click.
Add unprefixed grab/grabbing cursor

Unprefixed "grab" / "grabbing" values of cursor will land in Firefox 27
 (https://bugzilla.mozilla.org/show_bug.cgi?id=880672)
 (https://github.com/Rob--W/grab-to-pan.js/commit/fda961a3)
Correct a typo in `getJavaScript` function expression name.
Fix loading of fonts that are not referenced by an object identifier
Clean up test PDF references
Small cleanup in 'set page'
Add verbosity as an api setting.
Add a singlefile target to build one concatenated file
Set eof to true at the end of a FlateStream

At the initialization of `Lexer_getObj` (in `parser.js`), there's a loop
that skips whitespace and breaks out whenever EOF is encountered.
(https://github.com/mozilla/pdf.js/blob/88ec2bd1a/src/core/parser.js#L586-L599)

Whenever the current character is not a whitespace character,
`ch = this.nextChar();` is used to find the next character
(using `return this.currentChar = this.stream.getByte())`).

The aforementioned `getByte` method retrieves the next byte using
(https://github.com/mozilla/pdf.js/blob/88ec2bd1a/src/core/stream.js#L122-L128)

      var pos = this.pos;
      while (this.bufferLength <= pos) {
        if (this.eof)
          return -1;
        this.readBlock();
      }
      return this.buffer[this.pos++];

This piece of code relies on this.eof to detect whether the last character
has been read. When the stream is a `FlateStream`, and the end of the stream
has been reached, then **`this.eof` is not set to `true`**, because this check
is done inside a loop that does not occur when the read block size is zero:
(https://github.com/mozilla/pdf.js/blob/88ec2bd1ac/src/core/stream.js#L511-L517)

      for (var n = bufferLength; n < end; ++n) {
        if (typeof (b = bytes[bytesPos++]) == 'undefined') {
          this.eof = true;
          break;
        }
        buffer[n] = b;
      }

This commit fixes the issue by setting this.eof to true whenever the loop is not
going to run (i.e. when bufferLength === end, i.e. blockLen === 0).
Add pdf from issue 3885 to tests

Source: https://www.dropbox.com/s/ooqk82fq0gr5p6f/test-min-notext-opt.pdf
[JBIG2] Fix getting decodeParms when it's an array
Fix typo in 'isViewFinished' function name
Rename 'Settings' to 'ViewHistory'
Fix thumbnail rotation regression
Fix singlefile build target
add support for Conkeror
calgray: fix getRgbBuffer problem

This fixes issue 3903.
Remove superfluos <!DOCTYPE html> from page action

Fixes #4064