Skip to content
  • Masayuki Nakano's avatar
    Bug 1569512 - Make `PresShell` ignore synthesized `mousemove` events coming... · c90d6c80
    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