Disables hash options when PDFBug is disabled and fixed streaming regressions.

This commit is contained in:
Yury Delendik 2014-09-26 11:49:18 -05:00
parent 9c56c6f9f6
commit a95123188a

View File

@ -554,7 +554,9 @@ var RangedChromeActions = (function RangedChromeActionsClosure() {
this.headers[aHeader] = aValue; this.headers[aHeader] = aValue;
} }
}; };
originalRequest.visitRequestHeaders(httpHeaderVisitor); if (originalRequest.visitRequestHeaders) {
originalRequest.visitRequestHeaders(httpHeaderVisitor);
}
var self = this; var self = this;
var xhr_onreadystatechange = function xhr_onreadystatechange() { var xhr_onreadystatechange = function xhr_onreadystatechange() {
@ -874,8 +876,8 @@ PdfStreamConverter.prototype = {
} catch (e) {} } catch (e) {}
var rangeRequest = false; var rangeRequest = false;
var hash = aRequest.URI.ref; var streamRequest = false;
if (isHttpRequest && !getBoolPref(PREF_PREFIX + '.disableRange', false)) { if (isHttpRequest) {
var contentEncoding = 'identity'; var contentEncoding = 'identity';
try { try {
contentEncoding = aRequest.getResponseHeader('Content-Encoding'); contentEncoding = aRequest.getResponseHeader('Content-Encoding');
@ -886,13 +888,19 @@ PdfStreamConverter.prototype = {
acceptRanges = aRequest.getResponseHeader('Accept-Ranges'); acceptRanges = aRequest.getResponseHeader('Accept-Ranges');
} catch (e) {} } catch (e) {}
var hash = aRequest.URI.ref;
var isPDFBugEnabled = getBoolPref(PREF_PREFIX + '.pdfBugEnabled', false);
rangeRequest = contentEncoding === 'identity' && rangeRequest = contentEncoding === 'identity' &&
acceptRanges === 'bytes' && acceptRanges === 'bytes' &&
aRequest.contentLength >= 0 && aRequest.contentLength >= 0 &&
hash.toLowerCase().indexOf('disablerange=true') < 0; !getBoolPref(PREF_PREFIX + '.disableRange', false) &&
(!isPDFBugEnabled ||
hash.toLowerCase().indexOf('disablerange=true') < 0);
streamRequest = contentEncoding === 'identity' &&
!getBoolPref(PREF_PREFIX + '.disableStream', false) &&
(!isPDFBugEnabled ||
hash.toLowerCase().indexOf('disablestream=true') < 0);
} }
var streamRequest = !getBoolPref(PREF_PREFIX + '.disableStream', false) &&
hash.toLowerCase().indexOf('disablestream=true') < 0;
aRequest.QueryInterface(Ci.nsIChannel); aRequest.QueryInterface(Ci.nsIChannel);