Просмотр исходного кода

PDF.js version 1.9.482 - See mozilla/pdf.js@a0eed974a30dd04ad267e0995037444a1e2279b3

pdfjsbot 7 лет назад
Родитель
Сommit
616ba67974

+ 1 - 1
bower.json

@@ -1,6 +1,6 @@
 {
   "name": "pdfjs-dist",
-  "version": "1.9.480",
+  "version": "1.9.482",
   "main": [
     "build/pdf.js",
     "build/pdf.worker.js"

+ 19 - 11
build/pdf.combined.js

@@ -13675,8 +13675,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.9.480';
-  exports.build = build = 'bd85bda0';
+  exports.version = version = '1.9.482';
+  exports.build = build = 'a0eed974';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -25054,21 +25054,29 @@ var Catalog = function CatalogClosure() {
     }
     var destDict = params.destDict;
     if (!(0, _primitives.isDict)(destDict)) {
-      (0, _util.warn)('Catalog_parseDestDictionary: "destDict" must be a dictionary.');
+      (0, _util.warn)('parseDestDictionary: "destDict" must be a dictionary.');
       return;
     }
     var resultObj = params.resultObj;
     if ((typeof resultObj === 'undefined' ? 'undefined' : _typeof(resultObj)) !== 'object') {
-      (0, _util.warn)('Catalog_parseDestDictionary: "resultObj" must be an object.');
+      (0, _util.warn)('parseDestDictionary: "resultObj" must be an object.');
       return;
     }
     var docBaseUrl = params.docBaseUrl || null;
     var action = destDict.get('A'),
         url,
         dest;
+    if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {
+      action = destDict.get('Dest');
+    }
     if ((0, _primitives.isDict)(action)) {
-      var linkType = action.get('S').name;
-      switch (linkType) {
+      var actionType = action.get('S');
+      if (!(0, _primitives.isName)(actionType)) {
+        (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');
+        return;
+      }
+      var actionName = actionType.name;
+      switch (actionName) {
         case 'URI':
           url = action.get('URI');
           if ((0, _primitives.isName)(url)) {
@@ -25134,7 +25142,7 @@ var Catalog = function CatalogClosure() {
             }
           }
         default:
-          (0, _util.warn)('Catalog_parseDestDictionary: Unrecognized link type "' + linkType + '".');
+          (0, _util.warn)('parseDestDictionary: Unsupported Action type "' + actionName + '".');
           break;
       }
     } else if (destDict.has('Dest')) {
@@ -29032,8 +29040,8 @@ if (!_global_scope2.default.PDFJS) {
 }
 var PDFJS = _global_scope2.default.PDFJS;
 {
-  PDFJS.version = '1.9.480';
-  PDFJS.build = 'bd85bda0';
+  PDFJS.version = '1.9.482';
+  PDFJS.build = 'a0eed974';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -50339,8 +50347,8 @@ exports.PDFDataTransportStream = PDFDataTransportStream;
 "use strict";
 
 
-var pdfjsVersion = '1.9.480';
-var pdfjsBuild = 'bd85bda0';
+var pdfjsVersion = '1.9.482';
+var pdfjsBuild = 'a0eed974';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(70);
 var pdfjsDisplayAPI = __w_pdfjs_require__(37);

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/pdf.combined.js.map


+ 6 - 6
build/pdf.js

@@ -4406,8 +4406,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.9.480';
-  exports.build = build = 'bd85bda0';
+  exports.version = version = '1.9.482';
+  exports.build = build = 'a0eed974';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;
@@ -6892,8 +6892,8 @@ if (!_global_scope2.default.PDFJS) {
 }
 var PDFJS = _global_scope2.default.PDFJS;
 {
-  PDFJS.version = '1.9.480';
-  PDFJS.build = 'bd85bda0';
+  PDFJS.version = '1.9.482';
+  PDFJS.build = 'a0eed974';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {
@@ -14795,8 +14795,8 @@ exports.PDFDataTransportStream = PDFDataTransportStream;
 "use strict";
 
 
-var pdfjsVersion = '1.9.480';
-var pdfjsBuild = 'bd85bda0';
+var pdfjsVersion = '1.9.482';
+var pdfjsBuild = 'a0eed974';
 var pdfjsSharedUtil = __w_pdfjs_require__(0);
 var pdfjsDisplayGlobal = __w_pdfjs_require__(54);
 var pdfjsDisplayAPI = __w_pdfjs_require__(30);

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/pdf.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/pdf.min.js


+ 15 - 7
build/pdf.worker.js

@@ -21054,21 +21054,29 @@ var Catalog = function CatalogClosure() {
     }
     var destDict = params.destDict;
     if (!(0, _primitives.isDict)(destDict)) {
-      (0, _util.warn)('Catalog_parseDestDictionary: "destDict" must be a dictionary.');
+      (0, _util.warn)('parseDestDictionary: "destDict" must be a dictionary.');
       return;
     }
     var resultObj = params.resultObj;
     if ((typeof resultObj === 'undefined' ? 'undefined' : _typeof(resultObj)) !== 'object') {
-      (0, _util.warn)('Catalog_parseDestDictionary: "resultObj" must be an object.');
+      (0, _util.warn)('parseDestDictionary: "resultObj" must be an object.');
       return;
     }
     var docBaseUrl = params.docBaseUrl || null;
     var action = destDict.get('A'),
         url,
         dest;
+    if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {
+      action = destDict.get('Dest');
+    }
     if ((0, _primitives.isDict)(action)) {
-      var linkType = action.get('S').name;
-      switch (linkType) {
+      var actionType = action.get('S');
+      if (!(0, _primitives.isName)(actionType)) {
+        (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');
+        return;
+      }
+      var actionName = actionType.name;
+      switch (actionName) {
         case 'URI':
           url = action.get('URI');
           if ((0, _primitives.isName)(url)) {
@@ -21134,7 +21142,7 @@ var Catalog = function CatalogClosure() {
             }
           }
         default:
-          (0, _util.warn)('Catalog_parseDestDictionary: Unrecognized link type "' + linkType + '".');
+          (0, _util.warn)('parseDestDictionary: Unsupported Action type "' + actionName + '".');
           break;
       }
     } else if (destDict.has('Dest')) {
@@ -42137,8 +42145,8 @@ exports.Type1Parser = Type1Parser;
 "use strict";
 
 
-var pdfjsVersion = '1.9.480';
-var pdfjsBuild = 'bd85bda0';
+var pdfjsVersion = '1.9.482';
+var pdfjsBuild = 'a0eed974';
 var pdfjsCoreWorker = __w_pdfjs_require__(61);
 exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;
 

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/pdf.worker.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
build/pdf.worker.min.js


+ 13 - 5
lib/core/obj.js

@@ -574,21 +574,29 @@ var Catalog = function CatalogClosure() {
     }
     var destDict = params.destDict;
     if (!(0, _primitives.isDict)(destDict)) {
-      (0, _util.warn)('Catalog_parseDestDictionary: "destDict" must be a dictionary.');
+      (0, _util.warn)('parseDestDictionary: "destDict" must be a dictionary.');
       return;
     }
     var resultObj = params.resultObj;
     if ((typeof resultObj === 'undefined' ? 'undefined' : _typeof(resultObj)) !== 'object') {
-      (0, _util.warn)('Catalog_parseDestDictionary: "resultObj" must be an object.');
+      (0, _util.warn)('parseDestDictionary: "resultObj" must be an object.');
       return;
     }
     var docBaseUrl = params.docBaseUrl || null;
     var action = destDict.get('A'),
         url,
         dest;
+    if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {
+      action = destDict.get('Dest');
+    }
     if ((0, _primitives.isDict)(action)) {
-      var linkType = action.get('S').name;
-      switch (linkType) {
+      var actionType = action.get('S');
+      if (!(0, _primitives.isName)(actionType)) {
+        (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');
+        return;
+      }
+      var actionName = actionType.name;
+      switch (actionName) {
         case 'URI':
           url = action.get('URI');
           if ((0, _primitives.isName)(url)) {
@@ -654,7 +662,7 @@ var Catalog = function CatalogClosure() {
             }
           }
         default:
-          (0, _util.warn)('Catalog_parseDestDictionary: Unrecognized link type "' + linkType + '".');
+          (0, _util.warn)('parseDestDictionary: Unsupported Action type "' + actionName + '".');
           break;
       }
     } else if (destDict.has('Dest')) {

+ 2 - 2
lib/display/api.js

@@ -1581,8 +1581,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() {
 }();
 var version, build;
 {
-  exports.version = version = '1.9.480';
-  exports.build = build = 'bd85bda0';
+  exports.version = version = '1.9.482';
+  exports.build = build = 'a0eed974';
 }
 exports.getDocument = getDocument;
 exports.LoopbackPort = LoopbackPort;

+ 2 - 2
lib/display/global.js

@@ -45,8 +45,8 @@ if (!_global_scope2.default.PDFJS) {
 }
 var PDFJS = _global_scope2.default.PDFJS;
 {
-  PDFJS.version = '1.9.480';
-  PDFJS.build = 'bd85bda0';
+  PDFJS.version = '1.9.482';
+  PDFJS.build = 'a0eed974';
 }
 PDFJS.pdfBug = false;
 if (PDFJS.verbosity !== undefined) {

+ 2 - 2
lib/pdf.js

@@ -14,8 +14,8 @@
  */
 'use strict';
 
-var pdfjsVersion = '1.9.480';
-var pdfjsBuild = 'bd85bda0';
+var pdfjsVersion = '1.9.482';
+var pdfjsBuild = 'a0eed974';
 var pdfjsSharedUtil = require('./shared/util.js');
 var pdfjsDisplayGlobal = require('./display/global.js');
 var pdfjsDisplayAPI = require('./display/api.js');

+ 2 - 2
lib/pdf.worker.js

@@ -14,7 +14,7 @@
  */
 'use strict';
 
-var pdfjsVersion = '1.9.480';
-var pdfjsBuild = 'bd85bda0';
+var pdfjsVersion = '1.9.482';
+var pdfjsBuild = 'a0eed974';
 var pdfjsCoreWorker = require('./core/worker.js');
 exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;

+ 21 - 0
lib/test/unit/annotation_spec.js

@@ -555,6 +555,27 @@ describe('annotation', function () {
         gen: 0
       }, { name: 'XYZ' }, 0, 841.89, null]);
     });
+    it('should correctly parse a Dest, which violates the specification ' + 'by containing a dictionary', function () {
+      var destDict = new _primitives.Dict();
+      destDict.set('Type', _primitives.Name.get('Action'));
+      destDict.set('S', _primitives.Name.get('GoTo'));
+      destDict.set('D', 'page.157');
+      var annotationDict = new _primitives.Dict();
+      annotationDict.set('Type', _primitives.Name.get('Annot'));
+      annotationDict.set('Subtype', _primitives.Name.get('Link'));
+      annotationDict.set('Dest', destDict);
+      var annotationRef = new _primitives.Ref(798, 0);
+      var xref = new _test_utils.XRefMock([{
+        ref: annotationRef,
+        data: annotationDict
+      }]);
+      var annotation = annotationFactory.create(xref, annotationRef, pdfManagerMock, idFactoryMock);
+      var data = annotation.data;
+      expect(data.annotationType).toEqual(_util.AnnotationType.LINK);
+      expect(data.url).toBeUndefined();
+      expect(data.unsafeUrl).toBeUndefined();
+      expect(data.dest).toEqual('page.157');
+    });
   });
   describe('WidgetAnnotation', function () {
     var widgetDict;

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "pdfjs-dist",
-  "version": "1.9.480",
+  "version": "1.9.482",
   "main": "build/pdf.js",
   "description": "Generic build of Mozilla's PDF.js library.",
   "keywords": [

Некоторые файлы не были показаны из-за большого количества измененных файлов