Closed Bug 1151667 Opened 10 years ago Closed 10 years ago

Scrollable subdocument's area not part of root scrollable layer's dispatch-to-content region on page load

Categories

(Core :: Layout, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1154478
Tracking Status
firefox40 --- affected

People

(Reporter: botond, Assigned: botond)

References

Details

(Whiteboard: [gfx-noted])

STR: 1. Load http://people.mozilla.org/~bballo/iframe.html with APZ enabled 2. Observe that the iframe is initially not layerized. (This may or may not be intentional - see bug 1151663 - but let's assume for now it is.) 3. Position the mouse over the iframe 4. Scroll down with the mouse wheel Expected results: The iframe scrolls. (The expected mechanism for this is that the iframe is contained inside the dispatch-to-content region of the root scroll frame, so APZ waits for a set-target-apzc notification before scrolling. Content layerizes the iframe, and sets it as the target rather than the root scroll frame.) Actual results: The page scrolls initially. (Once the iframe is layerized, it then starts scrolling instead.) (This is also reproducible with a <div> instead of an <iframe> [1]). [1] http://people.mozilla.org/~bballo/div.html
Whiteboard: [gfx-noted]
Still reproductible on a recent nightly. I will investigate.
Assignee: nobody → botond
Looks like initially, the iframe's area is not included in the dispatch-to-content region of the root scrollable layer.
Component: Panning and Zooming → Layout
Summary: Wrong initial target for mouse wheel scroll when subframe is not layerized → Scrollable subdocument's area not part of root scrollable layer's dispatch-to-content region on page load
Markus mentioned that the failure of dom/events/test/test_bug574663.html with APZ enabled (which was worked around for the APZ-windows-nightly-enabling) could have the same cause.
The problem is that I was testing with the event-regions pref off. Bug 1137267 modified nsDisplayListBuilder::IsBuildingLayerEventRegions() to return true if APZ is enabled, even if the event-regions pref is off, but the place in layout code that added inactive scroll frames to the event-regions was checking gfxPrefs::LayoutEventRegionsEnabled() directly rather than checking nsDisplayListBuilder::IsBuildingLayerEventRegions().
See Also: → 1137267
Looks like this is fixed by the patch in bug 1154478.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.