gecko-dev/widget/android
Hiroyuki Ikezoe 04ba6da88c Bug 1817330 - Inform a reasonable APZHandledResult to GeckoView even if the APZ's result is nsEventStatus_eConsumeNoDefault. r=botond,geckoview-reviewers,owlish
Note that for touch events there are two possibilities where
InputQueue::ReceiveInputEvent() returns nsEventStatus_eConsumeNoDefault, a) the
touch input block is in a state of fast fling or b) the touch input block is in
a state of internal slop.

In the case of b) the nsEventStatus_eConsumeNoDefault status will never be used
since
 1) In cases of delayed results we just use the APZHandledResult we don't refer
    the nsEventStatus at all [1]
 2) In cases of non-delayed results even if the initial touch-start event gets
    into slop, TouchBlockState::UpdateSlopState returns false [2], thus APZ
    immediately reports one of the other nsEventStatuses and any subsequent
    statuses will never be used [3]

In the case of a) nsEventStatus_eConsumeNoDefault means the event doesn't need
to be sent to content, it doesn't mean any APZC didn't scroll by the event.

Also note that there's an automated test exercising the scenario a). It was
flaky before (bug 1687842), but now it appears to be stable.

[1] https://searchfox.org/mozilla-central/rev/32c74afbb24dce4b5dd6b33be71197e615631d71/gfx/layers/apz/src/InputQueue.cpp#986
[2] https://searchfox.org/mozilla-central/rev/32c74afbb24dce4b5dd6b33be71197e615631d71/gfx/layers/apz/src/InputBlockState.cpp#774-784
[3] https://searchfox.org/mozilla-mobile/rev/9fd115db1da9958a32c2cb2943fef79c1a0cac4a/firefox-android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/NestedGeckoView.kt#85,122-132

Differential Revision: https://phabricator.services.mozilla.com/D177456
2023-05-15 23:21:54 +00:00
..
bindings
jni Bug 1827386 - Part 1. NativeWeakPtr::Detach returns MozPromise to detect whether dispoer is finished. r=geckoview-reviewers,owlish 2023-05-09 05:13:32 +00:00
AndroidAlerts.cpp
AndroidAlerts.h
AndroidBridge.cpp
AndroidBridge.h
AndroidBridgeUtilities.h
AndroidCompositorWidget.cpp Bug 1824083 - Remove previous attempts to detect and work around invalid Surface bug. r=gfx-reviewers,geckoview-reviewers,nical,m_kato 2023-05-10 15:50:21 +00:00
AndroidCompositorWidget.h
AndroidContentController.cpp Bug 1774875 - Immediately fire click events for non-scrollable elements. r=botond,geckoview-reviewers,m_kato 2023-04-20 13:26:25 +00:00
AndroidContentController.h Bug 1774875 - Immediately fire click events for non-scrollable elements. r=botond,geckoview-reviewers,m_kato 2023-04-20 13:26:25 +00:00
AndroidUiThread.cpp Bug 1825360 - Remove the NS_DISPATCH_SYNC flag, r=necko-reviewers,geckoview-reviewers,media-playback-reviewers,karlt,jesup,m_kato,emilio 2023-03-30 16:53:51 +00:00
AndroidUiThread.h
AndroidView.h
AndroidVsync.cpp Bug 1822175 - Clean up dynamic refresh rate support on GeckoView. r=geckoview-reviewers,owlish 2023-03-22 15:35:16 +00:00
AndroidVsync.h Bug 1813573 - Part 2. Restart vsync when refresh rate is changed. r=geckoview-reviewers,owlish 2023-03-01 03:12:32 +00:00
Base64UtilsSupport.h
components.conf
CompositorWidgetChild.cpp
CompositorWidgetChild.h
CompositorWidgetParent.cpp
CompositorWidgetParent.h
EventDispatcher.cpp
EventDispatcher.h
GeckoBatteryManager.h
GeckoEditableSupport.cpp Bug 1827386 - Part 1. NativeWeakPtr::Detach returns MozPromise to detect whether dispoer is finished. r=geckoview-reviewers,owlish 2023-05-09 05:13:32 +00:00
GeckoEditableSupport.h
GeckoNetworkManager.h
GeckoProcessManager.cpp
GeckoProcessManager.h
GeckoSystemStateListener.h
GeckoTelemetryDelegate.h
GeckoViewSupport.h Bug 1659818 - Android window.print Implemented for Nightly r=emilio,m_kato,geckoview-reviewers 2023-03-15 21:23:12 +00:00
GeckoVRManager.h
GfxInfo.cpp Bug 1828192 [Linux] Run glxtest directly from GfxInfo::GetData() in case we're missing glx test data r=emilio 2023-04-20 08:54:17 +00:00
GfxInfo.h
ImageDecoderSupport.cpp
ImageDecoderSupport.h
InProcessAndroidCompositorWidget.cpp
InProcessAndroidCompositorWidget.h
MediaKeysEventSourceFactory.cpp
moz.build Bug 1824083 - Remove previous attempts to detect and work around invalid Surface bug. r=gfx-reviewers,geckoview-reviewers,nical,m_kato 2023-05-10 15:50:21 +00:00
nsAppShell.cpp Bug 1824083 - Remove previous attempts to detect and work around invalid Surface bug. r=gfx-reviewers,geckoview-reviewers,nical,m_kato 2023-05-10 15:50:21 +00:00
nsAppShell.h
nsClipboard.cpp Bug 1712122 - Part 3: Cancel pending write request when a new write request is made; r=nika,geckoview-reviewers,m_kato 2023-05-14 21:02:08 +00:00
nsClipboard.h Bug 1712122 - Part 3: Cancel pending write request when a new write request is made; r=nika,geckoview-reviewers,m_kato 2023-05-14 21:02:08 +00:00
nsDeviceContextAndroid.cpp
nsDeviceContextAndroid.h
nsIAndroidBridge.idl
nsLookAndFeel.cpp Bug 1831136 - Plumb android text scale via nsLookAndFeel. r=geckoview-reviewers,dholbert,owlish 2023-05-11 19:01:19 +00:00
nsLookAndFeel.h
nsPrintSettingsServiceAndroid.cpp
nsPrintSettingsServiceAndroid.h
nsUserIdleServiceAndroid.cpp
nsUserIdleServiceAndroid.h
nsWidgetFactory.cpp
nsWidgetFactory.h
nsWindow.cpp Bug 1817330 - Inform a reasonable APZHandledResult to GeckoView even if the APZ's result is nsEventStatus_eConsumeNoDefault. r=botond,geckoview-reviewers,owlish 2023-05-15 23:21:54 +00:00
nsWindow.h Bug 1832168 - [3/3] Remove nsIWidget::SetNativeData() r=emilio,geckoview-reviewers,m_kato 2023-05-11 01:13:06 +00:00
PCompositorWidget.ipdl
PlatformWidgetTypes.ipdlh
ScreenHelperAndroid.cpp Bug 1813573 - Part 2. Restart vsync when refresh rate is changed. r=geckoview-reviewers,owlish 2023-03-01 03:12:32 +00:00
ScreenHelperAndroid.h
Telemetry.h
WebExecutorSupport.cpp Bug 1818305 - Part 2: Add a streamStatus method to nsIInputStream, r=xpcom-reviewers,necko-reviewers,geckoview-reviewers,valentin,jesup,m_kato,mccr8 2023-03-15 19:52:34 +00:00
WebExecutorSupport.h
WindowEvent.h