51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
|
|
|
'use strict';
|
|
|
|
this.onmessage = function(evt) {
|
|
// Reset the `onmessage` function as it was only set to call
|
|
// this function the first time a message is passed to the worker
|
|
// but shouldn't get called anytime afterwards.
|
|
this.onmessage = null;
|
|
|
|
if (evt.data.action !== 'workerSrc') {
|
|
throw 'Worker expects first message to be `workerSrc`';
|
|
}
|
|
|
|
// Content of `PDFJS.workerSrc` as defined on the main thread.
|
|
var workerSrc = evt.data.data;
|
|
|
|
// Extract the directory that contains the source files to load.
|
|
// Assuming the source files have the same relative possition as the
|
|
// `workerSrc` file.
|
|
var dir = workerSrc.substring(0, workerSrc.lastIndexOf('/') + 1);
|
|
|
|
// List of files to include;
|
|
var files = [
|
|
'core.js',
|
|
'util.js',
|
|
'canvas.js',
|
|
'obj.js',
|
|
'function.js',
|
|
'charsets.js',
|
|
'cidmaps.js',
|
|
'colorspace.js',
|
|
'crypto.js',
|
|
'evaluator.js',
|
|
'fonts.js',
|
|
'glyphlist.js',
|
|
'image.js',
|
|
'metrics.js',
|
|
'parser.js',
|
|
'pattern.js',
|
|
'stream.js',
|
|
'worker.js'
|
|
];
|
|
|
|
// Load all the files.
|
|
for (var i = 0; i < files.length; i++) {
|
|
importScripts(dir + files[i]);
|
|
}
|
|
}.bind(this);
|