diff --git a/bower.json b/bower.json index 26975571d..acf35d7d5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.0.245", + "version": "1.0.247", "keywords": [ "Mozilla", "pdf", diff --git a/build/pdf.combined.js b/build/pdf.combined.js index 49d63b547..f1271eeca 100644 --- a/build/pdf.combined.js +++ b/build/pdf.combined.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.245'; -PDFJS.build = '0026075'; +PDFJS.version = '1.0.247'; +PDFJS.build = 'f000c04'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it @@ -38740,55 +38740,58 @@ var Parser = (function ParserClosure() { } }, getObj: function Parser_getObj(cipherTransform) { - if (isCmd(this.buf1, 'BI')) { // inline image - this.shift(); - return this.makeInlineImage(cipherTransform); - } - if (isCmd(this.buf1, '[')) { // array - this.shift(); - var array = []; - while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) { - array.push(this.getObj(cipherTransform)); - } - if (isEOF(this.buf1)) { - error('End of file inside array'); - } - this.shift(); - return array; - } - if (isCmd(this.buf1, '<<')) { // dictionary or stream - this.shift(); - var dict = new Dict(this.xref); - while (!isCmd(this.buf1, '>>') && !isEOF(this.buf1)) { - if (!isName(this.buf1)) { - info('Malformed dictionary: key must be a name object'); + var buf1 = this.buf1; + this.shift(); + + if (buf1 instanceof Cmd) { + switch (buf1.cmd) { + case 'BI': // inline image + return this.makeInlineImage(cipherTransform); + case '[': // array + var array = []; + while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) { + array.push(this.getObj(cipherTransform)); + } + if (isEOF(this.buf1)) { + error('End of file inside array'); + } this.shift(); - continue; - } + return array; + case '<<': // dictionary or stream + var dict = new Dict(this.xref); + while (!isCmd(this.buf1, '>>') && !isEOF(this.buf1)) { + if (!isName(this.buf1)) { + info('Malformed dictionary: key must be a name object'); + this.shift(); + continue; + } - var key = this.buf1.name; - this.shift(); - if (isEOF(this.buf1)) { - break; - } - dict.set(key, this.getObj(cipherTransform)); - } - if (isEOF(this.buf1)) { - error('End of file inside dictionary'); - } + var key = this.buf1.name; + this.shift(); + if (isEOF(this.buf1)) { + break; + } + dict.set(key, this.getObj(cipherTransform)); + } + if (isEOF(this.buf1)) { + error('End of file inside dictionary'); + } - // Stream objects are not allowed inside content streams or - // object streams. - if (isCmd(this.buf2, 'stream')) { - return (this.allowStreams ? - this.makeStream(dict, cipherTransform) : dict); + // Stream objects are not allowed inside content streams or + // object streams. + if (isCmd(this.buf2, 'stream')) { + return (this.allowStreams ? + this.makeStream(dict, cipherTransform) : dict); + } + this.shift(); + return dict; + default: // simple object + return buf1; } - this.shift(); - return dict; } - if (isInt(this.buf1)) { // indirect reference or integer - var num = this.buf1; - this.shift(); + + if (isInt(buf1)) { // indirect reference or integer + var num = buf1; if (isInt(this.buf1) && isCmd(this.buf2, 'R')) { var ref = new Ref(num, this.buf1); this.shift(); @@ -38797,9 +38800,9 @@ var Parser = (function ParserClosure() { } return num; } - if (isString(this.buf1)) { // string - var str = this.buf1; - this.shift(); + + if (isString(buf1)) { // string + var str = buf1; if (cipherTransform) { str = cipherTransform.decryptString(str); } @@ -38807,9 +38810,7 @@ var Parser = (function ParserClosure() { } // simple object - var obj = this.buf1; - this.shift(); - return obj; + return buf1; }, makeInlineImage: function Parser_makeInlineImage(cipherTransform) { var lexer = this.lexer; @@ -39314,7 +39315,7 @@ var Lexer = (function LexerClosure() { var x = toHexDigit(ch); if (x != -1) { var x2 = toHexDigit(this.nextChar()); - if (x2 == -1) { + if (x2 === -1) { error('Illegal digit in hex char in name: ' + x2); } strBuf.push(String.fromCharCode((x << 4) | x2)); @@ -39380,7 +39381,7 @@ var Lexer = (function LexerClosure() { return EOF; } if (comment) { - if (ch === 0x0A || ch == 0x0D) { // LF, CR + if (ch === 0x0A || ch === 0x0D) { // LF, CR comment = false; } } else if (ch === 0x25) { // '%' @@ -39447,19 +39448,19 @@ var Lexer = (function LexerClosure() { if (knownCommandFound && !(possibleCommand in knownCommands)) { break; } - if (str.length == 128) { + if (str.length === 128) { error('Command token too long: ' + str.length); } str = possibleCommand; knownCommandFound = knownCommands && (str in knownCommands); } - if (str == 'true') { + if (str === 'true') { return true; } - if (str == 'false') { + if (str === 'false') { return false; } - if (str == 'null') { + if (str === 'null') { return null; } return Cmd.get(str); diff --git a/build/pdf.js b/build/pdf.js index 9582efef6..27ebf95fb 100644 --- a/build/pdf.js +++ b/build/pdf.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.245'; -PDFJS.build = '0026075'; +PDFJS.version = '1.0.247'; +PDFJS.build = 'f000c04'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it diff --git a/build/pdf.worker.js b/build/pdf.worker.js index 12d0a2ce0..09984c82e 100644 --- a/build/pdf.worker.js +++ b/build/pdf.worker.js @@ -21,8 +21,8 @@ if (typeof PDFJS === 'undefined') { (typeof window !== 'undefined' ? window : this).PDFJS = {}; } -PDFJS.version = '1.0.245'; -PDFJS.build = '0026075'; +PDFJS.version = '1.0.247'; +PDFJS.build = 'f000c04'; (function pdfjsWrapper() { // Use strict in our context only - users might not want it @@ -34233,55 +34233,58 @@ var Parser = (function ParserClosure() { } }, getObj: function Parser_getObj(cipherTransform) { - if (isCmd(this.buf1, 'BI')) { // inline image - this.shift(); - return this.makeInlineImage(cipherTransform); - } - if (isCmd(this.buf1, '[')) { // array - this.shift(); - var array = []; - while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) { - array.push(this.getObj(cipherTransform)); - } - if (isEOF(this.buf1)) { - error('End of file inside array'); - } - this.shift(); - return array; - } - if (isCmd(this.buf1, '<<')) { // dictionary or stream - this.shift(); - var dict = new Dict(this.xref); - while (!isCmd(this.buf1, '>>') && !isEOF(this.buf1)) { - if (!isName(this.buf1)) { - info('Malformed dictionary: key must be a name object'); + var buf1 = this.buf1; + this.shift(); + + if (buf1 instanceof Cmd) { + switch (buf1.cmd) { + case 'BI': // inline image + return this.makeInlineImage(cipherTransform); + case '[': // array + var array = []; + while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) { + array.push(this.getObj(cipherTransform)); + } + if (isEOF(this.buf1)) { + error('End of file inside array'); + } this.shift(); - continue; - } + return array; + case '<<': // dictionary or stream + var dict = new Dict(this.xref); + while (!isCmd(this.buf1, '>>') && !isEOF(this.buf1)) { + if (!isName(this.buf1)) { + info('Malformed dictionary: key must be a name object'); + this.shift(); + continue; + } - var key = this.buf1.name; - this.shift(); - if (isEOF(this.buf1)) { - break; - } - dict.set(key, this.getObj(cipherTransform)); - } - if (isEOF(this.buf1)) { - error('End of file inside dictionary'); - } + var key = this.buf1.name; + this.shift(); + if (isEOF(this.buf1)) { + break; + } + dict.set(key, this.getObj(cipherTransform)); + } + if (isEOF(this.buf1)) { + error('End of file inside dictionary'); + } - // Stream objects are not allowed inside content streams or - // object streams. - if (isCmd(this.buf2, 'stream')) { - return (this.allowStreams ? - this.makeStream(dict, cipherTransform) : dict); + // Stream objects are not allowed inside content streams or + // object streams. + if (isCmd(this.buf2, 'stream')) { + return (this.allowStreams ? + this.makeStream(dict, cipherTransform) : dict); + } + this.shift(); + return dict; + default: // simple object + return buf1; } - this.shift(); - return dict; } - if (isInt(this.buf1)) { // indirect reference or integer - var num = this.buf1; - this.shift(); + + if (isInt(buf1)) { // indirect reference or integer + var num = buf1; if (isInt(this.buf1) && isCmd(this.buf2, 'R')) { var ref = new Ref(num, this.buf1); this.shift(); @@ -34290,9 +34293,9 @@ var Parser = (function ParserClosure() { } return num; } - if (isString(this.buf1)) { // string - var str = this.buf1; - this.shift(); + + if (isString(buf1)) { // string + var str = buf1; if (cipherTransform) { str = cipherTransform.decryptString(str); } @@ -34300,9 +34303,7 @@ var Parser = (function ParserClosure() { } // simple object - var obj = this.buf1; - this.shift(); - return obj; + return buf1; }, makeInlineImage: function Parser_makeInlineImage(cipherTransform) { var lexer = this.lexer; @@ -34807,7 +34808,7 @@ var Lexer = (function LexerClosure() { var x = toHexDigit(ch); if (x != -1) { var x2 = toHexDigit(this.nextChar()); - if (x2 == -1) { + if (x2 === -1) { error('Illegal digit in hex char in name: ' + x2); } strBuf.push(String.fromCharCode((x << 4) | x2)); @@ -34873,7 +34874,7 @@ var Lexer = (function LexerClosure() { return EOF; } if (comment) { - if (ch === 0x0A || ch == 0x0D) { // LF, CR + if (ch === 0x0A || ch === 0x0D) { // LF, CR comment = false; } } else if (ch === 0x25) { // '%' @@ -34940,19 +34941,19 @@ var Lexer = (function LexerClosure() { if (knownCommandFound && !(possibleCommand in knownCommands)) { break; } - if (str.length == 128) { + if (str.length === 128) { error('Command token too long: ' + str.length); } str = possibleCommand; knownCommandFound = knownCommands && (str in knownCommands); } - if (str == 'true') { + if (str === 'true') { return true; } - if (str == 'false') { + if (str === 'false') { return false; } - if (str == 'null') { + if (str === 'null') { return null; } return Cmd.get(str); diff --git a/package.json b/package.json index 6da655537..638cb8bdd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pdfjs-dist", - "version": "1.0.245", + "version": "1.0.247", "description": "Generic build of Mozilla's PDF.js library.", "keywords": [ "Mozilla",