Closed Bug 1178060 Opened 9 years ago Closed 9 years ago

Document-level listeners for APZ-aware events don't trigger dispatch-to-content regions if the nsDisplaySubDocument doesn't get created

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: kats, Assigned: kats)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Consider a case where a webpage registers a wheel listener on the window of the content document. Since this wheel listener can preventDefault wheel events, it is supposed to cause layout to add a force-dispatch-to-content flag on the appropriate container layer. This then gets picked up by APZ and causes it to wait for the content response on those events.

The mechanism for adding the force-dispatch-to-content flag is that the nsDisplaySubDocument constructor has a check [1] which then populates a flag on the ContainerLayer it builds. However, in some cases there is no nsDisplaySubDocument created at all (nor a nsDisplayZoom or nsDisplayResolution, which are both subclasses of nsDisplaySubDocument). In these cases, the mechanism that is supposed to populate the flag doesn't get triggered and so APZ ends up not waiting for the listeners like it's supposed to.

This was one of the reasons behind bug 1177651.

[1] http://mxr.mozilla.org/mozilla-central/source/layout/base/nsDisplayList.cpp?rev=1a326aaaba37#4164
Attached patch PatchSplinter Review
This fixes the issue in my local setup.
Assignee: nobody → bugmail.mozilla
Attachment #8626957 - Flags: review?(tnikkel)
Attachment #8626957 - Flags: review?(tnikkel) → review+
https://hg.mozilla.org/mozilla-central/rev/22b3af8c20b2
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Depends on: 1246449
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: