Bug 1560587 - Remove incorrect event redirection. r=tnikkel
authorKartikaya Gupta <kgupta@mozilla.com>
Mon, 24 Jun 2019 20:10:40 +0000
changeset 479971 92a3a2e17fdb8b252e73d989cbb2dde0590e8813
parent 479970 72d858dcdb26047b09afc9cda33c18dc14b44b52
child 479972 a914cf0cb9362d6b8f55ad1dce5660d838cb09bd
push id36197
push useraciure@mozilla.com
push dateTue, 25 Jun 2019 09:39:03 +0000
treeherdermozilla-central@5bfd0011c6e3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstnikkel
bugs1560587
milestone69.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1560587 - Remove incorrect event redirection. r=tnikkel In this codepath, the parent process may be sending an event to a particular content process. The last-saved mouse target might be stale, and using that to redirect the event can result in the event getting sent to the wront content process. Deleting this erroneous change restores correct behaviour. Differential Revision: https://phabricator.services.mozilla.com/D35697
layout/base/PresShell.cpp
--- a/layout/base/PresShell.cpp
+++ b/layout/base/PresShell.cpp
@@ -5518,21 +5518,16 @@ void PresShell::ProcessSynthMouseMoveEve
   // XXX mnakano I think that we should get the latest information from widget.
 
   if (BrowserBridgeChild* bbc = GetChildBrowser(pointView)) {
     // If we have a BrowserBridgeChild, we're going to be dispatching this
     // mouse event into an OOP iframe of the current document.
     event.mLayersId = bbc->GetLayersId();
     bbc->SendDispatchSynthesizedMouseEvent(event);
   } else if (RefPtr<PresShell> presShell = pointVM->GetPresShell()) {
-    // Otherwise we're targetting regular (non-OOP iframe) content in the
-    // current process. This field probably won't even be read, but we
-    // can fill it in with a sane value.
-    event.mLayersId = mMouseEventTargetGuid.mLayersId;
-
     // Since this gets run in a refresh tick there isn't an InputAPZContext on
     // the stack from the nsBaseWidget. We need to simulate one with at least
     // the correct target guid, so that the correct callback transform gets
     // applied if this event goes to a child process. The input block id is set
     // to 0 because this is a synthetic event which doesn't really belong to any
     // input block. Same for the APZ response field.
     InputAPZContext apzContext(mMouseEventTargetGuid, 0, nsEventStatus_eIgnore);
     presShell->DispatchSynthMouseMove(&event);