Per the touch-action spec, the effective touch-action on an element includes
touch-action restrictions from ancestor elements up to and including the
element that has the "default action". This patch implements that behaviour
so that WebRender gets correct touch-action values on its display items.
MozReview-Commit-ID: Cw5uqAsE9qm
--HG--
extra : rebase_source : ef6e24a66385e097d50b3a03c06091464b1bb5b9
- Fix the implementation to return a numerically correct result
- Change call sites that should have instead been using
CalculateCompositedSizeInCssPixels(), to do so
- Rename and document to emphasize that the returned rect is in the
CSS pixels of the content surrounding the scroll frame
MozReview-Commit-ID: GCPbA1k88rz
--HG--
extra : rebase_source : f5b937936fb84b3ae414d6cf0250add4078a9d53
This pref was used to enable the building of nsDisplayLayerEventRegions
items without APZ, so that we could test it in isolation. However, we no
longer need to do so, and these display items are going to be deleted
anyway, so we can remove this pref.
MozReview-Commit-ID: LJVcFafCKyS
--HG--
extra : rebase_source : 76d8eeca8dca4ea88b8226bbe6b829dbc40e03e4
This removes the gfx.webrender.hit-test pref, assumes a value of true
everywhere it is used, and deletes all the resulting dead code.
Some gtests were setting this pref to false, and they are now updated to
set gfxVars::UseWebRender to false instead, which has the desired effect
of using the non-WR hit-testing codepath in APZ. (The data needed for
this codepath is set up by the gtests themselves).
MozReview-Commit-ID: 9ljDr8eEnv1
--HG--
extra : rebase_source : fbc321861428e7bb0bf7ab811935b682785debdc
Transforms are containing blocks for fixed-pos items, so if a fixed-pos
item is inside a scrolled transform, then it should use that scrollframe
as the scroll target for hit-testing. This patch handles this case for
WebRender by stashing the appropriate ASR on the nsDisplayFixedPosition
item and using it instead of the presShell's root scrollframe in this
scenario.
The patch also adds a mochitest (which is basically a mochitested
version of the reftest in fixed-pos-scrolled-clip-3.html, with a
hit-test check to ensure that it's hitting the right scrollframe).
MozReview-Commit-ID: 7YQAeOiMMuP
--HG--
extra : rebase_source : 8d1c89d0c03c3e7d9383d0731f65a327a2c11a8d
Without this patch, the scrollId for display items inside a fixed-pos
item end as the ASR of the item. In the case of fixed-pos items that are
inside iframes, the ASR is the outer document's root scrollframe. This
means that e.g. wheel-scrolling while over a fixed-pos item inside an
iframe ends up scrolling the outer document's root scrollframe instead
of the iframe's root scrollframe.
In the non-WR codepath, there some APZ machinery that walks up in the
HitTestingTreeNode tree from the hit result, looking to see if that node
has a fixed-pos ancestor, and if so, uses the fixed-pos item's target
APZ as the real hit result. This machinery doesn't exist in WR, because
we don't use the HitTestingTreeNode tree for hit-testing in APZ.
Instead, we need to make sure that the item tag for those display items
already has the appropriate scrollid set.
This patch accomplishes this by introducing a new RAII class that is
pushed into the wr::DisplayListBuilder while we are building display
items inside a nsDisplayFixedPosition, and allows the desired scroll id to
be set on the hit-testing display items.
This behaviour is exercised by test_group_wheelevents, which can now be
enabled with this fix.
MozReview-Commit-ID: L2erPVzJeql
--HG--
extra : rebase_source : 1db630513cb1dc16d4e38649812e81f62c8da99c
After Bug 1451183 is landed, sEGLLibrary is undefined and we should use
gl::GLLibraryEGL::Get() instead of sEGLLibrary directly.
MozReview-Commit-ID: DNEkPIEqDpK
--HG--
extra : rebase_source : b07e04ce8a9fe50d72fd857e41c1448fa917d2a9
* Add option for second focus point in PinchWithTouchInput
* Integrate content controller in PinchWithTouchInput
* Move PinchWithTouchInput implementation to APZCTesterBase
* Move CreateSingleTouchData to APZTestCommon.h
* Add optional PinchOptions parameter to PinchWithTouchInput
PinchOptions dictates which fingers should be lifted at
the end of the simulated pinch gesture. The default is to
lift BOTH fingers.
--HG--
extra : rebase_source : 9a2c5d1a6a8a6ed97869d3e9d643e2a805f5dfd0
extra : amend_source : b5d2976cc3c5203069a532d228e006365e4da320