| Index: testing/resources/bug_634716.pdf
|
| diff --git a/testing/resources/bug_620428.pdf b/testing/resources/bug_634716.pdf
|
| similarity index 64%
|
| copy from testing/resources/bug_620428.pdf
|
| copy to testing/resources/bug_634716.pdf
|
| index e53ed50e24bf811c8b476c964b0249ae9473a0e5..6330b9a4e534c5b629a93b84308be4287a6e580f 100644
|
| --- a/testing/resources/bug_620428.pdf
|
| +++ b/testing/resources/bug_634716.pdf
|
| @@ -66,28 +66,55 @@ endobj
|
| 50 0 obj <<
|
| >>
|
| stream
|
| -function fireTimeOut() {
|
| - app.alert("hello world");
|
| +var timeOut = 0;
|
| +var array = new Array(1024*4);
|
| +var doc = this;
|
| +
|
| +function myFunction() {
|
| + try {
|
| + // Free the Timer Objects
|
| + app.clearTimeOut(timeOut);
|
| + for (var i=0; i<array.length; i++) {
|
| + for (var j=0; j<array[i].length; j++) {
|
| + app.clearTimeOut(array[i][j]);
|
| + }
|
| + }
|
| +
|
| + // Trigger the Garbage Collection
|
| + array.length = 0;
|
| + array.push(new ArrayBuffer(1024*1024));
|
| + array.length=0;
|
| + array.length=1024*4;
|
| + var str = 'AA';
|
| + for (var i = 0; i < array.length ; i++) {
|
| + for (var j = 0; j < 10; j++ ) {
|
| + doc.addIcon(str + "-" + str + str + str + str + str, doc.icons);
|
| + }
|
| + }
|
| + } catch(err) {
|
| + app.alert(err);
|
| + }
|
| }
|
| -function fireInterval() {
|
| - app.alert("goodbye world");
|
| +
|
| +function main() {
|
| + try {
|
| + for (var i = 0; i < array.length ; i++) {
|
| + if (i == array.length / 2) {
|
| + timeOut = app.setTimeOut("myFunction()", 1000);
|
| + }
|
| + array[i] = new Array(4);
|
| + for (var j = 0; j < array[i].length ; j++ ) {
|
| + array[i][j] = app.setTimeOut("aaaaaaaaaa()", 100000);
|
| + }
|
| + }
|
| + } catch(err) {
|
| + app.alert(err);
|
| + }
|
| }
|
| -var timer = app.setTimeOut("fireTimeOut()", 3000);
|
| -var interval = app.setInterval("fireInterval()", 1000);
|
| -// Clear timers before they fire.
|
| -app.clearTimeOut(timer);
|
| -app.clearInterval(interval);
|
| -// Check that clearing a cleared timer is ok.
|
| -app.clearTimeOut(timer);
|
| -app.clearInterval(interval);
|
| -// Check that invoking the wrong clear method is ok
|
| -var timer = app.setTimeOut("fireTimeOut()", 3000);
|
| -var interval = app.setInterval("fireInterval()", 1000);
|
| -app.clearTimeOut(interval);
|
| -app.clearInterval(timer);
|
| -// Check that clearing a non-timer is ok.
|
| -app.clearTimeOut({"size": 42});
|
| -app.clearInterval({"size": 42});
|
| +
|
| +// Execute the JS.
|
| +app.setTimeOut("main()", 1000);
|
| +
|
| // Be sure all of this code ran to completion.
|
| app.alert("done");
|
| endstream
|
| @@ -149,5 +176,5 @@ trailer <<
|
| /Root 1 0 R
|
| >>
|
| startxref
|
| -1655
|
| +2036
|
| %%EOF
|
|
|