Merge pull request #1326 from brendandahl/sanitizelinks

Sanitize pdf link urls.
This commit is contained in:
notmasteryet 2012-03-12 17:08:18 -07:00
commit 6d23a0cb0f

View File

@ -310,6 +310,22 @@ var Page = (function PageClosure() {
return null;
return item.get(name);
}
function isValidUrl(url) {
if (!url)
return false;
var colon = url.indexOf(':');
if (colon < 0)
return false;
var protocol = url.substr(0, colon);
switch (protocol) {
case 'http':
case 'https':
case 'ftp':
return true;
default:
return false;
}
}
var annotations = xref.fetchIfRef(this.annotations) || [];
var i, n = annotations.length;
@ -338,7 +354,12 @@ var Page = (function PageClosure() {
if (a) {
switch (a.get('S').name) {
case 'URI':
item.url = a.get('URI');
var url = a.get('URI');
// TODO: pdf spec mentions urls can be relative to a Base
// entry in the dictionary.
if (!isValidUrl(url))
url = '';
item.url = url;
break;
case 'GoTo':
item.dest = a.get('D');