Closed Bug 1151667 Opened 9 years ago Closed 9 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: 9 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.