From 63b012652da22f75172895a975ea7932e63dcc81 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Thu, 31 Aug 2017 08:54:46 -0700 Subject: Implement FORM_OnFocus() API. Given a point, if there is an annotation at the point, give if focus if it is not focus already. If there is no annotation at the point, then remove the focus from the focused annotation. BUG=chromium:754594 Change-Id: Iec3070472bbbfbad9d86e517f25da560f82efd4e Reviewed-on: https://pdfium-review.googlesource.com/12530 Commit-Queue: Lei Zhang Reviewed-by: dsinclair --- testing/resources/javascript/mouse_events.evt | 19 +++++ testing/resources/javascript/mouse_events.in | 92 ++++++++++++++++++++++ .../resources/javascript/mouse_events_expected.txt | 10 +++ 3 files changed, 121 insertions(+) create mode 100644 testing/resources/javascript/mouse_events.evt create mode 100644 testing/resources/javascript/mouse_events.in create mode 100644 testing/resources/javascript/mouse_events_expected.txt (limited to 'testing/resources/javascript') diff --git a/testing/resources/javascript/mouse_events.evt b/testing/resources/javascript/mouse_events.evt new file mode 100644 index 0000000000..57105063e4 --- /dev/null +++ b/testing/resources/javascript/mouse_events.evt @@ -0,0 +1,19 @@ +# Mouse in, mouse out. +mousemove,125,225 +mousemove,125,100 +# Mouse in, click in field. +mousemove,125,225 +mousedown,left,125,225 +mouseup,left,125,225 +# Mouse out, click elsewhere. +# This should trigger an On Blur event. (Bug 881) +mousemove,125,100 +mousedown,left,125,100 +mouseup,left,125,100 +# Mouse in, focus. +mousemove,125,225 +focus,125,225 +# Mouse out, unfocus. +# This should trigger an On Blur event. (Bug 881) +mousemove,125,100 +focus,125,100 diff --git a/testing/resources/javascript/mouse_events.in b/testing/resources/javascript/mouse_events.in new file mode 100644 index 0000000000..a72162add3 --- /dev/null +++ b/testing/resources/javascript/mouse_events.in @@ -0,0 +1,92 @@ +{{header}} +{{object 1 0}} << + /Type /Catalog + /Pages 2 0 R + /AcroForm 4 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 + /Resources << + /Font <> + >> + /Annots [ 5 0 R ] + /Contents [21 0 R] + /MediaBox [0 0 612 792] +>> +% Forms +{{object 4 0}} << + /Fields [5 0 R] +>> +% Field with actions: +% Cursor enter: E +% Cursor exit: X +% Mouse down: D +% Mouse up: U +% Focus: Fo +% Blur: Bl +{{object 5 0}} << + /FT /Tx + /T (MyField) + /Type /Annot + /Subtype /Widget + /Rect [100 200 150 250] + /AA << + /E 10 0 R + /X 11 0 R + /D 12 0 R + /U 13 0 R + /Fo 14 0 R + /Bl 15 0 R + >> +>> +{{object 10 0}} << + /Type /Action + /S /JavaScript + /JS (app.alert\("enter"\);) +>> +endobj +{{object 11 0}} << + /Type /Action + /S /JavaScript + /JS (app.alert\("exit"\);) +>> +endobj +{{object 12 0}} << + /Type /Action + /S /JavaScript + /JS (app.alert\("down"\);) +>> +endobj +{{object 13 0}} << + /Type /Action + /S /JavaScript + /JS (app.alert\("up"\);) +>> +endobj +{{object 14 0}} << + /Type /Action + /S /JavaScript + /JS (app.alert\("focus"\);) +>> +endobj +{{object 15 0}} << + /Type /Action + /S /JavaScript + /JS (app.alert\("blur"\);) +>> +endobj +{{xref}} +{{trailer}} +{{startxref}} +%%EOF diff --git a/testing/resources/javascript/mouse_events_expected.txt b/testing/resources/javascript/mouse_events_expected.txt new file mode 100644 index 0000000000..3d9b8b6071 --- /dev/null +++ b/testing/resources/javascript/mouse_events_expected.txt @@ -0,0 +1,10 @@ +Alert: enter +Alert: exit +Alert: enter +Alert: down +Alert: focus +Alert: up +Alert: exit +Alert: enter +Alert: focus +Alert: exit -- cgit v1.2.3