]> git.parisson.com Git - pdf.js.git/commitdiff
Added fallback to fake worker if serialization of typed array fails.
authorSteffen Märcker <merkste@web.de>
Wed, 28 Dec 2011 08:10:06 +0000 (09:10 +0100)
committerSteffen Märcker <merkste@web.de>
Wed, 28 Dec 2011 08:10:06 +0000 (09:10 +0100)
This happens e.g. in Opera 11.60.

src/core.js

index 93cbc72acd4b83da3c418a08444ec8695f2eca75..bf221b4b184f8e0fbb14897e1606bacdd5312a18 100644 (file)
@@ -605,7 +605,13 @@ var PDFDoc = (function PDFDocClosure() {
       }.bind(this));
 
       var testObj = new Uint8Array(1);
-      messageHandler.send('test', testObj);
+      // Some versions of Opera throw a DATA_CLONE_ERR on serializing the typed array.
+      // If such an error occurs, we fallback to a faked worker.
+      try {
+        messageHandler.send('test', testObj);
+      } catch (e) {
+        this.setupFakeWorker();
+      }
     } else {
       this.setupFakeWorker();
     }