Limit image size to 1024*1024 for b2g.
This commit is contained in:
parent
d71948038f
commit
bcc085ec52
@ -25,7 +25,6 @@ limitations under the License.
|
|||||||
<link rel="resource" type="application/l10n" href="locale.properties"/>
|
<link rel="resource" type="application/l10n" href="locale.properties"/>
|
||||||
<link rel="stylesheet" href="/shared/style/headers.css" type="text/css" />
|
<link rel="stylesheet" href="/shared/style/headers.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="viewer-b2g.css" type="text/css" />
|
<link rel="stylesheet" href="viewer-b2g.css" type="text/css" />
|
||||||
<link rel="stylesheet" href="/shared/style/responsive.css" type="text/css" />
|
|
||||||
<script type="text/javascript" src="l10n.js"></script>
|
<script type="text/javascript" src="l10n.js"></script>
|
||||||
<script type="text/javascript" src="../build/pdf.js"></script>
|
<script type="text/javascript" src="../build/pdf.js"></script>
|
||||||
<script type="text/javascript" src="/shared/js/async_storage.js"></script>
|
<script type="text/javascript" src="/shared/js/async_storage.js"></script>
|
||||||
|
10
src/api.js
10
src/api.js
@ -21,6 +21,13 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The maximum allowed image size in total pixels e.g. width * height. Images
|
||||||
|
* above this value will not be drawn. Use -1 for no limit.
|
||||||
|
* @var {Number}
|
||||||
|
*/
|
||||||
|
PDFJS.maxImageSize = PDFJS.maxImageSize === undefined ? -1 : PDFJS.maxImageSize;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the main entry point for loading a PDF and interacting with it.
|
* This is the main entry point for loading a PDF and interacting with it.
|
||||||
* NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)
|
* NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)
|
||||||
@ -760,7 +767,8 @@ var WorkerTransport = (function WorkerTransportClosure() {
|
|||||||
source.chunkedViewerLoading = !!this.pdfDataRangeTransport;
|
source.chunkedViewerLoading = !!this.pdfDataRangeTransport;
|
||||||
this.messageHandler.send('GetDocRequest', {
|
this.messageHandler.send('GetDocRequest', {
|
||||||
source: source,
|
source: source,
|
||||||
disableRange: PDFJS.disableRange
|
disableRange: PDFJS.disableRange,
|
||||||
|
maxImageSize: PDFJS.maxImageSize
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -234,6 +234,11 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
var w = dict.get('Width', 'W');
|
var w = dict.get('Width', 'W');
|
||||||
var h = dict.get('Height', 'H');
|
var h = dict.get('Height', 'H');
|
||||||
|
|
||||||
|
if (PDFJS.maxImageSize !== -1 && w * h > PDFJS.maxImageSize) {
|
||||||
|
warn('Image exceeded maximum allowed size and was removed.');
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
var dependencies = {};
|
var dependencies = {};
|
||||||
var retData = {
|
var retData = {
|
||||||
dependencies: dependencies
|
dependencies: dependencies
|
||||||
@ -706,6 +711,10 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
} else if ('Image' == type.name) {
|
} else if ('Image' == type.name) {
|
||||||
var data = self.buildPaintImageXObject(
|
var data = self.buildPaintImageXObject(
|
||||||
resources, xobj, false);
|
resources, xobj, false);
|
||||||
|
if (!data) {
|
||||||
|
args = [];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
Util.extendObj(dependencies, data.dependencies);
|
Util.extendObj(dependencies, data.dependencies);
|
||||||
self.insertDependencies(queue, data.dependencies);
|
self.insertDependencies(queue, data.dependencies);
|
||||||
fn = data.fn;
|
fn = data.fn;
|
||||||
@ -720,6 +729,10 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
} else if (cmd == 'EI') {
|
} else if (cmd == 'EI') {
|
||||||
var data = self.buildPaintImageXObject(
|
var data = self.buildPaintImageXObject(
|
||||||
resources, args[0], true);
|
resources, args[0], true);
|
||||||
|
if (!data) {
|
||||||
|
args = [];
|
||||||
|
continue;
|
||||||
|
}
|
||||||
Util.extendObj(dependencies, data.dependencies);
|
Util.extendObj(dependencies, data.dependencies);
|
||||||
self.insertDependencies(queue, data.dependencies);
|
self.insertDependencies(queue, data.dependencies);
|
||||||
fn = data.fn;
|
fn = data.fn;
|
||||||
|
@ -307,6 +307,9 @@ var WorkerMessageHandler = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PDFJS.maxImageSize = data.maxImageSize === undefined ?
|
||||||
|
-1 : data.maxImageSize;
|
||||||
|
|
||||||
getPdfManager(data).then(function pdfManagerReady() {
|
getPdfManager(data).then(function pdfManagerReady() {
|
||||||
loadDocument(false).then(onSuccess, function loadFailure(ex) {
|
loadDocument(false).then(onSuccess, function loadFailure(ex) {
|
||||||
// Try again with recoveryMode == true
|
// Try again with recoveryMode == true
|
||||||
|
@ -3201,6 +3201,7 @@ window.addEventListener('afterprint', function afterPrint(evt) {
|
|||||||
//#if B2G
|
//#if B2G
|
||||||
//window.navigator.mozSetMessageHandler('activity', function(activity) {
|
//window.navigator.mozSetMessageHandler('activity', function(activity) {
|
||||||
// var url = activity.source.data.url;
|
// var url = activity.source.data.url;
|
||||||
|
// PDFJS.maxImageSize = 1024 * 1024;
|
||||||
// PDFView.open(url);
|
// PDFView.open(url);
|
||||||
// var cancelButton = document.getElementById('activityClose');
|
// var cancelButton = document.getElementById('activityClose');
|
||||||
// cancelButton.addEventListener('click', function() {
|
// cancelButton.addEventListener('click', function() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user