-
Masayuki Nakano authored
Bug 1569512 - Make `PresShell` ignore synthesized `mousemove` events coming from another process if the child process stores mouse location of synthesized mouse events for tests r=smaug The reason of intermittent failure of `test_bug656379-2.html` is, synthesized `mousemove` event coming from the parent process causes `mouseout` and `mouseleave` events of the last synthesized `mousemove` in the test. The reason is, synthesized `mousemove` for tests makes `PresShell` in the content process record the cursor location, but won't make it `PresShell` in the parent process do it. Therefore, parent process may synthesize `mousemove` event for the system cursor position which does not match with the synthesized mouse location in the content process. Therefore, `:hover` state may be updated unexpectedly. This patch makes `WidgetEvent::mFlags` have a flag to indicate whether it came from another process. Then, makes `PresShell::HandleEvent()` ignore synthesized `mousemove` events coming from another process only when the recorded mouse location was set by a mouse event synthesized for tests. Differential Revision: https://phabricator.services.mozilla.com/D65282 --HG-- extra : moz-landing-system : lando
c90d6c80