]> git.parisson.com Git - pdf.js.git/commitdiff
Add function for checking url.
authorBrendan Dahl <brendan.dahl@gmail.com>
Mon, 12 Mar 2012 23:31:49 +0000 (16:31 -0700)
committerBrendan Dahl <brendan.dahl@gmail.com>
Mon, 12 Mar 2012 23:31:49 +0000 (16:31 -0700)
src/core.js

index 341cf64226971c54aa64e2b32e54162d7ff05ff8..90a7eda5027c9550dcd4e05811717478525553dc 100644 (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;
@@ -341,8 +357,7 @@ var Page = (function PageClosure() {
                   var url = a.get('URI');
                   // TODO: pdf spec mentions urls can be relative to a Base
                   // entry in the dictionary.
-                  // For now only allow http and https schemes.
-                  if (url.search(/^https?\:/) !== 0)
+                  if (!isValidUrl(url))
                     url = '';
                   item.url = url;
                   break;