Closed Bug 1421384 Opened 2 years ago Closed 2 years ago

Improve WR hit-testing correctness with respect to touch action


(Core :: Graphics: WebRender, enhancement, P3)

Other Branch



Tracking Status
firefox62 --- fixed


(Reporter: kats, Assigned: kats)


(Blocks 2 open bugs)


(Whiteboard: [wr-reserve] [gfx-noted])


(2 files)

While writing some hit-testing tests I realized I didn't do the touch-action implementation in nsFrame::GetCompositorHitTestInfo quite right. Right now it just returns the touch-action property for the frame itself, but touch-action has an inherited component as well which it doesn't handle properly. That is, if an ancestor element somewhere up the DOM tree has a touch-action, then the resulting touch-action of the descendant should be the combination of the two. There is some code in TouchActionHelper.cpp that implements this, but it would be expensive to invoke that directly in nsFrame::GetCompositorHitTestInfo. Instead, we should put information on the nsDisplayListBuilder as we descend into elements that have touch-action and then read it from there in nsFrame::GetCompositorHitTestInfo.
Whiteboard: [gfx-noted][wr-reserve][triage] → [wr-reserve] [gfx-noted]
Attached patch WIP mochitestSplinter Review
This is the mochitest I have half-written. There might be bugs in it.
Assignee: nobody → bugmail

I'll use this bug for fixing the issue in comment 0. This is actually already covered by existing mochitests, which are currently disabled for webrender. Fixing the issue allows re-enabling the mochitest.

The additional mochitests (comment 1) I'll shuffle off into another bug.
Comment on attachment 8984546 [details]
Bug 1421384 - Inherit touch-action flags down in the compositor hit-test infos.

Attachment #8984546 - Flags: review?(mikokm) → review+
Pushed by
Inherit touch-action flags down in the compositor hit-test infos. r=miko
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Depends on: 1487890
You need to log in before you can comment on or make changes to this bug.