From b1f9205bb1a0671c31e44e7362784c770bf2a948 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 14 Sep 2017 17:03:12 -0700 Subject: OnBeforeKeystroke may invalidate the widget's window. And along with it any data that the window may have been carrying. Tidy some return codes while we're at it. Bug: 765384 Change-Id: Id16ec5f82b3d9273ba8f2edb1e4645a9145df4f6 Reviewed-on: https://pdfium-review.googlesource.com/14050 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- testing/resources/bug_765384.in | 105 ++++++++++++++++++++++++++ testing/resources/bug_765384.pdf | 159 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 264 insertions(+) create mode 100644 testing/resources/bug_765384.in create mode 100644 testing/resources/bug_765384.pdf (limited to 'testing/resources') diff --git a/testing/resources/bug_765384.in b/testing/resources/bug_765384.in new file mode 100644 index 0000000000..1de85d31ba --- /dev/null +++ b/testing/resources/bug_765384.in @@ -0,0 +1,105 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /AcroForm 4 0 R + /OpenAction 10 0 R +>> +endobj +{{object 2 0}} << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +{{object 3 0}} << + /Type /Page + /Parent 2 0 R + /Annots [ + 8 0 R + 9 0 R + ] +>> +endobj +% Forms +{{object 4 0}} << + /XFA [ + (xdp:xdp) 43 0 R + (form) 49 0 R + () 50 0 R + ] + /Fields [ + 8 0 R + 9 0 R + ] +>> +endobj +% Fields +{{object 8 0}} << + /FT /Ch + /Ff 0 + /T (MyField) + /Type /Annot + /Subtype /Widget + /Rect [0 0 800 800] + /Opt [(test 1) (test 2)] + /AA << /K 20 0 R >> +>> +endobj +% Fields +{{object 9 0}} << + /FT /Tx + /T (MyField2) + /Type /Annot + /Subtype /Widget + /V (myfield_2) + /Rect [0 0 1 1] +>> +endobj +% JS Action +{{object 20 0}} << + /Type /Action + /S /JavaScript + /JS 21 0 R +>> +endobj +% JS program to exexute +{{object 21 0}} << +>> +stream +function gc() { + tmp = []; + for (var i = 0; i < 0x200000; i++) + tmp.push(new Uint8Array(10)); + tmp = null; +} +this.getField("MyField2").setFocus(); +this.getField("MyField").borderStyle="dashed"; +this.getField("MyField").setFocus(); +gc(); +endstream +endobj +{{object 43 0}} << +>>stream + + +endstream +endobj +{{object 49 0}} << +>>stream + + +endstream +endobj +{{object 50 0}} << +>>stream + +endstream +endobj +{{xref}} +{{trailer}} +{{startxref}} +%%EOF diff --git a/testing/resources/bug_765384.pdf b/testing/resources/bug_765384.pdf new file mode 100644 index 0000000000..fcaa5f4305 --- /dev/null +++ b/testing/resources/bug_765384.pdf @@ -0,0 +1,159 @@ +%PDF-1.7 +% ò¤ô +1 0 obj << + /Type /Catalog + /Pages 2 0 R + /AcroForm 4 0 R + /OpenAction 10 0 R +>> +endobj +2 0 obj << + /Type /Pages + /Count 1 + /Kids [ + 3 0 R + ] +>> +endobj +% Page number 0. +3 0 obj << + /Type /Page + /Parent 2 0 R + /Annots [ + 8 0 R + 9 0 R + ] +>> +endobj +% Forms +4 0 obj << + /XFA [ + (xdp:xdp) 43 0 R + (form) 49 0 R + () 50 0 R + ] + /Fields [ + 8 0 R + 9 0 R + ] +>> +endobj +% Fields +8 0 obj << + /FT /Ch + /Ff 0 + /T (MyField) + /Type /Annot + /Subtype /Widget + /Rect [0 0 800 800] + /Opt [(test 1) (test 2)] + /AA << /K 20 0 R >> +>> +endobj +% Fields +9 0 obj << + /FT /Tx + /T (MyField2) + /Type /Annot + /Subtype /Widget + /V (myfield_2) + /Rect [0 0 1 1] +>> +endobj +% JS Action +20 0 obj << + /Type /Action + /S /JavaScript + /JS 21 0 R +>> +endobj +% JS program to exexute +21 0 obj << +>> +stream +function gc() { + tmp = []; + for (var i = 0; i < 0x200000; i++) + tmp.push(new Uint8Array(10)); + tmp = null; +} +this.getField("MyField2").setFocus(); +this.getField("MyField").borderStyle="dashed"; +this.getField("MyField").setFocus(); +gc(); +endstream +endobj +43 0 obj << +>>stream + + +endstream +endobj +49 0 obj << +>>stream + + +endstream +endobj +50 0 obj << +>>stream + +endstream +endobj +xref +0 51 +0000000000 65535 f +0000000015 00000 n +0000000107 00000 n +0000000195 00000 n +0000000292 00000 n +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000436 00000 n +0000000604 00000 n +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000732 00000 n +0000000824 00000 n +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000001106 00000 n +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000000000 65535 f +0000001230 00000 n +0000001308 00000 n +trailer<< /Root 1 0 R /Size 51 >> +startxref +1357 +%%EOF -- cgit v1.2.3