mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-08 17:30:09 +02:00
Removes global PDFJS usage from the src/core/.
This commit is contained in:
parent
21ed8ff71d
commit
bda5e6235e
22 changed files with 376 additions and 299 deletions
|
@ -17,15 +17,21 @@
|
|||
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define('pdfjs/display/dom_utils', ['exports', 'pdfjs/shared/global'],
|
||||
factory);
|
||||
define('pdfjs/display/dom_utils', ['exports', 'pdfjs/shared/util',
|
||||
'pdfjs/shared/global'], factory);
|
||||
} else if (typeof exports !== 'undefined') {
|
||||
factory(exports, require('../shared/global.js'));
|
||||
factory(exports, require('../shared/util.js'),
|
||||
require('../shared/global.js'));
|
||||
} else {
|
||||
factory((root.pdfjsDisplayDOMUtils = {}), root.pdfjsSharedGlobal);
|
||||
factory((root.pdfjsDisplayDOMUtils = {}), root.pdfjsSharedUtil,
|
||||
root.pdfjsSharedGlobal);
|
||||
}
|
||||
}(this, function (exports, sharedGlobal) {
|
||||
}(this, function (exports, sharedUtil, sharedGlobal) {
|
||||
|
||||
var deprecated = sharedUtil.deprecated;
|
||||
var removeNullCharacters = sharedUtil.removeNullCharacters;
|
||||
var shadow = sharedUtil.shadow;
|
||||
var warn = sharedUtil.warn;
|
||||
var PDFJS = sharedGlobal.PDFJS;
|
||||
|
||||
/**
|
||||
|
@ -84,5 +90,106 @@ var CustomStyle = (function CustomStyleClosure() {
|
|||
|
||||
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.addLinkAttributes = addLinkAttributes;
|
||||
exports.isExternalLinkTargetSet = isExternalLinkTargetSet;
|
||||
exports.getFilenameFromUrl = getFilenameFromUrl;
|
||||
exports.LinkTarget = LinkTarget;
|
||||
}));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue