зеркало из https://github.com/mozilla/gecko-dev.git
6011bbb22c
The event rate throttling mechanism is modelled on the logic for "scroll" events in nsGfxScrollFrame.cpp. That is 1. When a request to fire an event is posted to the VisualViewport, we create a new runnable for this and register it with the RefreshDriver. If we already have a pending runnable, calling VisualViewport->Post...Event() becomes a no-op. 2. When the RefreshDriver is ready, it executes the runnable, which in turn fires the actual event and then cleans itself up. To keep this patch manageable, we simply fire a scroll event every time the stored visual viewport offset is changed. Because we are storing the absolute offset of the viewport relative to the page, this behaviour doesn't match the spec, which demands that scroll events are fired only when the relative offset between visual and layout viewport changes. We'll fix this up in the next patch. Differential Revision: https://phabricator.services.mozilla.com/D14043 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
2d | ||
angle | ||
cairo | ||
config | ||
docs | ||
gl | ||
graphite2 | ||
harfbuzz | ||
ipc | ||
layers | ||
ots | ||
qcms | ||
sfntly | ||
skia | ||
src | ||
tests | ||
thebes | ||
vr | ||
webrender_bindings | ||
wr | ||
ycbcr | ||
moz.build |