Merge pull request #7053 from yurydelendik/rm-pdfjs-core
Removes global PDFJS usage from the src/core/.
This commit is contained in:
commit
df7afcf004
@ -17,17 +17,14 @@
|
|||||||
|
|
||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/core/bidi', ['exports', 'pdfjs/shared/global'], factory);
|
define('pdfjs/core/bidi', ['exports'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/global.js'));
|
factory(exports);
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsCoreBidi = {}), root.pdfjsSharedGlobal);
|
factory((root.pdfjsCoreBidi = {}));
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedGlobal) {
|
}(this, function (exports) {
|
||||||
|
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
|
||||||
|
|
||||||
var bidi = PDFJS.bidi = (function bidiClosure() {
|
|
||||||
// Character types for symbols from 0000 to 00FF.
|
// Character types for symbols from 0000 to 00FF.
|
||||||
var baseTypes = [
|
var baseTypes = [
|
||||||
'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS',
|
'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS',
|
||||||
@ -430,8 +427,5 @@ var bidi = PDFJS.bidi = (function bidiClosure() {
|
|||||||
return createBidiText(chars.join(''), isLTR);
|
return createBidiText(chars.join(''), isLTR);
|
||||||
}
|
}
|
||||||
|
|
||||||
return bidi;
|
|
||||||
})();
|
|
||||||
|
|
||||||
exports.bidi = bidi;
|
exports.bidi = bidi;
|
||||||
}));
|
}));
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -35,7 +34,6 @@ var assert = sharedUtil.assert;
|
|||||||
var error = sharedUtil.error;
|
var error = sharedUtil.error;
|
||||||
var isInt = sharedUtil.isInt;
|
var isInt = sharedUtil.isInt;
|
||||||
var isString = sharedUtil.isString;
|
var isString = sharedUtil.isString;
|
||||||
var warn = sharedUtil.warn;
|
|
||||||
var isName = corePrimitives.isName;
|
var isName = corePrimitives.isName;
|
||||||
var isCmd = corePrimitives.isCmd;
|
var isCmd = corePrimitives.isCmd;
|
||||||
var isStream = corePrimitives.isStream;
|
var isStream = corePrimitives.isStream;
|
||||||
|
@ -79,6 +79,7 @@ var Page = (function PageClosure() {
|
|||||||
this.idCounters = {
|
this.idCounters = {
|
||||||
obj: 0
|
obj: 0
|
||||||
};
|
};
|
||||||
|
this.evaluatorOptions = pdfManager.evaluatorOptions;
|
||||||
this.resourcesPromise = null;
|
this.resourcesPromise = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,7 +225,8 @@ var Page = (function PageClosure() {
|
|||||||
handler, this.pageIndex,
|
handler, this.pageIndex,
|
||||||
'p' + this.pageIndex + '_',
|
'p' + this.pageIndex + '_',
|
||||||
this.idCounters,
|
this.idCounters,
|
||||||
this.fontCache);
|
this.fontCache,
|
||||||
|
this.evaluatorOptions);
|
||||||
|
|
||||||
var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
|
var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);
|
||||||
var pageListPromise = dataPromises.then(function(data) {
|
var pageListPromise = dataPromises.then(function(data) {
|
||||||
@ -289,7 +291,8 @@ var Page = (function PageClosure() {
|
|||||||
handler, self.pageIndex,
|
handler, self.pageIndex,
|
||||||
'p' + self.pageIndex + '_',
|
'p' + self.pageIndex + '_',
|
||||||
self.idCounters,
|
self.idCounters,
|
||||||
self.fontCache);
|
self.fontCache,
|
||||||
|
self.evaluatorOptions);
|
||||||
|
|
||||||
return partialEvaluator.getTextContent(contentStream,
|
return partialEvaluator.getTextContent(contentStream,
|
||||||
task,
|
task,
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -108,8 +107,15 @@ var getUnicodeForGlyph = coreUnicode.getUnicodeForGlyph;
|
|||||||
var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode;
|
var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode;
|
||||||
|
|
||||||
var PartialEvaluator = (function PartialEvaluatorClosure() {
|
var PartialEvaluator = (function PartialEvaluatorClosure() {
|
||||||
|
var DefaultPartialEvaluatorOptions = {
|
||||||
|
forceDataSchema: false,
|
||||||
|
maxImageSize: -1,
|
||||||
|
disableFontFace: false,
|
||||||
|
cMapOptions: { url: null, packed: false }
|
||||||
|
};
|
||||||
|
|
||||||
function PartialEvaluator(pdfManager, xref, handler, pageIndex,
|
function PartialEvaluator(pdfManager, xref, handler, pageIndex,
|
||||||
uniquePrefix, idCounters, fontCache) {
|
uniquePrefix, idCounters, fontCache, options) {
|
||||||
this.pdfManager = pdfManager;
|
this.pdfManager = pdfManager;
|
||||||
this.xref = xref;
|
this.xref = xref;
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
@ -117,6 +123,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
this.uniquePrefix = uniquePrefix;
|
this.uniquePrefix = uniquePrefix;
|
||||||
this.idCounters = idCounters;
|
this.idCounters = idCounters;
|
||||||
this.fontCache = fontCache;
|
this.fontCache = fontCache;
|
||||||
|
this.options = options || DefaultPartialEvaluatorOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trying to minimize Date.now() usage and check every 100 time
|
// Trying to minimize Date.now() usage and check every 100 time
|
||||||
@ -275,7 +282,8 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
warn('Image dimensions are missing, or not numbers.');
|
warn('Image dimensions are missing, or not numbers.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (PDFJS.maxImageSize !== -1 && w * h > PDFJS.maxImageSize) {
|
var maxImageSize = this.options.maxImageSize;
|
||||||
|
if (maxImageSize !== -1 && w * h > maxImageSize) {
|
||||||
warn('Image exceeded maximum allowed size and was removed.');
|
warn('Image exceeded maximum allowed size and was removed.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -339,11 +347,13 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
// These JPEGs don't need any more processing so we can just send it.
|
// These JPEGs don't need any more processing so we can just send it.
|
||||||
operatorList.addOp(OPS.paintJpegXObject, args);
|
operatorList.addOp(OPS.paintJpegXObject, args);
|
||||||
this.handler.send('obj',
|
this.handler.send('obj',
|
||||||
[objId, this.pageIndex, 'JpegStream', image.getIR()]);
|
[objId, this.pageIndex, 'JpegStream',
|
||||||
|
image.getIR(this.options.forceDataSchema)]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PDFImage.buildImage(self.handler, self.xref, resources, image, inline).
|
PDFImage.buildImage(self.handler, self.xref, resources, image, inline,
|
||||||
|
this.options.forceDataSchema).
|
||||||
then(function(imageObj) {
|
then(function(imageObj) {
|
||||||
var imgData = imageObj.createImageData(/* forceRGBA = */ false);
|
var imgData = imageObj.createImageData(/* forceRGBA = */ false);
|
||||||
self.handler.send('obj', [objId, self.pageIndex, 'Image', imgData],
|
self.handler.send('obj', [objId, self.pageIndex, 'Image', imgData],
|
||||||
@ -451,7 +461,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
var glyphs = font.charsToGlyphs(chars);
|
var glyphs = font.charsToGlyphs(chars);
|
||||||
var isAddToPathSet = !!(state.textRenderingMode &
|
var isAddToPathSet = !!(state.textRenderingMode &
|
||||||
TextRenderingMode.ADD_TO_PATH_FLAG);
|
TextRenderingMode.ADD_TO_PATH_FLAG);
|
||||||
if (font.data && (isAddToPathSet || PDFJS.disableFontFace)) {
|
if (font.data && (isAddToPathSet || this.options.disableFontFace)) {
|
||||||
var buildPath = function (fontChar) {
|
var buildPath = function (fontChar) {
|
||||||
if (!font.renderer.hasBuiltPath(fontChar)) {
|
if (!font.renderer.hasBuiltPath(fontChar)) {
|
||||||
var path = font.renderer.getPathJs(fontChar);
|
var path = font.renderer.getPathJs(fontChar);
|
||||||
@ -1174,7 +1184,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
|
|
||||||
function runBidiTransform(textChunk) {
|
function runBidiTransform(textChunk) {
|
||||||
var str = textChunk.str.join('');
|
var str = textChunk.str.join('');
|
||||||
var bidiResult = PDFJS.bidi(str, -1, textChunk.vertical);
|
var bidiResult = bidi(str, -1, textChunk.vertical);
|
||||||
return {
|
return {
|
||||||
str: (normalizeWhitespace ? replaceWhitespace(bidiResult.str) :
|
str: (normalizeWhitespace ? replaceWhitespace(bidiResult.str) :
|
||||||
bidiResult.str),
|
bidiResult.str),
|
||||||
@ -1757,8 +1767,8 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
var ucs2CMapName = new Name(registry + '-' + ordering + '-UCS2');
|
var ucs2CMapName = new Name(registry + '-' + ordering + '-UCS2');
|
||||||
// d) Obtain the CMap with the name constructed in step (c) (available
|
// d) Obtain the CMap with the name constructed in step (c) (available
|
||||||
// from the ASN Web site; see the Bibliography).
|
// from the ASN Web site; see the Bibliography).
|
||||||
return CMapFactory.create(ucs2CMapName,
|
return CMapFactory.create(ucs2CMapName, this.options.cMapOptions,
|
||||||
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).then(
|
null).then(
|
||||||
function (ucs2CMap) {
|
function (ucs2CMap) {
|
||||||
var cMap = properties.cMap;
|
var cMap = properties.cMap;
|
||||||
toUnicode = [];
|
toUnicode = [];
|
||||||
@ -1785,8 +1795,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
|
readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {
|
||||||
var cmapObj = toUnicode;
|
var cmapObj = toUnicode;
|
||||||
if (isName(cmapObj)) {
|
if (isName(cmapObj)) {
|
||||||
return CMapFactory.create(cmapObj,
|
return CMapFactory.create(cmapObj, this.options.cMapOptions, null).then(
|
||||||
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).then(
|
|
||||||
function (cmap) {
|
function (cmap) {
|
||||||
if (cmap instanceof IdentityCMap) {
|
if (cmap instanceof IdentityCMap) {
|
||||||
return new IdentityToUnicodeMap(0, 0xFFFF);
|
return new IdentityToUnicodeMap(0, 0xFFFF);
|
||||||
@ -1794,8 +1803,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
return new ToUnicodeMap(cmap.getMap());
|
return new ToUnicodeMap(cmap.getMap());
|
||||||
});
|
});
|
||||||
} else if (isStream(cmapObj)) {
|
} else if (isStream(cmapObj)) {
|
||||||
return CMapFactory.create(cmapObj,
|
return CMapFactory.create(cmapObj, this.options.cMapOptions, null).then(
|
||||||
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).then(
|
|
||||||
function (cmap) {
|
function (cmap) {
|
||||||
if (cmap instanceof IdentityCMap) {
|
if (cmap instanceof IdentityCMap) {
|
||||||
return new IdentityToUnicodeMap(0, 0xFFFF);
|
return new IdentityToUnicodeMap(0, 0xFFFF);
|
||||||
@ -2086,6 +2094,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
var descriptor = preEvaluatedFont.descriptor;
|
var descriptor = preEvaluatedFont.descriptor;
|
||||||
var type = preEvaluatedFont.type;
|
var type = preEvaluatedFont.type;
|
||||||
var maxCharIndex = (composite ? 0xFFFF : 0xFF);
|
var maxCharIndex = (composite ? 0xFFFF : 0xFF);
|
||||||
|
var cMapOptions = this.options.cMapOptions;
|
||||||
var properties;
|
var properties;
|
||||||
|
|
||||||
if (!descriptor) {
|
if (!descriptor) {
|
||||||
@ -2213,8 +2222,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
if (isName(cidEncoding)) {
|
if (isName(cidEncoding)) {
|
||||||
properties.cidEncoding = cidEncoding.name;
|
properties.cidEncoding = cidEncoding.name;
|
||||||
}
|
}
|
||||||
cMapPromise = CMapFactory.create(cidEncoding,
|
cMapPromise = CMapFactory.create(cidEncoding, cMapOptions, null).then(
|
||||||
{ url: PDFJS.cMapUrl, packed: PDFJS.cMapPacked }, null).then(
|
|
||||||
function (cMap) {
|
function (cMap) {
|
||||||
properties.cMap = cMap;
|
properties.cMap = cMap;
|
||||||
properties.vertical = properties.cMap.vertical;
|
properties.vertical = properties.cMap.vertical;
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -20,24 +19,24 @@
|
|||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/core/fonts', ['exports', 'pdfjs/shared/util',
|
define('pdfjs/core/fonts', ['exports', 'pdfjs/shared/util',
|
||||||
'pdfjs/core/primitives', 'pdfjs/core/stream', 'pdfjs/core/parser',
|
'pdfjs/core/primitives', 'pdfjs/core/stream', 'pdfjs/core/parser',
|
||||||
'pdfjs/core/cmap', 'pdfjs/core/glyphlist', 'pdfjs/core/charsets',
|
'pdfjs/core/glyphlist', 'pdfjs/core/charsets',
|
||||||
'pdfjs/core/font_renderer', 'pdfjs/core/encodings',
|
'pdfjs/core/font_renderer', 'pdfjs/core/encodings',
|
||||||
'pdfjs/core/standard_fonts', 'pdfjs/core/unicode'], factory);
|
'pdfjs/core/standard_fonts', 'pdfjs/core/unicode'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'), require('./primitives.js'),
|
factory(exports, require('../shared/util.js'), require('./primitives.js'),
|
||||||
require('./stream.js'), require('./parser.js'), require('./cmap.js'),
|
require('./stream.js'), require('./parser.js'),
|
||||||
require('./glyphlist.js'), require('./charsets.js'),
|
require('./glyphlist.js'), require('./charsets.js'),
|
||||||
require('./font_renderer.js'), require('./encodings.js'),
|
require('./font_renderer.js'), require('./encodings.js'),
|
||||||
require('./standard_fonts'), require('./unicode.js'));
|
require('./standard_fonts'), require('./unicode.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsCoreFonts = {}), root.pdfjsSharedUtil,
|
factory((root.pdfjsCoreFonts = {}), root.pdfjsSharedUtil,
|
||||||
root.pdfjsCorePrimitives, root.pdfjsCoreStream, root.pdfjsCoreParser,
|
root.pdfjsCorePrimitives, root.pdfjsCoreStream, root.pdfjsCoreParser,
|
||||||
root.pdfjsCoreCMap, root.pdfjsCoreGlyphList, root.pdfjsCoreCharsets,
|
root.pdfjsCoreGlyphList, root.pdfjsCoreCharsets,
|
||||||
root.pdfjsCoreFontRenderer, root.pdfjsCoreEncodings,
|
root.pdfjsCoreFontRenderer, root.pdfjsCoreEncodings,
|
||||||
root.pdfjsCoreStandardFonts, root.pdfjsCoreUnicode);
|
root.pdfjsCoreStandardFonts, root.pdfjsCoreUnicode);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil, corePrimitives, coreStream, coreParser,
|
}(this, function (exports, sharedUtil, corePrimitives, coreStream, coreParser,
|
||||||
coreCMap, coreGlyphList, coreCharsets, coreFontRenderer,
|
coreGlyphList, coreCharsets, coreFontRenderer,
|
||||||
coreEncodings, coreStandardFonts, coreUnicode) {
|
coreEncodings, coreStandardFonts, coreUnicode) {
|
||||||
|
|
||||||
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
||||||
@ -55,11 +54,8 @@ var shadow = sharedUtil.shadow;
|
|||||||
var stringToBytes = sharedUtil.stringToBytes;
|
var stringToBytes = sharedUtil.stringToBytes;
|
||||||
var string32 = sharedUtil.string32;
|
var string32 = sharedUtil.string32;
|
||||||
var warn = sharedUtil.warn;
|
var warn = sharedUtil.warn;
|
||||||
var Name = corePrimitives.Name;
|
|
||||||
var Stream = coreStream.Stream;
|
var Stream = coreStream.Stream;
|
||||||
var Lexer = coreParser.Lexer;
|
var Lexer = coreParser.Lexer;
|
||||||
var CMapFactory = coreCMap.CMapFactory;
|
|
||||||
var IdentityCMap = coreCMap.IdentityCMap;
|
|
||||||
var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode;
|
var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode;
|
||||||
var getDingbatsGlyphsUnicode = coreGlyphList.getDingbatsGlyphsUnicode;
|
var getDingbatsGlyphsUnicode = coreGlyphList.getDingbatsGlyphsUnicode;
|
||||||
var ISOAdobeCharset = coreCharsets.ISOAdobeCharset;
|
var ISOAdobeCharset = coreCharsets.ISOAdobeCharset;
|
||||||
|
@ -51,7 +51,7 @@ var PDFImage = (function PDFImageClosure() {
|
|||||||
* Decode the image in the main thread if it supported. Resovles the promise
|
* Decode the image in the main thread if it supported. Resovles the promise
|
||||||
* when the image data is ready.
|
* when the image data is ready.
|
||||||
*/
|
*/
|
||||||
function handleImageData(handler, xref, res, image) {
|
function handleImageData(handler, xref, res, image, forceDataSchema) {
|
||||||
if (image instanceof JpegStream && image.isNativelyDecodable(xref, res)) {
|
if (image instanceof JpegStream && image.isNativelyDecodable(xref, res)) {
|
||||||
// For natively supported jpegs send them to the main thread for decoding.
|
// For natively supported jpegs send them to the main thread for decoding.
|
||||||
var dict = image.dict;
|
var dict = image.dict;
|
||||||
@ -59,7 +59,8 @@ var PDFImage = (function PDFImageClosure() {
|
|||||||
colorSpace = ColorSpace.parse(colorSpace, xref, res);
|
colorSpace = ColorSpace.parse(colorSpace, xref, res);
|
||||||
var numComps = colorSpace.numComps;
|
var numComps = colorSpace.numComps;
|
||||||
var decodePromise = handler.sendWithPromise('JpegDecode',
|
var decodePromise = handler.sendWithPromise('JpegDecode',
|
||||||
[image.getIR(), numComps]);
|
[image.getIR(forceDataSchema),
|
||||||
|
numComps]);
|
||||||
return decodePromise.then(function (message) {
|
return decodePromise.then(function (message) {
|
||||||
var data = message.data;
|
var data = message.data;
|
||||||
return new Stream(data, 0, data.length, image.dict);
|
return new Stream(data, 0, data.length, image.dict);
|
||||||
@ -184,8 +185,10 @@ var PDFImage = (function PDFImageClosure() {
|
|||||||
* with a PDFImage when the image is ready to be used.
|
* with a PDFImage when the image is ready to be used.
|
||||||
*/
|
*/
|
||||||
PDFImage.buildImage = function PDFImage_buildImage(handler, xref,
|
PDFImage.buildImage = function PDFImage_buildImage(handler, xref,
|
||||||
res, image, inline) {
|
res, image, inline,
|
||||||
var imagePromise = handleImageData(handler, xref, res, image);
|
forceDataSchema) {
|
||||||
|
var imagePromise = handleImageData(handler, xref, res, image,
|
||||||
|
forceDataSchema);
|
||||||
var smaskPromise;
|
var smaskPromise;
|
||||||
var maskPromise;
|
var maskPromise;
|
||||||
|
|
||||||
@ -193,13 +196,15 @@ var PDFImage = (function PDFImageClosure() {
|
|||||||
var mask = image.dict.get('Mask');
|
var mask = image.dict.get('Mask');
|
||||||
|
|
||||||
if (smask) {
|
if (smask) {
|
||||||
smaskPromise = handleImageData(handler, xref, res, smask);
|
smaskPromise = handleImageData(handler, xref, res, smask,
|
||||||
|
forceDataSchema);
|
||||||
maskPromise = Promise.resolve(null);
|
maskPromise = Promise.resolve(null);
|
||||||
} else {
|
} else {
|
||||||
smaskPromise = Promise.resolve(null);
|
smaskPromise = Promise.resolve(null);
|
||||||
if (mask) {
|
if (mask) {
|
||||||
if (isStream(mask)) {
|
if (isStream(mask)) {
|
||||||
maskPromise = handleImageData(handler, xref, res, mask);
|
maskPromise = handleImageData(handler, xref, res, mask,
|
||||||
|
forceDataSchema);
|
||||||
} else if (isArray(mask)) {
|
} else if (isArray(mask)) {
|
||||||
maskPromise = Promise.resolve(mask);
|
maskPromise = Promise.resolve(mask);
|
||||||
} else {
|
} else {
|
||||||
|
@ -110,8 +110,9 @@ var BasePdfManager = (function BasePdfManagerClosure() {
|
|||||||
})();
|
})();
|
||||||
|
|
||||||
var LocalPdfManager = (function LocalPdfManagerClosure() {
|
var LocalPdfManager = (function LocalPdfManagerClosure() {
|
||||||
function LocalPdfManager(docId, data, password) {
|
function LocalPdfManager(docId, data, password, evaluatorOptions) {
|
||||||
this._docId = docId;
|
this._docId = docId;
|
||||||
|
this.evaluatorOptions = evaluatorOptions;
|
||||||
var stream = new Stream(data);
|
var stream = new Stream(data);
|
||||||
this.pdfDocument = new PDFDocument(this, stream, password);
|
this.pdfDocument = new PDFDocument(this, stream, password);
|
||||||
this._loadedStreamCapability = createPromiseCapability();
|
this._loadedStreamCapability = createPromiseCapability();
|
||||||
@ -157,9 +158,10 @@ var LocalPdfManager = (function LocalPdfManagerClosure() {
|
|||||||
})();
|
})();
|
||||||
|
|
||||||
var NetworkPdfManager = (function NetworkPdfManagerClosure() {
|
var NetworkPdfManager = (function NetworkPdfManagerClosure() {
|
||||||
function NetworkPdfManager(docId, pdfNetworkStream, args) {
|
function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions) {
|
||||||
this._docId = docId;
|
this._docId = docId;
|
||||||
this.msgHandler = args.msgHandler;
|
this.msgHandler = args.msgHandler;
|
||||||
|
this.evaluatorOptions = evaluatorOptions;
|
||||||
|
|
||||||
var params = {
|
var params = {
|
||||||
msgHandler: args.msgHandler,
|
msgHandler: args.msgHandler,
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
@ -36,6 +35,7 @@ var Util = sharedUtil.Util;
|
|||||||
var error = sharedUtil.error;
|
var error = sharedUtil.error;
|
||||||
var info = sharedUtil.info;
|
var info = sharedUtil.info;
|
||||||
var isArray = sharedUtil.isArray;
|
var isArray = sharedUtil.isArray;
|
||||||
|
var createObjectURL = sharedUtil.createObjectURL;
|
||||||
var shadow = sharedUtil.shadow;
|
var shadow = sharedUtil.shadow;
|
||||||
var warn = sharedUtil.warn;
|
var warn = sharedUtil.warn;
|
||||||
var Dict = corePrimitives.Dict;
|
var Dict = corePrimitives.Dict;
|
||||||
@ -959,8 +959,8 @@ var JpegStream = (function JpegStreamClosure() {
|
|||||||
return this.buffer;
|
return this.buffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
JpegStream.prototype.getIR = function JpegStream_getIR() {
|
JpegStream.prototype.getIR = function JpegStream_getIR(forceDataSchema) {
|
||||||
return PDFJS.createObjectURL(this.bytes, 'image/jpeg');
|
return createObjectURL(this.bytes, 'image/jpeg', forceDataSchema);
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Checks if the image can be decoded and displayed by the browser without any
|
* Checks if the image can be decoded and displayed by the browser without any
|
||||||
|
@ -19,18 +19,16 @@
|
|||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/core/worker', ['exports', 'pdfjs/shared/util',
|
define('pdfjs/core/worker', ['exports', 'pdfjs/shared/util',
|
||||||
'pdfjs/core/primitives', 'pdfjs/core/pdf_manager', 'pdfjs/shared/global'],
|
'pdfjs/core/primitives', 'pdfjs/core/pdf_manager'],
|
||||||
factory);
|
factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'), require('./primitives.js'),
|
factory(exports, require('../shared/util.js'), require('./primitives.js'),
|
||||||
require('./pdf_manager.js'), require('../shared/global.js'));
|
require('./pdf_manager.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsCoreWorker = {}), root.pdfjsSharedUtil,
|
factory((root.pdfjsCoreWorker = {}), root.pdfjsSharedUtil,
|
||||||
root.pdfjsCorePrimitives, root.pdfjsCorePdfManager,
|
root.pdfjsCorePrimitives, root.pdfjsCorePdfManager);
|
||||||
root.pdfjsSharedGlobal);
|
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil, corePrimitives, corePdfManager,
|
}(this, function (exports, sharedUtil, corePrimitives, corePdfManager) {
|
||||||
sharedGlobal) {
|
|
||||||
|
|
||||||
var UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES;
|
var UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES;
|
||||||
var InvalidPDFException = sharedUtil.InvalidPDFException;
|
var InvalidPDFException = sharedUtil.InvalidPDFException;
|
||||||
@ -48,11 +46,11 @@ var createPromiseCapability = sharedUtil.createPromiseCapability;
|
|||||||
var error = sharedUtil.error;
|
var error = sharedUtil.error;
|
||||||
var info = sharedUtil.info;
|
var info = sharedUtil.info;
|
||||||
var warn = sharedUtil.warn;
|
var warn = sharedUtil.warn;
|
||||||
|
var setVerbosityLevel = sharedUtil.setVerbosityLevel;
|
||||||
var Ref = corePrimitives.Ref;
|
var Ref = corePrimitives.Ref;
|
||||||
var LocalPdfManager = corePdfManager.LocalPdfManager;
|
var LocalPdfManager = corePdfManager.LocalPdfManager;
|
||||||
var NetworkPdfManager = corePdfManager.NetworkPdfManager;
|
var NetworkPdfManager = corePdfManager.NetworkPdfManager;
|
||||||
var globalScope = sharedGlobal.globalScope;
|
var globalScope = sharedUtil.globalScope;
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
|
||||||
|
|
||||||
var WorkerTask = (function WorkerTaskClosure() {
|
var WorkerTask = (function WorkerTaskClosure() {
|
||||||
function WorkerTask(name) {
|
function WorkerTask(name) {
|
||||||
@ -428,7 +426,7 @@ function setPDFNetworkStreamClass(cls) {
|
|||||||
PDFNetworkStream = cls;
|
PDFNetworkStream = cls;
|
||||||
}
|
}
|
||||||
|
|
||||||
var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
var WorkerMessageHandler = {
|
||||||
setup: function wphSetup(handler, port) {
|
setup: function wphSetup(handler, port) {
|
||||||
var testMessageProcessed = false;
|
var testMessageProcessed = false;
|
||||||
handler.on('test', function wphSetupTest(data) {
|
handler.on('test', function wphSetupTest(data) {
|
||||||
@ -464,6 +462,10 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
handler.on('configure', function wphConfigure(data) {
|
||||||
|
setVerbosityLevel(data.verbosity);
|
||||||
|
});
|
||||||
|
|
||||||
handler.on('GetDocRequest', function wphSetupDoc(data) {
|
handler.on('GetDocRequest', function wphSetupDoc(data) {
|
||||||
return WorkerMessageHandler.createDocumentHandler(data, port);
|
return WorkerMessageHandler.createDocumentHandler(data, port);
|
||||||
});
|
});
|
||||||
@ -533,14 +535,15 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||||||
return loadDocumentCapability.promise;
|
return loadDocumentCapability.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPdfManager(data) {
|
function getPdfManager(data, evaluatorOptions) {
|
||||||
var pdfManagerCapability = createPromiseCapability();
|
var pdfManagerCapability = createPromiseCapability();
|
||||||
var pdfManager;
|
var pdfManager;
|
||||||
|
|
||||||
var source = data.source;
|
var source = data.source;
|
||||||
if (source.data) {
|
if (source.data) {
|
||||||
try {
|
try {
|
||||||
pdfManager = new LocalPdfManager(docId, source.data, source.password);
|
pdfManager = new LocalPdfManager(docId, source.data, source.password,
|
||||||
|
evaluatorOptions);
|
||||||
pdfManagerCapability.resolve(pdfManager);
|
pdfManagerCapability.resolve(pdfManager);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
pdfManagerCapability.reject(ex);
|
pdfManagerCapability.reject(ex);
|
||||||
@ -589,7 +592,7 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||||||
length: fullRequest.contentLength,
|
length: fullRequest.contentLength,
|
||||||
disableAutoFetch: disableAutoFetch,
|
disableAutoFetch: disableAutoFetch,
|
||||||
rangeChunkSize: source.rangeChunkSize
|
rangeChunkSize: source.rangeChunkSize
|
||||||
});
|
}, evaluatorOptions);
|
||||||
pdfManagerCapability.resolve(pdfManager);
|
pdfManagerCapability.resolve(pdfManager);
|
||||||
cancelXHRs = null;
|
cancelXHRs = null;
|
||||||
}).catch(function (reason) {
|
}).catch(function (reason) {
|
||||||
@ -605,7 +608,8 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||||||
}
|
}
|
||||||
// the data is array, instantiating directly from it
|
// the data is array, instantiating directly from it
|
||||||
try {
|
try {
|
||||||
pdfManager = new LocalPdfManager(docId, pdfFile, source.password);
|
pdfManager = new LocalPdfManager(docId, pdfFile, source.password,
|
||||||
|
evaluatorOptions);
|
||||||
pdfManagerCapability.resolve(pdfManager);
|
pdfManagerCapability.resolve(pdfManager);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
pdfManagerCapability.reject(ex);
|
pdfManagerCapability.reject(ex);
|
||||||
@ -685,16 +689,18 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||||||
|
|
||||||
ensureNotTerminated();
|
ensureNotTerminated();
|
||||||
|
|
||||||
PDFJS.maxImageSize = data.maxImageSize === undefined ?
|
var cMapOptions = {
|
||||||
-1 : data.maxImageSize;
|
url: data.cMapUrl === undefined ? null : data.cMapUrl,
|
||||||
PDFJS.disableFontFace = data.disableFontFace;
|
packed: data.cMapPacked === true
|
||||||
PDFJS.disableCreateObjectURL = data.disableCreateObjectURL;
|
};
|
||||||
PDFJS.verbosity = data.verbosity;
|
var evaluatorOptions = {
|
||||||
PDFJS.cMapUrl = data.cMapUrl === undefined ?
|
forceDataSchema: data.disableCreateObjectURL,
|
||||||
null : data.cMapUrl;
|
maxImageSize: data.maxImageSize === undefined ? -1 : data.maxImageSize,
|
||||||
PDFJS.cMapPacked = data.cMapPacked === true;
|
disableFontFace: data.disableFontFace,
|
||||||
|
cMapOptions: cMapOptions
|
||||||
|
};
|
||||||
|
|
||||||
getPdfManager(data).then(function (newPdfManager) {
|
getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {
|
||||||
if (terminated) {
|
if (terminated) {
|
||||||
// We were in a process of setting up the manager, but it got
|
// We were in a process of setting up the manager, but it got
|
||||||
// terminated in the middle.
|
// terminated in the middle.
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
var AnnotationBorderStyleType = sharedUtil.AnnotationBorderStyleType;
|
var AnnotationBorderStyleType = sharedUtil.AnnotationBorderStyleType;
|
||||||
var AnnotationType = sharedUtil.AnnotationType;
|
var AnnotationType = sharedUtil.AnnotationType;
|
||||||
var Util = sharedUtil.Util;
|
var Util = sharedUtil.Util;
|
||||||
var addLinkAttributes = sharedUtil.addLinkAttributes;
|
var addLinkAttributes = displayDOMUtils.addLinkAttributes;
|
||||||
var getFilenameFromUrl = sharedUtil.getFilenameFromUrl;
|
var getFilenameFromUrl = displayDOMUtils.getFilenameFromUrl;
|
||||||
var warn = sharedUtil.warn;
|
var warn = sharedUtil.warn;
|
||||||
var CustomStyle = displayDOMUtils.CustomStyle;
|
var CustomStyle = displayDOMUtils.CustomStyle;
|
||||||
|
|
||||||
|
@ -20,18 +20,20 @@
|
|||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/api', ['exports', 'pdfjs/shared/util',
|
define('pdfjs/display/api', ['exports', 'pdfjs/shared/util',
|
||||||
'pdfjs/display/font_loader', 'pdfjs/display/canvas',
|
'pdfjs/display/font_loader', 'pdfjs/display/canvas',
|
||||||
'pdfjs/display/metadata', 'pdfjs/shared/global', 'require'], factory);
|
'pdfjs/display/metadata', 'pdfjs/display/dom_utils',
|
||||||
|
'pdfjs/display/global', 'require'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'), require('./font_loader.js'),
|
factory(exports, require('../shared/util.js'), require('./font_loader.js'),
|
||||||
require('./canvas.js'), require('./metadata.js'),
|
require('./canvas.js'), require('./metadata.js'),
|
||||||
require('../shared/global.js'));
|
require('./dom_utils.js'), require('./global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayAPI = {}), root.pdfjsSharedUtil,
|
factory((root.pdfjsDisplayAPI = {}), root.pdfjsSharedUtil,
|
||||||
root.pdfjsDisplayFontLoader, root.pdfjsDisplayCanvas,
|
root.pdfjsDisplayFontLoader, root.pdfjsDisplayCanvas,
|
||||||
root.pdfjsDisplayMetadata, root.pdfjsSharedGlobal);
|
root.pdfjsDisplayMetadata, root.pdfjsDisplayDOMUtils,
|
||||||
|
root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil, displayFontLoader, displayCanvas,
|
}(this, function (exports, sharedUtil, displayFontLoader, displayCanvas,
|
||||||
displayMetadata, sharedGlobal, amdRequire) {
|
displayMetadata, displayDOMUtils, displayGlobal, amdRequire) {
|
||||||
|
|
||||||
var InvalidPDFException = sharedUtil.InvalidPDFException;
|
var InvalidPDFException = sharedUtil.InvalidPDFException;
|
||||||
var MessageHandler = sharedUtil.MessageHandler;
|
var MessageHandler = sharedUtil.MessageHandler;
|
||||||
@ -46,6 +48,7 @@ var createPromiseCapability = sharedUtil.createPromiseCapability;
|
|||||||
var combineUrl = sharedUtil.combineUrl;
|
var combineUrl = sharedUtil.combineUrl;
|
||||||
var error = sharedUtil.error;
|
var error = sharedUtil.error;
|
||||||
var deprecated = sharedUtil.deprecated;
|
var deprecated = sharedUtil.deprecated;
|
||||||
|
var getVerbosityLevel = sharedUtil.getVerbosityLevel;
|
||||||
var info = sharedUtil.info;
|
var info = sharedUtil.info;
|
||||||
var isArrayBuffer = sharedUtil.isArrayBuffer;
|
var isArrayBuffer = sharedUtil.isArrayBuffer;
|
||||||
var isSameOrigin = sharedUtil.isSameOrigin;
|
var isSameOrigin = sharedUtil.isSameOrigin;
|
||||||
@ -57,8 +60,8 @@ var FontLoader = displayFontLoader.FontLoader;
|
|||||||
var CanvasGraphics = displayCanvas.CanvasGraphics;
|
var CanvasGraphics = displayCanvas.CanvasGraphics;
|
||||||
var createScratchCanvas = displayCanvas.createScratchCanvas;
|
var createScratchCanvas = displayCanvas.createScratchCanvas;
|
||||||
var Metadata = displayMetadata.Metadata;
|
var Metadata = displayMetadata.Metadata;
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
var globalScope = sharedGlobal.globalScope;
|
var globalScope = displayGlobal.globalScope;
|
||||||
|
|
||||||
var DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536
|
var DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536
|
||||||
|
|
||||||
@ -198,17 +201,6 @@ PDFJS.disableFullscreen = (PDFJS.disableFullscreen === undefined ?
|
|||||||
PDFJS.useOnlyCssZoom = (PDFJS.useOnlyCssZoom === undefined ?
|
PDFJS.useOnlyCssZoom = (PDFJS.useOnlyCssZoom === undefined ?
|
||||||
false : PDFJS.useOnlyCssZoom);
|
false : PDFJS.useOnlyCssZoom);
|
||||||
|
|
||||||
/**
|
|
||||||
* Controls the logging level.
|
|
||||||
* The constants from PDFJS.VERBOSITY_LEVELS should be used:
|
|
||||||
* - errors
|
|
||||||
* - warnings [default]
|
|
||||||
* - infos
|
|
||||||
* @var {number}
|
|
||||||
*/
|
|
||||||
PDFJS.verbosity = (PDFJS.verbosity === undefined ?
|
|
||||||
PDFJS.VERBOSITY_LEVELS.warnings : PDFJS.verbosity);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum supported canvas size in total pixels e.g. width * height.
|
* The maximum supported canvas size in total pixels e.g. width * height.
|
||||||
* The default value is 4096 * 4096. Use -1 for no limit.
|
* The default value is 4096 * 4096. Use -1 for no limit.
|
||||||
@ -454,7 +446,6 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
|
|||||||
cMapPacked: PDFJS.cMapPacked,
|
cMapPacked: PDFJS.cMapPacked,
|
||||||
disableFontFace: PDFJS.disableFontFace,
|
disableFontFace: PDFJS.disableFontFace,
|
||||||
disableCreateObjectURL: PDFJS.disableCreateObjectURL,
|
disableCreateObjectURL: PDFJS.disableCreateObjectURL,
|
||||||
verbosity: PDFJS.verbosity,
|
|
||||||
postMessageTransfers: PDFJS.postMessageTransfers,
|
postMessageTransfers: PDFJS.postMessageTransfers,
|
||||||
}).then(function (workerId) {
|
}).then(function (workerId) {
|
||||||
if (worker.destroyed) {
|
if (worker.destroyed) {
|
||||||
@ -1213,38 +1204,45 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||||||
error('No PDFJS.workerSrc specified');
|
error('No PDFJS.workerSrc specified');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var fakeWorkerFilesLoadedCapability;
|
||||||
|
|
||||||
// Loads worker code into main thread.
|
// Loads worker code into main thread.
|
||||||
function setupFakeWorkerGlobal() {
|
function setupFakeWorkerGlobal() {
|
||||||
if (!PDFJS.fakeWorkerFilesLoadedCapability) {
|
var WorkerMessageHandler;
|
||||||
PDFJS.fakeWorkerFilesLoadedCapability = createPromiseCapability();
|
if (!fakeWorkerFilesLoadedCapability) {
|
||||||
|
fakeWorkerFilesLoadedCapability = createPromiseCapability();
|
||||||
// In the developer build load worker_loader which in turn loads all the
|
// In the developer build load worker_loader which in turn loads all the
|
||||||
// other files and resolves the promise. In production only the
|
// other files and resolves the promise. In production only the
|
||||||
// pdf.worker.js file is needed.
|
// pdf.worker.js file is needed.
|
||||||
//#if !PRODUCTION
|
//#if !PRODUCTION
|
||||||
if (typeof amdRequire === 'function') {
|
if (typeof amdRequire === 'function') {
|
||||||
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'], function () {
|
amdRequire(['pdfjs/core/network', 'pdfjs/core/worker'],
|
||||||
PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
function (network, worker) {
|
||||||
|
WorkerMessageHandler = worker.WorkerMessageHandler;
|
||||||
|
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||||
});
|
});
|
||||||
} else if (typeof require === 'function') {
|
} else if (typeof require === 'function') {
|
||||||
require('../core/worker.js');
|
var worker = require('../core/worker.js');
|
||||||
PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
WorkerMessageHandler = worker.WorkerMessageHandler;
|
||||||
|
fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||||
} else {
|
} else {
|
||||||
throw new Error('AMD or CommonJS must be used to load fake worker.');
|
throw new Error('AMD or CommonJS must be used to load fake worker.');
|
||||||
}
|
}
|
||||||
//#endif
|
//#endif
|
||||||
//#if PRODUCTION && SINGLE_FILE
|
//#if PRODUCTION && SINGLE_FILE
|
||||||
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
// WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||||
|
// fakeWorkerFilesLoadedCapability.resolve(WorkerMessageHandler);
|
||||||
//#endif
|
//#endif
|
||||||
//#if PRODUCTION && !SINGLE_FILE
|
//#if PRODUCTION && !SINGLE_FILE
|
||||||
// var loader = fakeWorkerFilesLoader || function (callback) {
|
// var loader = fakeWorkerFilesLoader || function (callback) {
|
||||||
// Util.loadScript(getWorkerSrc(), callback);
|
// Util.loadScript(getWorkerSrc(), function () {
|
||||||
|
// callback(window.pdfjsDistBuildPdfWorker.WorkerMessageHandler);
|
||||||
|
// });
|
||||||
// };
|
// };
|
||||||
// loader(function () {
|
// loader(fakeWorkerFilesLoadedCapability.resolve);
|
||||||
// PDFJS.fakeWorkerFilesLoadedCapability.resolve();
|
|
||||||
// });
|
|
||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
return PDFJS.fakeWorkerFilesLoadedCapability.promise;
|
return fakeWorkerFilesLoadedCapability.promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createCDNWrapper(url) {
|
function createCDNWrapper(url) {
|
||||||
@ -1318,6 +1316,10 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||||||
PDFJS.postMessageTransfers = false;
|
PDFJS.postMessageTransfers = false;
|
||||||
}
|
}
|
||||||
this._readyCapability.resolve();
|
this._readyCapability.resolve();
|
||||||
|
// Send global PDFJS setting, e.g. verbosity level.
|
||||||
|
messageHandler.send('configure', {
|
||||||
|
verbosity: getVerbosityLevel()
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
this._setupFakeWorker();
|
this._setupFakeWorker();
|
||||||
messageHandler.destroy();
|
messageHandler.destroy();
|
||||||
@ -1383,7 +1385,7 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||||||
globalScope.PDFJS.disableWorker = true;
|
globalScope.PDFJS.disableWorker = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
setupFakeWorkerGlobal().then(function () {
|
setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
|
||||||
if (this.destroyed) {
|
if (this.destroyed) {
|
||||||
this._readyCapability.reject(new Error('Worker was destroyed'));
|
this._readyCapability.reject(new Error('Worker was destroyed'));
|
||||||
return;
|
return;
|
||||||
@ -1415,7 +1417,7 @@ var PDFWorker = (function PDFWorkerClosure() {
|
|||||||
// If the main thread is our worker, setup the handling for the
|
// If the main thread is our worker, setup the handling for the
|
||||||
// messages -- the main thread sends to it self.
|
// messages -- the main thread sends to it self.
|
||||||
var workerHandler = new MessageHandler(id + '_worker', id, port);
|
var workerHandler = new MessageHandler(id + '_worker', id, port);
|
||||||
PDFJS.WorkerMessageHandler.setup(workerHandler, port);
|
WorkerMessageHandler.setup(workerHandler, port);
|
||||||
|
|
||||||
var messageHandler = new MessageHandler(id, id + '_worker', port);
|
var messageHandler = new MessageHandler(id, id + '_worker', port);
|
||||||
this._messageHandler = messageHandler;
|
this._messageHandler = messageHandler;
|
||||||
|
@ -19,15 +19,18 @@
|
|||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/canvas', ['exports', 'pdfjs/shared/util',
|
define('pdfjs/display/canvas', ['exports', 'pdfjs/shared/util',
|
||||||
'pdfjs/display/pattern_helper', 'pdfjs/display/webgl'], factory);
|
'pdfjs/display/dom_utils', 'pdfjs/display/pattern_helper',
|
||||||
|
'pdfjs/display/webgl'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'),
|
factory(exports, require('../shared/util.js'), require('./dom_utils.js'),
|
||||||
require('./pattern_helper.js'), require('./webgl.js'));
|
require('./pattern_helper.js'), require('./webgl.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayCanvas = {}), root.pdfjsSharedUtil,
|
factory((root.pdfjsDisplayCanvas = {}), root.pdfjsSharedUtil,
|
||||||
root.pdfjsDisplayPatternHelper, root.pdfjsDisplayWebGL);
|
root.pdfjsDisplayDOMUtils, root.pdfjsDisplayPatternHelper,
|
||||||
|
root.pdfjsDisplayWebGL);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil, displayPatternHelper, displayWebGL) {
|
}(this, function (exports, sharedUtil, displayDOMUtils, displayPatternHelper,
|
||||||
|
displayWebGL) {
|
||||||
|
|
||||||
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
||||||
var IDENTITY_MATRIX = sharedUtil.IDENTITY_MATRIX;
|
var IDENTITY_MATRIX = sharedUtil.IDENTITY_MATRIX;
|
||||||
|
@ -17,16 +17,21 @@
|
|||||||
|
|
||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/dom_utils', ['exports', 'pdfjs/shared/global'],
|
define('pdfjs/display/dom_utils', ['exports', 'pdfjs/shared/util',
|
||||||
factory);
|
'pdfjs/display/global'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/global.js'));
|
factory(exports, require('../shared/util.js'), require('./global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayDOMUtils = {}), root.pdfjsSharedGlobal);
|
factory((root.pdfjsDisplayDOMUtils = {}), root.pdfjsSharedUtil,
|
||||||
|
root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedGlobal) {
|
}(this, function (exports, sharedUtil, displayGlobal) {
|
||||||
|
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
var deprecated = sharedUtil.deprecated;
|
||||||
|
var removeNullCharacters = sharedUtil.removeNullCharacters;
|
||||||
|
var shadow = sharedUtil.shadow;
|
||||||
|
var warn = sharedUtil.warn;
|
||||||
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optimised CSS custom property getter/setter.
|
* Optimised CSS custom property getter/setter.
|
||||||
@ -84,5 +89,106 @@ var CustomStyle = (function CustomStyleClosure() {
|
|||||||
|
|
||||||
PDFJS.CustomStyle = CustomStyle;
|
PDFJS.CustomStyle = CustomStyle;
|
||||||
|
|
||||||
|
//#if !(FIREFOX || MOZCENTRAL || CHROME)
|
||||||
|
//// Lazy test if the userAgent support CanvasTypedArrays
|
||||||
|
function hasCanvasTypedArrays() {
|
||||||
|
var canvas = document.createElement('canvas');
|
||||||
|
canvas.width = canvas.height = 1;
|
||||||
|
var ctx = canvas.getContext('2d');
|
||||||
|
var imageData = ctx.createImageData(1, 1);
|
||||||
|
return (typeof imageData.data.buffer !== 'undefined');
|
||||||
|
}
|
||||||
|
|
||||||
|
Object.defineProperty(PDFJS, 'hasCanvasTypedArrays', {
|
||||||
|
configurable: true,
|
||||||
|
get: function PDFJS_hasCanvasTypedArrays() {
|
||||||
|
return shadow(PDFJS, 'hasCanvasTypedArrays', hasCanvasTypedArrays());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//#else
|
||||||
|
//PDFJS.hasCanvasTypedArrays = true;
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
var LinkTarget = {
|
||||||
|
NONE: 0, // Default value.
|
||||||
|
SELF: 1,
|
||||||
|
BLANK: 2,
|
||||||
|
PARENT: 3,
|
||||||
|
TOP: 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
PDFJS.LinkTarget = LinkTarget;
|
||||||
|
|
||||||
|
var LinkTargetStringMap = [
|
||||||
|
'',
|
||||||
|
'_self',
|
||||||
|
'_blank',
|
||||||
|
'_parent',
|
||||||
|
'_top'
|
||||||
|
];
|
||||||
|
|
||||||
|
function isExternalLinkTargetSet() {
|
||||||
|
//#if !MOZCENTRAL
|
||||||
|
if (PDFJS.openExternalLinksInNewWindow) {
|
||||||
|
deprecated('PDFJS.openExternalLinksInNewWindow, please use ' +
|
||||||
|
'"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');
|
||||||
|
if (PDFJS.externalLinkTarget === LinkTarget.NONE) {
|
||||||
|
PDFJS.externalLinkTarget = LinkTarget.BLANK;
|
||||||
|
}
|
||||||
|
// Reset the deprecated parameter, to suppress further warnings.
|
||||||
|
PDFJS.openExternalLinksInNewWindow = false;
|
||||||
|
}
|
||||||
|
//#endif
|
||||||
|
switch (PDFJS.externalLinkTarget) {
|
||||||
|
case LinkTarget.NONE:
|
||||||
|
return false;
|
||||||
|
case LinkTarget.SELF:
|
||||||
|
case LinkTarget.BLANK:
|
||||||
|
case LinkTarget.PARENT:
|
||||||
|
case LinkTarget.TOP:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
warn('PDFJS.externalLinkTarget is invalid: ' + PDFJS.externalLinkTarget);
|
||||||
|
// Reset the external link target, to suppress further warnings.
|
||||||
|
PDFJS.externalLinkTarget = LinkTarget.NONE;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
PDFJS.isExternalLinkTargetSet = isExternalLinkTargetSet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds various attributes (href, title, target, rel) to hyperlinks.
|
||||||
|
* @param {HTMLLinkElement} link - The link element.
|
||||||
|
* @param {Object} params - An object with the properties:
|
||||||
|
* @param {string} params.url - An absolute URL.
|
||||||
|
*/
|
||||||
|
function addLinkAttributes(link, params) {
|
||||||
|
var url = params && params.url;
|
||||||
|
link.href = link.title = (url ? removeNullCharacters(url) : '');
|
||||||
|
|
||||||
|
if (url) {
|
||||||
|
if (isExternalLinkTargetSet()) {
|
||||||
|
link.target = LinkTargetStringMap[PDFJS.externalLinkTarget];
|
||||||
|
}
|
||||||
|
// Strip referrer from the URL.
|
||||||
|
link.rel = PDFJS.externalLinkRel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PDFJS.addLinkAttributes = addLinkAttributes;
|
||||||
|
|
||||||
|
// Gets the file name from a given URL.
|
||||||
|
function getFilenameFromUrl(url) {
|
||||||
|
var anchor = url.indexOf('#');
|
||||||
|
var query = url.indexOf('?');
|
||||||
|
var end = Math.min(
|
||||||
|
anchor > 0 ? anchor : url.length,
|
||||||
|
query > 0 ? query : url.length);
|
||||||
|
return url.substring(url.lastIndexOf('/', end) + 1, end);
|
||||||
|
}
|
||||||
|
PDFJS.getFilenameFromUrl = getFilenameFromUrl;
|
||||||
|
|
||||||
exports.CustomStyle = CustomStyle;
|
exports.CustomStyle = CustomStyle;
|
||||||
|
exports.addLinkAttributes = addLinkAttributes;
|
||||||
|
exports.isExternalLinkTargetSet = isExternalLinkTargetSet;
|
||||||
|
exports.getFilenameFromUrl = getFilenameFromUrl;
|
||||||
|
exports.LinkTarget = LinkTarget;
|
||||||
}));
|
}));
|
||||||
|
@ -19,15 +19,14 @@
|
|||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/font_loader', ['exports', 'pdfjs/shared/util',
|
define('pdfjs/display/font_loader', ['exports', 'pdfjs/shared/util',
|
||||||
'pdfjs/shared/global'], factory);
|
'pdfjs/display/global'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'),
|
factory(exports, require('../shared/util.js'), require('./global.js'));
|
||||||
require('../shared/global.js'));
|
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayFontLoader = {}), root.pdfjsSharedUtil,
|
factory((root.pdfjsDisplayFontLoader = {}), root.pdfjsSharedUtil,
|
||||||
root.pdfjsSharedGlobal);
|
root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil, sharedGlobal) {
|
}(this, function (exports, sharedUtil, displayGlobal) {
|
||||||
|
|
||||||
var assert = sharedUtil.assert;
|
var assert = sharedUtil.assert;
|
||||||
var bytesToString = sharedUtil.bytesToString;
|
var bytesToString = sharedUtil.bytesToString;
|
||||||
@ -35,9 +34,9 @@ var string32 = sharedUtil.string32;
|
|||||||
var shadow = sharedUtil.shadow;
|
var shadow = sharedUtil.shadow;
|
||||||
var warn = sharedUtil.warn;
|
var warn = sharedUtil.warn;
|
||||||
|
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
var globalScope = sharedGlobal.globalScope;
|
var globalScope = displayGlobal.globalScope;
|
||||||
var isWorker = sharedGlobal.isWorker;
|
var isWorker = displayGlobal.isWorker;
|
||||||
|
|
||||||
function FontLoader(docId) {
|
function FontLoader(docId) {
|
||||||
this.docId = docId;
|
this.docId = docId;
|
||||||
|
92
src/display/global.js
Normal file
92
src/display/global.js
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
/* Copyright 2015 Mozilla Foundation
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
/* globals pdfjsVersion, pdfjsBuild */
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
(function (root, factory) {
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
define('pdfjs/display/global', ['exports', 'pdfjs/shared/util'], factory);
|
||||||
|
} else if (typeof exports !== 'undefined') {
|
||||||
|
factory(exports, require('../shared/util.js'));
|
||||||
|
} else {
|
||||||
|
factory((root.pdfjsDisplayGlobal = {}), root.pdfjsSharedUtil);
|
||||||
|
}
|
||||||
|
}(this, function (exports, sharedUtil) {
|
||||||
|
|
||||||
|
var globalScope = sharedUtil.globalScope;
|
||||||
|
|
||||||
|
var isWorker = (typeof window === 'undefined');
|
||||||
|
|
||||||
|
// The global PDFJS object exposes the API
|
||||||
|
// In production, it will be declared outside a global wrapper
|
||||||
|
// In development, it will be declared here
|
||||||
|
if (!globalScope.PDFJS) {
|
||||||
|
globalScope.PDFJS = {};
|
||||||
|
}
|
||||||
|
var PDFJS = globalScope.PDFJS;
|
||||||
|
|
||||||
|
if (typeof pdfjsVersion !== 'undefined') {
|
||||||
|
PDFJS.version = pdfjsVersion;
|
||||||
|
}
|
||||||
|
if (typeof pdfjsBuild !== 'undefined') {
|
||||||
|
PDFJS.build = pdfjsBuild;
|
||||||
|
}
|
||||||
|
|
||||||
|
PDFJS.pdfBug = false;
|
||||||
|
|
||||||
|
if (PDFJS.verbosity !== undefined) {
|
||||||
|
sharedUtil.setVerbosityLevel(PDFJS.verbosity);
|
||||||
|
}
|
||||||
|
delete PDFJS.verbosity;
|
||||||
|
Object.defineProperty(PDFJS, 'verbosity', {
|
||||||
|
get: function () { return sharedUtil.getVerbosityLevel(); },
|
||||||
|
set: function (level) { sharedUtil.setVerbosityLevel(level); },
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true
|
||||||
|
});
|
||||||
|
|
||||||
|
PDFJS.VERBOSITY_LEVELS = sharedUtil.VERBOSITY_LEVELS;
|
||||||
|
PDFJS.OPS = sharedUtil.OPS;
|
||||||
|
PDFJS.UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES;
|
||||||
|
PDFJS.isValidUrl = sharedUtil.isValidUrl;
|
||||||
|
PDFJS.shadow = sharedUtil.shadow;
|
||||||
|
PDFJS.createBlob = sharedUtil.createBlob;
|
||||||
|
PDFJS.createObjectURL = function PDFJS_createObjectURL(data, contentType) {
|
||||||
|
return sharedUtil.createObjectURL(data, contentType,
|
||||||
|
PDFJS.disableCreateObjectURL);
|
||||||
|
};
|
||||||
|
Object.defineProperty(PDFJS, 'isLittleEndian', {
|
||||||
|
configurable: true,
|
||||||
|
get: function PDFJS_isLittleEndian() {
|
||||||
|
var value = sharedUtil.isLittleEndian();
|
||||||
|
return sharedUtil.shadow(PDFJS, 'isLittleEndian', value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
PDFJS.removeNullCharacters = sharedUtil.removeNullCharacters;
|
||||||
|
PDFJS.PasswordResponses = sharedUtil.PasswordResponses;
|
||||||
|
PDFJS.PasswordException = sharedUtil.PasswordException;
|
||||||
|
PDFJS.UnknownErrorException = sharedUtil.UnknownErrorException;
|
||||||
|
PDFJS.InvalidPDFException = sharedUtil.InvalidPDFException;
|
||||||
|
PDFJS.MissingPDFException = sharedUtil.MissingPDFException;
|
||||||
|
PDFJS.UnexpectedResponseException = sharedUtil.UnexpectedResponseException;
|
||||||
|
PDFJS.Util = sharedUtil.Util;
|
||||||
|
PDFJS.PageViewport = sharedUtil.PageViewport;
|
||||||
|
PDFJS.createPromiseCapability = sharedUtil.createPromiseCapability;
|
||||||
|
|
||||||
|
exports.globalScope = globalScope;
|
||||||
|
exports.isWorker = isWorker;
|
||||||
|
exports.PDFJS = globalScope.PDFJS;
|
||||||
|
}));
|
@ -12,21 +12,24 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS, Document */
|
/* globals Document */
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/metadata', ['exports', 'pdfjs/shared/util'], factory);
|
define('pdfjs/display/metadata', ['exports', 'pdfjs/shared/util',
|
||||||
|
'pdfjs/display/global'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'));
|
factory(exports, require('../shared/util.js'), require('./global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayMetadata = {}), root.pdfjsSharedUtil);
|
factory((root.pdfjsDisplayMetadata = {}), root.pdfjsSharedUtil,
|
||||||
|
root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil) {
|
}(this, function (exports, sharedUtil, displayGlobal) {
|
||||||
|
|
||||||
var error = sharedUtil.error;
|
var error = sharedUtil.error;
|
||||||
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
|
|
||||||
var Metadata = PDFJS.Metadata = (function MetadataClosure() {
|
var Metadata = PDFJS.Metadata = (function MetadataClosure() {
|
||||||
function fixMetadata(meta) {
|
function fixMetadata(meta) {
|
||||||
|
@ -12,20 +12,21 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
//#if (GENERIC || SINGLE_FILE)
|
//#if (GENERIC || SINGLE_FILE)
|
||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/svg', ['exports', 'pdfjs/shared/util'], factory);
|
define('pdfjs/display/svg', ['exports', 'pdfjs/shared/util',
|
||||||
|
'pdfjs/display/global'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'));
|
factory(exports, require('../shared/util.js'), require('./global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplaySVG = {}), root.pdfjsSharedUtil);
|
factory((root.pdfjsDisplaySVG = {}), root.pdfjsSharedUtil,
|
||||||
|
root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil) {
|
}(this, function (exports, sharedUtil, displayGlobal) {
|
||||||
|
|
||||||
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX;
|
||||||
var IDENTITY_MATRIX = sharedUtil.IDENTITY_MATRIX;
|
var IDENTITY_MATRIX = sharedUtil.IDENTITY_MATRIX;
|
||||||
@ -35,6 +36,7 @@ var Util = sharedUtil.Util;
|
|||||||
var isNum = sharedUtil.isNum;
|
var isNum = sharedUtil.isNum;
|
||||||
var isArray = sharedUtil.isArray;
|
var isArray = sharedUtil.isArray;
|
||||||
var warn = sharedUtil.warn;
|
var warn = sharedUtil.warn;
|
||||||
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
|
|
||||||
var SVG_DEFAULTS = {
|
var SVG_DEFAULTS = {
|
||||||
fontStyle: 'normal',
|
fontStyle: 'normal',
|
||||||
|
@ -18,20 +18,20 @@
|
|||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/text_layer', ['exports', 'pdfjs/shared/util',
|
define('pdfjs/display/text_layer', ['exports', 'pdfjs/shared/util',
|
||||||
'pdfjs/display/dom_utils', 'pdfjs/shared/global'], factory);
|
'pdfjs/display/dom_utils', 'pdfjs/display/global'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'), require('./dom_utils.js'),
|
factory(exports, require('../shared/util.js'), require('./dom_utils.js'),
|
||||||
require('../shared/global.js'));
|
require('./global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayTextLayer = {}), root.pdfjsSharedUtil,
|
factory((root.pdfjsDisplayTextLayer = {}), root.pdfjsSharedUtil,
|
||||||
root.pdfjsDisplayDOMUtils, root.pdfjsSharedGlobal);
|
root.pdfjsDisplayDOMUtils, root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil, displayDOMUtils, sharedGlobal) {
|
}(this, function (exports, sharedUtil, displayDOMUtils, displayGlobal) {
|
||||||
|
|
||||||
var Util = sharedUtil.Util;
|
var Util = sharedUtil.Util;
|
||||||
var createPromiseCapability = sharedUtil.createPromiseCapability;
|
var createPromiseCapability = sharedUtil.createPromiseCapability;
|
||||||
var CustomStyle = displayDOMUtils.CustomStyle;
|
var CustomStyle = displayDOMUtils.CustomStyle;
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Text layer render parameters.
|
* Text layer render parameters.
|
||||||
|
@ -12,22 +12,24 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals PDFJS */
|
|
||||||
/* jshint -W043 */
|
/* jshint -W043 */
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/display/webgl', ['exports', 'pdfjs/shared/util'], factory);
|
define('pdfjs/display/webgl', ['exports', 'pdfjs/shared/util',
|
||||||
|
'pdfjs/display/global'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('../shared/util.js'));
|
factory(exports, require('../shared/util.js'), require('./global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsDisplayWebGL = {}), root.pdfjsSharedUtil);
|
factory((root.pdfjsDisplayWebGL = {}), root.pdfjsSharedUtil,
|
||||||
|
root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedUtil) {
|
}(this, function (exports, sharedUtil, displayGlobal) {
|
||||||
|
|
||||||
var shadow = sharedUtil.shadow;
|
var shadow = sharedUtil.shadow;
|
||||||
|
var PDFJS = displayGlobal.PDFJS;
|
||||||
|
|
||||||
var WebGLUtils = (function WebGLUtilsClosure() {
|
var WebGLUtils = (function WebGLUtilsClosure() {
|
||||||
function loadShader(gl, code, shaderType) {
|
function loadShader(gl, code, shaderType) {
|
||||||
|
@ -27,6 +27,16 @@ function PDFJS() {
|
|||||||
// Mock class constructor. See src/display/api.js.
|
// Mock class constructor. See src/display/api.js.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controls the logging level.
|
||||||
|
* The constants from PDFJS.VERBOSITY_LEVELS should be used:
|
||||||
|
* - errors
|
||||||
|
* - warnings [default]
|
||||||
|
* - infos
|
||||||
|
* @var {number}
|
||||||
|
*/
|
||||||
|
PDFJS.verbosity = PDFJS.VERBOSITY_LEVELS.warnings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the eventual result of an asynchronous operation.
|
* Represents the eventual result of an asynchronous operation.
|
||||||
* @external Promise
|
* @external Promise
|
||||||
|
@ -37,11 +37,11 @@ if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
|
|||||||
}
|
}
|
||||||
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
var fakeWorkerFilesLoader = useRequireEnsure ? (function (callback) {
|
||||||
require.ensure([], function () {
|
require.ensure([], function () {
|
||||||
require('./pdf.worker.js');
|
var worker = require('./pdf.worker.js');
|
||||||
callback();
|
callback(worker.WorkerMessageHandler);
|
||||||
});
|
});
|
||||||
}) : (typeof requirejs !== 'undefined') ? (function (callback) {
|
}) : (typeof requirejs !== 'undefined') ? (function (callback) {
|
||||||
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
|
||||||
callback();
|
callback(worker.WorkerMessageHandler);
|
||||||
});
|
});
|
||||||
}) : null;
|
}) : null;
|
||||||
|
@ -19,23 +19,24 @@
|
|||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/main_loader', ['exports', 'pdfjs/display/api',
|
define('pdfjs/main_loader', ['exports', 'pdfjs/display/api',
|
||||||
'pdfjs/display/annotation_layer', 'pdfjs/display/text_layer',
|
'pdfjs/display/annotation_layer', 'pdfjs/display/text_layer',
|
||||||
'pdfjs/display/dom_utils', 'pdfjs/shared/util', 'pdfjs/shared/global'],
|
'pdfjs/display/dom_utils', 'pdfjs/shared/util', 'pdfjs/display/global'],
|
||||||
factory);
|
factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('./display/api.js'),
|
factory(exports, require('./display/api.js'),
|
||||||
require('./display/annotation_layer.js'),
|
require('./display/annotation_layer.js'),
|
||||||
require('./display/text_layer.js'), require('./display/dom_utils.js'),
|
require('./display/text_layer.js'), require('./display/dom_utils.js'),
|
||||||
require('./shared/util.js'), require('./shared/global.js'));
|
require('./shared/util.js'), require('./display/global.js'));
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsMainLoader = {}), root.pdfjsDisplayAPI,
|
factory((root.pdfjsMainLoader = {}), root.pdfjsDisplayAPI,
|
||||||
root.pdfjsDisplayAnnotationLayer, root.pdfjsDisplayTextLayer,
|
root.pdfjsDisplayAnnotationLayer, root.pdfjsDisplayTextLayer,
|
||||||
root.pdfjsDisplayDOMUtils, root.pdfjsSharedUtil, root.pdfjsSharedGlobal);
|
root.pdfjsDisplayDOMUtils, root.pdfjsSharedUtil, root.pdfjsDisplayGlobal);
|
||||||
}
|
}
|
||||||
}(this, function (exports, displayAPI, displayAnnotationLayer,
|
}(this, function (exports, displayAPI, displayAnnotationLayer,
|
||||||
displayTextLayer, displayDOMUtils, sharedUtil, sharedGlobal) {
|
displayTextLayer, displayDOMUtils, sharedUtil,
|
||||||
|
displayGlobal) {
|
||||||
|
|
||||||
// Sync the exports below with ./pdf.js file/template.
|
// Sync the exports below with ./pdf.js file/template.
|
||||||
exports.PDFJS = sharedGlobal.PDFJS;
|
exports.PDFJS = displayGlobal.PDFJS;
|
||||||
|
|
||||||
exports.getDocument = displayAPI.getDocument;
|
exports.getDocument = displayAPI.getDocument;
|
||||||
exports.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
|
exports.PDFDataRangeTransport = displayAPI.PDFDataRangeTransport;
|
||||||
|
@ -43,9 +43,8 @@
|
|||||||
|
|
||||||
}).call(pdfjsLibs);
|
}).call(pdfjsLibs);
|
||||||
|
|
||||||
exports.PDFJS = pdfjsLibs.pdfjsSharedGlobal.PDFJS;
|
|
||||||
|
|
||||||
//#if MAIN_FILE
|
//#if MAIN_FILE
|
||||||
|
exports.PDFJS = pdfjsLibs.pdfjsDisplayGlobal.PDFJS;
|
||||||
exports.getDocument = pdfjsLibs.pdfjsDisplayAPI.getDocument;
|
exports.getDocument = pdfjsLibs.pdfjsDisplayAPI.getDocument;
|
||||||
exports.PDFDataRangeTransport =
|
exports.PDFDataRangeTransport =
|
||||||
pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;
|
pdfjsLibs.pdfjsDisplayAPI.PDFDataRangeTransport;
|
||||||
@ -58,5 +57,7 @@
|
|||||||
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
exports.MissingPDFException = pdfjsLibs.pdfjsSharedUtil.MissingPDFException;
|
||||||
exports.UnexpectedResponseException =
|
exports.UnexpectedResponseException =
|
||||||
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
pdfjsLibs.pdfjsSharedUtil.UnexpectedResponseException;
|
||||||
|
//#else
|
||||||
|
exports.WorkerMessageHandler = pdfjsLibs.pdfjsCoreWorker.WorkerMessageHandler;
|
||||||
//#endif
|
//#endif
|
||||||
}));
|
}));
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
/* Copyright 2015 Mozilla Foundation
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
/* globals global, pdfjsVersion, pdfjsBuild */
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
(function (root, factory) {
|
|
||||||
if (typeof define === 'function' && define.amd) {
|
|
||||||
define('pdfjs/shared/global', ['exports'], factory);
|
|
||||||
} else if (typeof exports !== 'undefined') {
|
|
||||||
factory(exports);
|
|
||||||
} else {
|
|
||||||
factory((root.pdfjsSharedGlobal = {}));
|
|
||||||
}
|
|
||||||
}(this, function (exports) {
|
|
||||||
|
|
||||||
var globalScope = (typeof window !== 'undefined') ? window :
|
|
||||||
(typeof global !== 'undefined') ? global :
|
|
||||||
(typeof self !== 'undefined') ? self : this;
|
|
||||||
|
|
||||||
var isWorker = (typeof window === 'undefined');
|
|
||||||
|
|
||||||
// The global PDFJS object exposes the API
|
|
||||||
// In production, it will be declared outside a global wrapper
|
|
||||||
// In development, it will be declared here
|
|
||||||
if (!globalScope.PDFJS) {
|
|
||||||
globalScope.PDFJS = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof pdfjsVersion !== 'undefined') {
|
|
||||||
globalScope.PDFJS.version = pdfjsVersion;
|
|
||||||
}
|
|
||||||
if (typeof pdfjsVersion !== 'undefined') {
|
|
||||||
globalScope.PDFJS.build = pdfjsBuild;
|
|
||||||
}
|
|
||||||
|
|
||||||
globalScope.PDFJS.pdfBug = false;
|
|
||||||
|
|
||||||
exports.globalScope = globalScope;
|
|
||||||
exports.isWorker = isWorker;
|
|
||||||
exports.PDFJS = globalScope.PDFJS;
|
|
||||||
}));
|
|
@ -12,22 +12,23 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* globals MozBlobBuilder, URL */
|
/* globals MozBlobBuilder, URL, global */
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
(function (root, factory) {
|
(function (root, factory) {
|
||||||
if (typeof define === 'function' && define.amd) {
|
if (typeof define === 'function' && define.amd) {
|
||||||
define('pdfjs/shared/util', ['exports', 'pdfjs/shared/global'], factory);
|
define('pdfjs/shared/util', ['exports'], factory);
|
||||||
} else if (typeof exports !== 'undefined') {
|
} else if (typeof exports !== 'undefined') {
|
||||||
factory(exports, require('./global.js'));
|
factory(exports);
|
||||||
} else {
|
} else {
|
||||||
factory((root.pdfjsSharedUtil = {}), root.pdfjsSharedGlobal);
|
factory((root.pdfjsSharedUtil = {}));
|
||||||
}
|
}
|
||||||
}(this, function (exports, sharedGlobal) {
|
}(this, function (exports) {
|
||||||
|
|
||||||
var PDFJS = sharedGlobal.PDFJS;
|
var globalScope = (typeof window !== 'undefined') ? window :
|
||||||
var globalScope = sharedGlobal.globalScope;
|
(typeof global !== 'undefined') ? global :
|
||||||
|
(typeof self !== 'undefined') ? self : this;
|
||||||
|
|
||||||
var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
|
var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
|
||||||
|
|
||||||
@ -127,14 +128,14 @@ var FontType = {
|
|||||||
MMTYPE1: 10
|
MMTYPE1: 10
|
||||||
};
|
};
|
||||||
|
|
||||||
PDFJS.VERBOSITY_LEVELS = {
|
var VERBOSITY_LEVELS = {
|
||||||
errors: 0,
|
errors: 0,
|
||||||
warnings: 1,
|
warnings: 1,
|
||||||
infos: 5
|
infos: 5
|
||||||
};
|
};
|
||||||
|
|
||||||
// All the possible operations for an operator list.
|
// All the possible operations for an operator list.
|
||||||
var OPS = PDFJS.OPS = {
|
var OPS = {
|
||||||
// Intentionally start from 1 so it is easy to spot bad operators that will be
|
// Intentionally start from 1 so it is easy to spot bad operators that will be
|
||||||
// 0's.
|
// 0's.
|
||||||
dependency: 1,
|
dependency: 1,
|
||||||
@ -230,18 +231,28 @@ var OPS = PDFJS.OPS = {
|
|||||||
constructPath: 91
|
constructPath: 91
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var verbosity = VERBOSITY_LEVELS.warnings;
|
||||||
|
|
||||||
|
function setVerbosityLevel(level) {
|
||||||
|
verbosity = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getVerbosityLevel() {
|
||||||
|
return verbosity;
|
||||||
|
}
|
||||||
|
|
||||||
// A notice for devs. These are good for things that are helpful to devs, such
|
// A notice for devs. These are good for things that are helpful to devs, such
|
||||||
// as warning that Workers were disabled, which is important to devs but not
|
// as warning that Workers were disabled, which is important to devs but not
|
||||||
// end users.
|
// end users.
|
||||||
function info(msg) {
|
function info(msg) {
|
||||||
if (PDFJS.verbosity >= PDFJS.VERBOSITY_LEVELS.infos) {
|
if (verbosity >= VERBOSITY_LEVELS.infos) {
|
||||||
console.log('Info: ' + msg);
|
console.log('Info: ' + msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Non-fatal warnings.
|
// Non-fatal warnings.
|
||||||
function warn(msg) {
|
function warn(msg) {
|
||||||
if (PDFJS.verbosity >= PDFJS.VERBOSITY_LEVELS.warnings) {
|
if (verbosity >= VERBOSITY_LEVELS.warnings) {
|
||||||
console.log('Warning: ' + msg);
|
console.log('Warning: ' + msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -254,7 +265,7 @@ function deprecated(details) {
|
|||||||
// Fatal errors that should trigger the fallback UI and halt execution by
|
// Fatal errors that should trigger the fallback UI and halt execution by
|
||||||
// throwing an exception.
|
// throwing an exception.
|
||||||
function error(msg) {
|
function error(msg) {
|
||||||
if (PDFJS.verbosity >= PDFJS.VERBOSITY_LEVELS.errors) {
|
if (verbosity >= VERBOSITY_LEVELS.errors) {
|
||||||
console.log('Error: ' + msg);
|
console.log('Error: ' + msg);
|
||||||
console.log(backtrace());
|
console.log(backtrace());
|
||||||
}
|
}
|
||||||
@ -275,7 +286,7 @@ function assert(cond, msg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var UNSUPPORTED_FEATURES = PDFJS.UNSUPPORTED_FEATURES = {
|
var UNSUPPORTED_FEATURES = {
|
||||||
unknown: 'unknown',
|
unknown: 'unknown',
|
||||||
forms: 'forms',
|
forms: 'forms',
|
||||||
javaScript: 'javaScript',
|
javaScript: 'javaScript',
|
||||||
@ -284,17 +295,6 @@ var UNSUPPORTED_FEATURES = PDFJS.UNSUPPORTED_FEATURES = {
|
|||||||
font: 'font'
|
font: 'font'
|
||||||
};
|
};
|
||||||
|
|
||||||
// Gets the file name from a given URL.
|
|
||||||
function getFilenameFromUrl(url) {
|
|
||||||
var anchor = url.indexOf('#');
|
|
||||||
var query = url.indexOf('?');
|
|
||||||
var end = Math.min(
|
|
||||||
anchor > 0 ? anchor : url.length,
|
|
||||||
query > 0 ? query : url.length);
|
|
||||||
return url.substring(url.lastIndexOf('/', end) + 1, end);
|
|
||||||
}
|
|
||||||
PDFJS.getFilenameFromUrl = getFilenameFromUrl;
|
|
||||||
|
|
||||||
// Combines two URLs. The baseUrl shall be absolute URL. If the url is an
|
// Combines two URLs. The baseUrl shall be absolute URL. If the url is an
|
||||||
// absolute URL, it will be returned as is.
|
// absolute URL, it will be returned as is.
|
||||||
function combineUrl(baseUrl, url) {
|
function combineUrl(baseUrl, url) {
|
||||||
@ -342,27 +342,6 @@ function isValidUrl(url, allowRelative) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PDFJS.isValidUrl = isValidUrl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds various attributes (href, title, target, rel) to hyperlinks.
|
|
||||||
* @param {HTMLLinkElement} link - The link element.
|
|
||||||
* @param {Object} params - An object with the properties:
|
|
||||||
* @param {string} params.url - An absolute URL.
|
|
||||||
*/
|
|
||||||
function addLinkAttributes(link, params) {
|
|
||||||
var url = params && params.url;
|
|
||||||
link.href = link.title = (url ? removeNullCharacters(url) : '');
|
|
||||||
|
|
||||||
if (url) {
|
|
||||||
if (isExternalLinkTargetSet()) {
|
|
||||||
link.target = LinkTargetStringMap[PDFJS.externalLinkTarget];
|
|
||||||
}
|
|
||||||
// Strip referrer from the URL.
|
|
||||||
link.rel = PDFJS.externalLinkRel;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
PDFJS.addLinkAttributes = addLinkAttributes;
|
|
||||||
|
|
||||||
function shadow(obj, prop, value) {
|
function shadow(obj, prop, value) {
|
||||||
Object.defineProperty(obj, prop, { value: value,
|
Object.defineProperty(obj, prop, { value: value,
|
||||||
@ -371,7 +350,6 @@ function shadow(obj, prop, value) {
|
|||||||
writable: false });
|
writable: false });
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
PDFJS.shadow = shadow;
|
|
||||||
|
|
||||||
function getLookupTableFactory(initializer) {
|
function getLookupTableFactory(initializer) {
|
||||||
var lookup;
|
var lookup;
|
||||||
@ -385,50 +363,7 @@ function getLookupTableFactory(initializer) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var LinkTarget = PDFJS.LinkTarget = {
|
var PasswordResponses = {
|
||||||
NONE: 0, // Default value.
|
|
||||||
SELF: 1,
|
|
||||||
BLANK: 2,
|
|
||||||
PARENT: 3,
|
|
||||||
TOP: 4,
|
|
||||||
};
|
|
||||||
var LinkTargetStringMap = [
|
|
||||||
'',
|
|
||||||
'_self',
|
|
||||||
'_blank',
|
|
||||||
'_parent',
|
|
||||||
'_top'
|
|
||||||
];
|
|
||||||
|
|
||||||
function isExternalLinkTargetSet() {
|
|
||||||
//#if !MOZCENTRAL
|
|
||||||
if (PDFJS.openExternalLinksInNewWindow) {
|
|
||||||
deprecated('PDFJS.openExternalLinksInNewWindow, please use ' +
|
|
||||||
'"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.');
|
|
||||||
if (PDFJS.externalLinkTarget === LinkTarget.NONE) {
|
|
||||||
PDFJS.externalLinkTarget = LinkTarget.BLANK;
|
|
||||||
}
|
|
||||||
// Reset the deprecated parameter, to suppress further warnings.
|
|
||||||
PDFJS.openExternalLinksInNewWindow = false;
|
|
||||||
}
|
|
||||||
//#endif
|
|
||||||
switch (PDFJS.externalLinkTarget) {
|
|
||||||
case LinkTarget.NONE:
|
|
||||||
return false;
|
|
||||||
case LinkTarget.SELF:
|
|
||||||
case LinkTarget.BLANK:
|
|
||||||
case LinkTarget.PARENT:
|
|
||||||
case LinkTarget.TOP:
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
warn('PDFJS.externalLinkTarget is invalid: ' + PDFJS.externalLinkTarget);
|
|
||||||
// Reset the external link target, to suppress further warnings.
|
|
||||||
PDFJS.externalLinkTarget = LinkTarget.NONE;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
PDFJS.isExternalLinkTargetSet = isExternalLinkTargetSet;
|
|
||||||
|
|
||||||
var PasswordResponses = PDFJS.PasswordResponses = {
|
|
||||||
NEED_PASSWORD: 1,
|
NEED_PASSWORD: 1,
|
||||||
INCORRECT_PASSWORD: 2
|
INCORRECT_PASSWORD: 2
|
||||||
};
|
};
|
||||||
@ -445,7 +380,6 @@ var PasswordException = (function PasswordExceptionClosure() {
|
|||||||
|
|
||||||
return PasswordException;
|
return PasswordException;
|
||||||
})();
|
})();
|
||||||
PDFJS.PasswordException = PasswordException;
|
|
||||||
|
|
||||||
var UnknownErrorException = (function UnknownErrorExceptionClosure() {
|
var UnknownErrorException = (function UnknownErrorExceptionClosure() {
|
||||||
function UnknownErrorException(msg, details) {
|
function UnknownErrorException(msg, details) {
|
||||||
@ -459,7 +393,6 @@ var UnknownErrorException = (function UnknownErrorExceptionClosure() {
|
|||||||
|
|
||||||
return UnknownErrorException;
|
return UnknownErrorException;
|
||||||
})();
|
})();
|
||||||
PDFJS.UnknownErrorException = UnknownErrorException;
|
|
||||||
|
|
||||||
var InvalidPDFException = (function InvalidPDFExceptionClosure() {
|
var InvalidPDFException = (function InvalidPDFExceptionClosure() {
|
||||||
function InvalidPDFException(msg) {
|
function InvalidPDFException(msg) {
|
||||||
@ -472,7 +405,6 @@ var InvalidPDFException = (function InvalidPDFExceptionClosure() {
|
|||||||
|
|
||||||
return InvalidPDFException;
|
return InvalidPDFException;
|
||||||
})();
|
})();
|
||||||
PDFJS.InvalidPDFException = InvalidPDFException;
|
|
||||||
|
|
||||||
var MissingPDFException = (function MissingPDFExceptionClosure() {
|
var MissingPDFException = (function MissingPDFExceptionClosure() {
|
||||||
function MissingPDFException(msg) {
|
function MissingPDFException(msg) {
|
||||||
@ -485,7 +417,6 @@ var MissingPDFException = (function MissingPDFExceptionClosure() {
|
|||||||
|
|
||||||
return MissingPDFException;
|
return MissingPDFException;
|
||||||
})();
|
})();
|
||||||
PDFJS.MissingPDFException = MissingPDFException;
|
|
||||||
|
|
||||||
var UnexpectedResponseException =
|
var UnexpectedResponseException =
|
||||||
(function UnexpectedResponseExceptionClosure() {
|
(function UnexpectedResponseExceptionClosure() {
|
||||||
@ -500,7 +431,6 @@ var UnexpectedResponseException =
|
|||||||
|
|
||||||
return UnexpectedResponseException;
|
return UnexpectedResponseException;
|
||||||
})();
|
})();
|
||||||
PDFJS.UnexpectedResponseException = UnexpectedResponseException;
|
|
||||||
|
|
||||||
var NotImplementedException = (function NotImplementedExceptionClosure() {
|
var NotImplementedException = (function NotImplementedExceptionClosure() {
|
||||||
function NotImplementedException(msg) {
|
function NotImplementedException(msg) {
|
||||||
@ -549,7 +479,6 @@ function removeNullCharacters(str) {
|
|||||||
}
|
}
|
||||||
return str.replace(NullCharactersRegExp, '');
|
return str.replace(NullCharactersRegExp, '');
|
||||||
}
|
}
|
||||||
PDFJS.removeNullCharacters = removeNullCharacters;
|
|
||||||
|
|
||||||
function bytesToString(bytes) {
|
function bytesToString(bytes) {
|
||||||
assert(bytes !== null && typeof bytes === 'object' &&
|
assert(bytes !== null && typeof bytes === 'object' &&
|
||||||
@ -663,30 +592,7 @@ function isLittleEndian() {
|
|||||||
return (buffer16[0] === 1);
|
return (buffer16[0] === 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Object.defineProperty(PDFJS, 'isLittleEndian', {
|
|
||||||
configurable: true,
|
|
||||||
get: function PDFJS_isLittleEndian() {
|
|
||||||
return shadow(PDFJS, 'isLittleEndian', isLittleEndian());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//#if !(FIREFOX || MOZCENTRAL || CHROME)
|
//#if !(FIREFOX || MOZCENTRAL || CHROME)
|
||||||
//// Lazy test if the userAgent support CanvasTypedArrays
|
|
||||||
function hasCanvasTypedArrays() {
|
|
||||||
var canvas = document.createElement('canvas');
|
|
||||||
canvas.width = canvas.height = 1;
|
|
||||||
var ctx = canvas.getContext('2d');
|
|
||||||
var imageData = ctx.createImageData(1, 1);
|
|
||||||
return (typeof imageData.data.buffer !== 'undefined');
|
|
||||||
}
|
|
||||||
|
|
||||||
Object.defineProperty(PDFJS, 'hasCanvasTypedArrays', {
|
|
||||||
configurable: true,
|
|
||||||
get: function PDFJS_hasCanvasTypedArrays() {
|
|
||||||
return shadow(PDFJS, 'hasCanvasTypedArrays', hasCanvasTypedArrays());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
var Uint32ArrayView = (function Uint32ArrayViewClosure() {
|
var Uint32ArrayView = (function Uint32ArrayViewClosure() {
|
||||||
|
|
||||||
function Uint32ArrayView(buffer, length) {
|
function Uint32ArrayView(buffer, length) {
|
||||||
@ -728,13 +634,11 @@ var Uint32ArrayView = (function Uint32ArrayViewClosure() {
|
|||||||
})();
|
})();
|
||||||
|
|
||||||
exports.Uint32ArrayView = Uint32ArrayView;
|
exports.Uint32ArrayView = Uint32ArrayView;
|
||||||
//#else
|
|
||||||
//PDFJS.hasCanvasTypedArrays = true;
|
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
|
var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
|
||||||
|
|
||||||
var Util = PDFJS.Util = (function UtilClosure() {
|
var Util = (function UtilClosure() {
|
||||||
function Util() {}
|
function Util() {}
|
||||||
|
|
||||||
var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];
|
var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];
|
||||||
@ -987,7 +891,7 @@ var Util = PDFJS.Util = (function UtilClosure() {
|
|||||||
* @class
|
* @class
|
||||||
* @alias PDFJS.PageViewport
|
* @alias PDFJS.PageViewport
|
||||||
*/
|
*/
|
||||||
var PageViewport = PDFJS.PageViewport = (function PageViewportClosure() {
|
var PageViewport = (function PageViewportClosure() {
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
* @private
|
* @private
|
||||||
@ -1211,8 +1115,6 @@ function createPromiseCapability() {
|
|||||||
return capability;
|
return capability;
|
||||||
}
|
}
|
||||||
|
|
||||||
PDFJS.createPromiseCapability = createPromiseCapability;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Polyfill for Promises:
|
* Polyfill for Promises:
|
||||||
* The following promise implementation tries to generally implement the
|
* The following promise implementation tries to generally implement the
|
||||||
@ -1593,7 +1495,7 @@ var StatTimer = (function StatTimerClosure() {
|
|||||||
return StatTimer;
|
return StatTimer;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
PDFJS.createBlob = function createBlob(data, contentType) {
|
var createBlob = function createBlob(data, contentType) {
|
||||||
if (typeof Blob !== 'undefined') {
|
if (typeof Blob !== 'undefined') {
|
||||||
return new Blob([data], { type: contentType });
|
return new Blob([data], { type: contentType });
|
||||||
}
|
}
|
||||||
@ -1603,15 +1505,15 @@ PDFJS.createBlob = function createBlob(data, contentType) {
|
|||||||
return bb.getBlob(contentType);
|
return bb.getBlob(contentType);
|
||||||
};
|
};
|
||||||
|
|
||||||
PDFJS.createObjectURL = (function createObjectURLClosure() {
|
var createObjectURL = (function createObjectURLClosure() {
|
||||||
// Blob/createObjectURL is not available, falling back to data schema.
|
// Blob/createObjectURL is not available, falling back to data schema.
|
||||||
var digits =
|
var digits =
|
||||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
||||||
|
|
||||||
return function createObjectURL(data, contentType) {
|
return function createObjectURL(data, contentType, forceDataSchema) {
|
||||||
if (!PDFJS.disableCreateObjectURL &&
|
if (!forceDataSchema &&
|
||||||
typeof URL !== 'undefined' && URL.createObjectURL) {
|
typeof URL !== 'undefined' && URL.createObjectURL) {
|
||||||
var blob = PDFJS.createBlob(data, contentType);
|
var blob = createBlob(data, contentType);
|
||||||
return URL.createObjectURL(blob);
|
return URL.createObjectURL(blob);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2399,6 +2301,7 @@ function loadJpegStream(id, imageUrl, objs) {
|
|||||||
exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
|
exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
|
||||||
exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
|
exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
|
||||||
exports.OPS = OPS;
|
exports.OPS = OPS;
|
||||||
|
exports.VERBOSITY_LEVELS = VERBOSITY_LEVELS;
|
||||||
exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
|
exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
|
||||||
exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
|
exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
|
||||||
exports.AnnotationFlag = AnnotationFlag;
|
exports.AnnotationFlag = AnnotationFlag;
|
||||||
@ -2406,12 +2309,11 @@ exports.AnnotationType = AnnotationType;
|
|||||||
exports.FontType = FontType;
|
exports.FontType = FontType;
|
||||||
exports.ImageKind = ImageKind;
|
exports.ImageKind = ImageKind;
|
||||||
exports.InvalidPDFException = InvalidPDFException;
|
exports.InvalidPDFException = InvalidPDFException;
|
||||||
exports.LinkTarget = LinkTarget;
|
|
||||||
exports.LinkTargetStringMap = LinkTargetStringMap;
|
|
||||||
exports.MessageHandler = MessageHandler;
|
exports.MessageHandler = MessageHandler;
|
||||||
exports.MissingDataException = MissingDataException;
|
exports.MissingDataException = MissingDataException;
|
||||||
exports.MissingPDFException = MissingPDFException;
|
exports.MissingPDFException = MissingPDFException;
|
||||||
exports.NotImplementedException = NotImplementedException;
|
exports.NotImplementedException = NotImplementedException;
|
||||||
|
exports.PageViewport = PageViewport;
|
||||||
exports.PasswordException = PasswordException;
|
exports.PasswordException = PasswordException;
|
||||||
exports.PasswordResponses = PasswordResponses;
|
exports.PasswordResponses = PasswordResponses;
|
||||||
exports.StatTimer = StatTimer;
|
exports.StatTimer = StatTimer;
|
||||||
@ -2426,29 +2328,32 @@ exports.arraysToBytes = arraysToBytes;
|
|||||||
exports.assert = assert;
|
exports.assert = assert;
|
||||||
exports.bytesToString = bytesToString;
|
exports.bytesToString = bytesToString;
|
||||||
exports.combineUrl = combineUrl;
|
exports.combineUrl = combineUrl;
|
||||||
|
exports.createBlob = createBlob;
|
||||||
exports.createPromiseCapability = createPromiseCapability;
|
exports.createPromiseCapability = createPromiseCapability;
|
||||||
|
exports.createObjectURL = createObjectURL;
|
||||||
exports.deprecated = deprecated;
|
exports.deprecated = deprecated;
|
||||||
exports.error = error;
|
exports.error = error;
|
||||||
exports.getFilenameFromUrl = getFilenameFromUrl;
|
|
||||||
exports.getLookupTableFactory = getLookupTableFactory;
|
exports.getLookupTableFactory = getLookupTableFactory;
|
||||||
|
exports.getVerbosityLevel = getVerbosityLevel;
|
||||||
|
exports.globalScope = globalScope;
|
||||||
exports.info = info;
|
exports.info = info;
|
||||||
exports.isArray = isArray;
|
exports.isArray = isArray;
|
||||||
exports.isArrayBuffer = isArrayBuffer;
|
exports.isArrayBuffer = isArrayBuffer;
|
||||||
exports.isBool = isBool;
|
exports.isBool = isBool;
|
||||||
exports.isEmptyObj = isEmptyObj;
|
exports.isEmptyObj = isEmptyObj;
|
||||||
exports.isExternalLinkTargetSet = isExternalLinkTargetSet;
|
|
||||||
exports.isInt = isInt;
|
exports.isInt = isInt;
|
||||||
exports.isNum = isNum;
|
exports.isNum = isNum;
|
||||||
exports.isString = isString;
|
exports.isString = isString;
|
||||||
exports.isSameOrigin = isSameOrigin;
|
exports.isSameOrigin = isSameOrigin;
|
||||||
exports.isValidUrl = isValidUrl;
|
exports.isValidUrl = isValidUrl;
|
||||||
exports.addLinkAttributes = addLinkAttributes;
|
exports.isLittleEndian = isLittleEndian;
|
||||||
exports.loadJpegStream = loadJpegStream;
|
exports.loadJpegStream = loadJpegStream;
|
||||||
exports.log2 = log2;
|
exports.log2 = log2;
|
||||||
exports.readInt8 = readInt8;
|
exports.readInt8 = readInt8;
|
||||||
exports.readUint16 = readUint16;
|
exports.readUint16 = readUint16;
|
||||||
exports.readUint32 = readUint32;
|
exports.readUint32 = readUint32;
|
||||||
exports.removeNullCharacters = removeNullCharacters;
|
exports.removeNullCharacters = removeNullCharacters;
|
||||||
|
exports.setVerbosityLevel = setVerbosityLevel;
|
||||||
exports.shadow = shadow;
|
exports.shadow = shadow;
|
||||||
exports.string32 = string32;
|
exports.string32 = string32;
|
||||||
exports.stringToBytes = stringToBytes;
|
exports.stringToBytes = stringToBytes;
|
||||||
|
50
test/unit/dom_utils_spec.js
Normal file
50
test/unit/dom_utils_spec.js
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/* globals expect, it, describe, PDFJS, isExternalLinkTargetSet, LinkTarget,
|
||||||
|
getFilenameFromUrl */
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
describe('dom_utils', function() {
|
||||||
|
describe('getFilenameFromUrl', function() {
|
||||||
|
it('should get the filename from an absolute URL', function() {
|
||||||
|
var url = 'http://server.org/filename.pdf';
|
||||||
|
var result = getFilenameFromUrl(url);
|
||||||
|
var expected = 'filename.pdf';
|
||||||
|
expect(result).toEqual(expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should get the filename from a relative URL', function() {
|
||||||
|
var url = '../../filename.pdf';
|
||||||
|
var result = getFilenameFromUrl(url);
|
||||||
|
var expected = 'filename.pdf';
|
||||||
|
expect(result).toEqual(expected);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('isExternalLinkTargetSet', function() {
|
||||||
|
// Save the current state, to avoid interfering with other tests.
|
||||||
|
var previousExternalLinkTarget = PDFJS.externalLinkTarget;
|
||||||
|
|
||||||
|
it('handles the predefined LinkTargets', function() {
|
||||||
|
for (var key in LinkTarget) {
|
||||||
|
var linkTarget = LinkTarget[key];
|
||||||
|
PDFJS.externalLinkTarget = linkTarget;
|
||||||
|
|
||||||
|
expect(isExternalLinkTargetSet()).toEqual(!!linkTarget);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
it('handles incorrect LinkTargets', function() {
|
||||||
|
var targets = [true, '', false, -1, '_blank', null];
|
||||||
|
|
||||||
|
for (var i = 0, ii = targets.length; i < ii; i++) {
|
||||||
|
var linkTarget = targets[i];
|
||||||
|
PDFJS.externalLinkTarget = linkTarget;
|
||||||
|
|
||||||
|
expect(isExternalLinkTargetSet()).toEqual(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Reset the state.
|
||||||
|
PDFJS.externalLinkTarget = previousExternalLinkTarget;
|
||||||
|
});
|
||||||
|
});
|
@ -37,6 +37,7 @@
|
|||||||
<script src="cmap_spec.js"></script>
|
<script src="cmap_spec.js"></script>
|
||||||
<script src="annotation_layer_spec.js"></script>
|
<script src="annotation_layer_spec.js"></script>
|
||||||
<script src="network_spec.js"></script>
|
<script src="network_spec.js"></script>
|
||||||
|
<script src="dom_utils_spec.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
'use strict';
|
'use strict';
|
||||||
@ -45,20 +46,20 @@
|
|||||||
|
|
||||||
function initializePDFJS(callback) {
|
function initializePDFJS(callback) {
|
||||||
require.config({paths: {'pdfjs': '../../src'}});
|
require.config({paths: {'pdfjs': '../../src'}});
|
||||||
require(['pdfjs/shared/util', 'pdfjs/shared/global', 'pdfjs/core/primitives',
|
require(['pdfjs/shared/util', 'pdfjs/display/global', 'pdfjs/core/primitives',
|
||||||
'pdfjs/core/annotation', 'pdfjs/core/crypto', 'pdfjs/core/stream',
|
'pdfjs/core/annotation', 'pdfjs/core/crypto', 'pdfjs/core/stream',
|
||||||
'pdfjs/core/fonts', 'pdfjs/core/ps_parser', 'pdfjs/core/function',
|
'pdfjs/core/fonts', 'pdfjs/core/ps_parser', 'pdfjs/core/function',
|
||||||
'pdfjs/core/parser', 'pdfjs/core/evaluator', 'pdfjs/core/cmap',
|
'pdfjs/core/parser', 'pdfjs/core/evaluator', 'pdfjs/core/cmap',
|
||||||
'pdfjs/core/worker', 'pdfjs/core/network', 'pdfjs/display/api',
|
'pdfjs/core/worker', 'pdfjs/core/network', 'pdfjs/display/api',
|
||||||
'pdfjs/display/metadata'],
|
'pdfjs/display/metadata', 'pdfjs/display/dom_utils'],
|
||||||
function (sharedUtil, sharedGlobal, corePrimitives, coreAnnotation,
|
function (sharedUtil, displayGlobal, corePrimitives, coreAnnotation,
|
||||||
coreCrypto, coreStream, coreFonts, corePsParser, coreFunction,
|
coreCrypto, coreStream, coreFonts, corePsParser, coreFunction,
|
||||||
coreParser, coreEvaluator, coreCMap, coreWorker,
|
coreParser, coreEvaluator, coreCMap, coreWorker, coreNetwork,
|
||||||
coreNetwork, displayAPI, displayMetadata) {
|
displayAPI, displayMetadata, displayDOMUtils) {
|
||||||
|
|
||||||
pdfjsLibs = {
|
pdfjsLibs = {
|
||||||
sharedUtil: sharedUtil,
|
sharedUtil: sharedUtil,
|
||||||
sharedGlobal: sharedGlobal,
|
displayGlobal: displayGlobal,
|
||||||
corePrimitives: corePrimitives,
|
corePrimitives: corePrimitives,
|
||||||
coreAnnotation: coreAnnotation,
|
coreAnnotation: coreAnnotation,
|
||||||
coreCrypto: coreCrypto,
|
coreCrypto: coreCrypto,
|
||||||
@ -72,7 +73,8 @@
|
|||||||
coreWorker: coreWorker,
|
coreWorker: coreWorker,
|
||||||
coreNetwork: coreNetwork,
|
coreNetwork: coreNetwork,
|
||||||
displayAPI: displayAPI,
|
displayAPI: displayAPI,
|
||||||
displayMetadata: displayMetadata
|
displayMetadata: displayMetadata,
|
||||||
|
displayDOMUtils: displayDOMUtils
|
||||||
};
|
};
|
||||||
|
|
||||||
// Expose all loaded internal exported members to global scope.
|
// Expose all loaded internal exported members to global scope.
|
||||||
|
@ -1,26 +1,9 @@
|
|||||||
/* globals expect, it, describe, combineUrl, Dict, isDict, Name, PDFJS,
|
/* globals expect, it, describe, combineUrl, Dict, isDict, Name, PDFJS,
|
||||||
stringToPDFString, isExternalLinkTargetSet, LinkTarget,
|
stringToPDFString, removeNullCharacters */
|
||||||
removeNullCharacters, getFilenameFromUrl */
|
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
describe('util', function() {
|
describe('util', function() {
|
||||||
describe('getFilenameFromUrl', function() {
|
|
||||||
it('should get the filename from an absolute URL', function() {
|
|
||||||
var url = 'http://server.org/filename.pdf';
|
|
||||||
var result = getFilenameFromUrl(url);
|
|
||||||
var expected = 'filename.pdf';
|
|
||||||
expect(result).toEqual(expected);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should get the filename from a relative URL', function() {
|
|
||||||
var url = '../../filename.pdf';
|
|
||||||
var result = getFilenameFromUrl(url);
|
|
||||||
var expected = 'filename.pdf';
|
|
||||||
expect(result).toEqual(expected);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('combineUrl', function() {
|
describe('combineUrl', function() {
|
||||||
it('absolute url with protocol stays as is', function() {
|
it('absolute url with protocol stays as is', function() {
|
||||||
var baseUrl = 'http://server/index.html';
|
var baseUrl = 'http://server/index.html';
|
||||||
@ -114,34 +97,6 @@ describe('util', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('isExternalLinkTargetSet', function() {
|
|
||||||
// Save the current state, to avoid interfering with other tests.
|
|
||||||
var previousExternalLinkTarget = PDFJS.externalLinkTarget;
|
|
||||||
|
|
||||||
it('handles the predefined LinkTargets', function() {
|
|
||||||
for (var key in LinkTarget) {
|
|
||||||
var linkTarget = LinkTarget[key];
|
|
||||||
PDFJS.externalLinkTarget = linkTarget;
|
|
||||||
|
|
||||||
expect(isExternalLinkTargetSet()).toEqual(!!linkTarget);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
it('handles incorrect LinkTargets', function() {
|
|
||||||
var targets = [true, '', false, -1, '_blank', null];
|
|
||||||
|
|
||||||
for (var i = 0, ii = targets.length; i < ii; i++) {
|
|
||||||
var linkTarget = targets[i];
|
|
||||||
PDFJS.externalLinkTarget = linkTarget;
|
|
||||||
|
|
||||||
expect(isExternalLinkTargetSet()).toEqual(false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Reset the state.
|
|
||||||
PDFJS.externalLinkTarget = previousExternalLinkTarget;
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('removeNullCharacters', function() {
|
describe('removeNullCharacters', function() {
|
||||||
it('should not modify string without null characters', function() {
|
it('should not modify string without null characters', function() {
|
||||||
var str = 'string without null chars';
|
var str = 'string without null chars';
|
||||||
|
Loading…
Reference in New Issue
Block a user