Open Bug 1878819 Opened 5 months ago Updated 5 months ago

dragover etc won't be fired on xorigin iframe with Fission

Categories

(GeckoView :: IME, defect)

All
Android
defect

Tracking

(Not tracked)

People

(Reporter: m_kato, Unassigned)

References

(Blocks 2 open bugs)

Details

Related to bug 1878793. In GeckoView, APZ controller thread and main thread are different and there is no way to convert drag event such as drop to mouse event. So https://searchfox.org/mozilla-central/rev/896042a1a71066254ceb5291f016ca3dbca21cb7/widget/nsBaseWidget.cpp#1275-1279 doesn't use APZ's ReceiveInputEvent, then use DispatchEvent simply.

But this doesn't seem to work on dragover and drop with fission.

Blocks: 1587995

I expect this is because we rely on APZ annotating the event with information (based on APZ's hit test) about which content process the event should be dispatched to.

The call to APZInputBridge::ReceiveInputEvent here (or similar places) populates the mLayersId field of the InputData argument with the LayersId of the target content process.

So, for this to work, the events will likely need to take the ReceiveInputEvent codepath.

Not being able to convert the events to InputData is fine, they can take the default branch in the ReceiveInputEvent implementation, which will set the mLayersId based on hit-testing the mRefPoint without doing any additional processing.

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