Merge pull request #5346 from yurydelendik/streamfix

Misc follow ups on the streaming requests
This commit is contained in:
Jonas Jenwald 2014-09-26 19:45:02 +02:00
commit 8539cd6e7d

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);