Browse Source

Merge pull request #788 from jviereck/worker_feature_disable

Disable web worker on firefox 8-9 localhost using feature detection
Brendan Dahl 14 years ago
parent
commit
a8117c4744
  1. 18
      src/core.js
  2. 5
      test/driver.js

18
src/core.js

@ -15,10 +15,6 @@ if (!globalScope.PDFJS) { @@ -15,10 +15,6 @@ if (!globalScope.PDFJS) {
globalScope.PDFJS = {};
}
// Temporarily disabling workers until 'localhost' FF bugfix lands:
// https://bugzilla.mozilla.org/show_bug.cgi?id=683280
globalScope.PDFJS.disableWorker = true;
// getPdf()
// Convenience function to perform binary Ajax GET
// Usage: getPdf('http://...', callback)
@ -471,6 +467,7 @@ var PDFDoc = (function pdfDoc() { @@ -471,6 +467,7 @@ var PDFDoc = (function pdfDoc() {
this.objs = new PDFObjects();
this.pageCache = [];
this.fontsLoading = {};
this.workerReadyPromise = new Promise('workerReady');
// If worker support isn't disabled explicit and the browser has worker
@ -484,7 +481,16 @@ var PDFDoc = (function pdfDoc() { @@ -484,7 +481,16 @@ var PDFDoc = (function pdfDoc() {
throw 'No PDFJS.workerSrc specified';
}
var worker = new Worker(workerSrc);
var worker
try {
worker = new Worker(workerSrc);
} catch (e) {
// Some versions of FF can't create a worker on localhost, see:
// https://bugzilla.mozilla.org/show_bug.cgi?id=683280
globalScope.PDFJS.disableWorker = true;
this.setupFakeWorker();
return;
}
var messageHandler = new MessageHandler('main', worker);
@ -505,8 +511,6 @@ var PDFDoc = (function pdfDoc() { @@ -505,8 +511,6 @@ var PDFDoc = (function pdfDoc() {
} else {
this.setupFakeWorker();
}
this.fontsLoading = {};
}
constructor.prototype = {

5
test/driver.js

@ -7,6 +7,11 @@ @@ -7,6 +7,11 @@
'use strict';
// Disable worker support for running test as
// https://github.com/mozilla/pdf.js/pull/764#issuecomment-2638944
// "firefox-bin: Fatal IO error 12 (Cannot allocate memory) on X server :1."
PDFJS.disableWorker = true;
var appPath, browser, canvas, currentTaskIdx, manifest, stdout;
var inFlightRequests = 0;

Loading…
Cancel
Save