Open Bug 1970528 Opened 4 months ago Updated 3 months ago

Make each test starts with no pending event

Categories

(Core :: General, enhancement)

enhancement

Tracking

()

People

(Reporter: masayuki, Unassigned)

References

Details

I'm not sure the right component for this issue so that I filed this bug as a general one.

As far as I remember, I was involved twice for this issue, that is, a mysterious mousemove or mouse boundary event causes intermittent failures and the event comes from the parent process. There are 2 scenarios:

  1. The native mouse cursor may be over the window and that caused unexpected eMouseEnterIntoWidget is fired when moving the window or something (bug 1868283)
  2. A preceding test synthesized a mouse event via the parent process, then, a test may receive a synthesized eMouseMove or MouseEnterIntoWidget if the root PresShell in the parent process stores the last mouse cursor position and it's used by a layout change or scroll (the last patch in bug 1633450)

I believe that the first one has already been fixed by bug 1868283 if and only if the test does not use native mouse events. The latter is a problem which should be fixed in this bug or somewhere else and that will cause a lot of problem once we change all event dispatching for tests to asynchronous dispatching.

I think that the simplest solution is, we should add a test API to make all root PresShells in the parent process forget the last mouse location and the API should be called before a test starts running.

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