Open Bug 1853261 Opened 2 years ago

Change some test_reftests_with_caret.html subtests to wait for form controls to be ready to receive input

Categories

(Core :: Layout, task)

task

Tracking

()

ASSIGNED

People

(Reporter: dholbert, Assigned: dholbert)

Details

In investigating intermittent failures of test_reftests_with_caret.html for bug 1777050, my logging showed some cases where the iframe itself was receiving a synthesized click event, seemingly before its document was in a state where it could actually accept it, and this counterintuitively caused content inside the iframe to lose focus (because the iframe element in the parent document absorbed the click).

I think this is approximately the same thing that masayuki ran into and described in bug 1668945 comment 27.

In that bug, masayuki added a utility function promiseElementReadyForUserInput which addresses this by letting a test explicitly wait until an element can receive mouse events etc. before we start dispatching clicks or keypresses.

I think we need to make use of that function in some of test_reftests_with_caret.html's subtests as well, so that the user input events don't get swallowed before the iframe can accept them.

I'm going to use this bug to land patches for the most-commonly-failing subtests (see bug 1777050 comment 73); and then we can watch to be sure those failures go away, and proceed to fix up more subtests if they do.

You need to log in before you can comment on or make changes to this bug.