Passing FlingHandoffState around as an in-out parameter was making
the next change (respecting overscroll-behavior) messy.
MozReview-Commit-ID: 4wuoll20Jt7
--HG--
extra : rebase_source : c5d843254a38196547119419d1a2ad1fd0f3ef09
Factory::DoesBackendSupportDataDrawtarget already fulfills the same
purpose and we should use that instead, as imgFrame is the only user of
the former API. It has the added bonus of allowing us to use shared
surfaces on Linux with WebRender, and using volatile surfaces on Windows
when D2D is disabled.
This is follow-up to bug 1417519, to fix an incorrect change in that bug.
GetAPZCAtPointWR calls things like FindRootApzcForLayersId which require
the tree lock to be held, so we should hold it. It makes more sense to
hold the lock across the whole GetTargetAPZC function since we don't want
tree mutations to happen while we're in this function.
It also means we can't call GetTargetAPZC inside GetAPZCAtPointWR
because that will recursively try to pick up the tree lock; instead we
can use GetTargetNode and get the APZC from that.
MozReview-Commit-ID: 7ZXQMMes8hV
--HG--
extra : rebase_source : 1c9650e6fb720ef26daf63151cd1f6b144aa8ffb
Most of this patch is just mechanical changes, but note that this patch
now makes the mFlags in scrollbar-container nsDisplayOwnLayer instances
have one of the direction bits set. As a result, this requires changing
the implementation of nsDisplayOwnLayer::IsScrollThumbLayer().
MozReview-Commit-ID: 2BLdbpz5Sa8
--HG--
extra : rebase_source : 27e7d90ce60c7f702fe77d8a3a0f7e3ae3e4a4ff
ScrollDirection variables for which NONE was a valid value are replaced with
Maybe<ScrollDirection>.
I also took the opportunity to change the remaining ScrollDirection
enumerators to eTitleCase as per style guide.
MozReview-Commit-ID: GWejQR2HqH5
--HG--
extra : rebase_source : 6f8ad222caf73f9e02d772234f188eac4aac9301
This also moves the function from nsLayoutUtils to be a function on the
ASR itself, which seems more appropriate.
MozReview-Commit-ID: 88lUmYi80P0
--HG--
extra : rebase_source : 3f7e4f875c3267f9f4c5c67e720912ceedb25719
The style guide (and linting tool) check for this, and these headers
have so many functions that it's better to just do a wholesale
conversion than to keep adding things and making the files more
inconsistent over time.
MozReview-Commit-ID: 1SFQv15bIxi
--HG--
extra : rebase_source : 177836ff47031d88da3682834ca96210e75f3f07
- Update prefs to accomodate tests, disabling
enumeration throttling
- Updated Puppet display and controller implementation
to act more like the actual devices.
- Updated tests to ensure that they explicitly
create a VR mock display and don't create duplicate
mock displays.
MozReview-Commit-ID: 6RPVqekG2je
--HG--
extra : rebase_source : b5852a17617e26ed5fd5e0df82a333213e99163b
extra : amend_source : 623b75bc096f6e50a122351a5a913cb04422d323
- Ensure ovr_GetSessionStatus is polled even when a VR presentation
is not active.
- When we fail to initialize an Oculus Session or detect VR hardware,
immediately unload the Oculus Library as we can't poll for ShouldQuit
without a valid Oculus session.
- When we poll ovr_GetSessionStatus, we are now updating the mounted state
in VRDisplayInfo::mIsMounted.
- Added prefs to control enumeration throttling and timeout to release
VR hardware when inactive.
- Some refactoring to make frame loop more understandable and less
brittle.
- When throttling enumeration, we ensure that all other VR apis
also throttle enumeration so that they don't pick up the same device
during throttling.
- Some long functions in VRManager have been broken up and
had their inner-workings documented in more detail.
MozReview-Commit-ID: CEYwwQ9mYd0
--HG--
extra : rebase_source : b82cd9f200e6311528d4bed469d1b8044e9fc7f2
extra : amend_source : e74f56f5ec95641fd478deb71d6c7ba5d2cba7b1