Removing sum of the iframe times, browser does it for us
This commit is contained in:
parent
8459fef6c3
commit
52d229761a
37
src/fonts.js
37
src/fonts.js
@ -405,7 +405,6 @@ function mapPrivateUseChars(code) {
|
|||||||
|
|
||||||
var FontLoader = {
|
var FontLoader = {
|
||||||
loadingContext: {
|
loadingContext: {
|
||||||
pending: 0,
|
|
||||||
requests: [],
|
requests: [],
|
||||||
nextRequestId: 0
|
nextRequestId: 0
|
||||||
},
|
},
|
||||||
@ -452,38 +451,15 @@ var FontLoader = {
|
|||||||
assert(!request.end, 'completeRequest() cannot be called twice');
|
assert(!request.end, 'completeRequest() cannot be called twice');
|
||||||
request.end = Date.now();
|
request.end = Date.now();
|
||||||
|
|
||||||
if (context.pending <= 1) {
|
// sending all completed requests in order how they were queued
|
||||||
// it's simple completion for one request
|
while (context.requests.length > 0 && context.requests[0].end) {
|
||||||
context.pending = 0;
|
var otherRequest = context.requests.shift();
|
||||||
context.requests.pop();
|
setTimeout(otherRequest.callback, 0);
|
||||||
setTimeout(callback, 0);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculating the load delay for all fonts and checking if all loaded
|
|
||||||
var totalTime = 0;
|
|
||||||
for (var i = 0, ii = context.requests.length; i < ii; i++) {
|
|
||||||
var otherRequest = context.requests[i];
|
|
||||||
if (!otherRequest.end)
|
|
||||||
return; // one more font to load, cancel the completion
|
|
||||||
totalTime += otherRequest.end - otherRequest.start;
|
|
||||||
}
|
|
||||||
var now = Date.now();
|
|
||||||
var startTime = context.requests[0].start;
|
|
||||||
var leftToWait = Math.max(totalTime - (now - startTime), 0);
|
|
||||||
context.timeout = setTimeout(function completeAllRequests() {
|
|
||||||
for (var i = 0, ii = context.requests.length; i < ii; i++) {
|
|
||||||
context.requests[i].callback();
|
|
||||||
}
|
|
||||||
context.pending = 0;
|
|
||||||
context.requests = [];
|
|
||||||
delete context.timeout;
|
|
||||||
}, leftToWait);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var context = FontLoader.loadingContext;
|
var context = FontLoader.loadingContext;
|
||||||
var requestId = 'pdfjs-font-loading-' + (context.nextRequestId++);
|
var requestId = 'pdfjs-font-loading-' + (context.nextRequestId++);
|
||||||
context.pending++;
|
|
||||||
var request = {
|
var request = {
|
||||||
id: requestId,
|
id: requestId,
|
||||||
complete: LoadLoader_completeRequest,
|
complete: LoadLoader_completeRequest,
|
||||||
@ -491,11 +467,6 @@ var FontLoader = {
|
|||||||
started: Date.now()
|
started: Date.now()
|
||||||
};
|
};
|
||||||
context.requests.push(request);
|
context.requests.push(request);
|
||||||
if (context.timeout) {
|
|
||||||
// timeout for callbacks was set, removing that
|
|
||||||
clearTimeout(context.timeout);
|
|
||||||
delete context.timeout;
|
|
||||||
}
|
|
||||||
return request;
|
return request;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user