mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-22 16:18:08 +02:00
Support the newWindow
flag in white-listed app.launchURL
JavaScript actions (PR 7794 follow-up)
A simple follow-up to PR 7794, which let's us add support for the `newWindow` parameter; refer to https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf#G5.1507380. The patch also fixes an embarrassing oversight regarding the placement of the case-insensitive flag, and also allows arbitrary white-space at the beginning of JS actions.
This commit is contained in:
parent
afc3cd2a81
commit
2a7e5b8a54
2 changed files with 15 additions and 6 deletions
|
@ -703,12 +703,17 @@ var Catalog = (function CatalogClosure() {
|
|||
'app.launchURL',
|
||||
'window.open'
|
||||
];
|
||||
var regex = new RegExp('^(?:' + URL_OPEN_METHODS.join('|') + ')' +
|
||||
'\\((?:\'|\")(\\S+)(?:\'|\")(?:,|\\))');
|
||||
var regex = new RegExp(
|
||||
'^\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\.') +
|
||||
')\\((?:\'|\")([^\'\"]*)(?:\'|\")(?:,\\s*(\\w+)\\)|\\))', 'i');
|
||||
|
||||
var jsUrl = regex.exec(stringToPDFString(js), 'i');
|
||||
if (jsUrl && jsUrl[1]) {
|
||||
url = jsUrl[1];
|
||||
var jsUrl = regex.exec(stringToPDFString(js));
|
||||
if (jsUrl && jsUrl[2]) {
|
||||
url = jsUrl[2];
|
||||
|
||||
if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') {
|
||||
resultObj.newWindow = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue