Closed Bug 1604280 Opened 4 years ago Closed 4 months ago

Get the APZ minimap to work with WebRender

Categories

(Core :: Panning and Zooming, task, P3)

task

Tracking

()

RESOLVED FIXED
123 Branch
Tracking Status
firefox73 --- wontfix
firefox123 --- fixed

People

(Reporter: botond, Assigned: botond)

References

(Blocks 4 open bugs)

Details

Attachments

(2 files)

The APZ minimap is currently drawn by ContainerLayerComposite and therefore not drawn if WebRender is enabled.

It's a useful diagnostic tool, so we should keep it working with WebRender.

Blocks: 1604282
Severity: normal → S3

This came up today as a tool that would make it easier to diagnose checkerboarding bugs like bug 1818967.

A possible approach for implementing this to be:

  • In RenderBackend::update_document(), when sampling async scroll offsets from APZ here, also query APZ for information that would be displayed in the minimap (e.g. the scrollable rect, viewport rects, and displayport rect)
  • Propagate the minimap information to build_frame() and FrameBuilder::build(), which can append the rects we want to draw to Frame::debug_items here

I would like to give this a try, it should help with checkerboarding-related investigations such as the one in bug 1781007.

Assignee: nobody → botond

Posting for my own reference: a link to the old Layers implementation of the minimap.

Attachment #9357911 - Attachment description: WIP: [WIP] Bug 1604280 (APZ minimap) → Bug 1604280 - Implement an APZ minimap for WebRender. r=dlrobertson,gw

The first branch (where the node is in the root coordinate system)
was not handling the TransformScroll::Unscrolled case.

Attachment #9357911 - Attachment description: Bug 1604280 - Implement an APZ minimap for WebRender. r=dlrobertson,gw → Bug 1604280 - Implement an APZ minimap for WebRender. r=dlrobertson!,gw!
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f3656d44c967
Fix a bug in SpatialTree::get_world_transform_impl(). r=gw
https://hg.mozilla.org/integration/autoland/rev/872d8cd8e16c
Implement an APZ minimap for WebRender. r=dlrobertson,gw
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 123 Branch
Duplicate of this bug: 1550388
Duplicate of this bug: 1280518
Blocks: 1262264
Blocks: 1872901
Blocks: 1873119
Blocks: 1873121
Blocks: 1873124
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: