Use strongly typed units for the size sent over PWebRenderBridge::SetDisplayList

RESOLVED FIXED in Firefox 68

Status

()

enhancement
P3
normal
RESOLVED FIXED
a month ago
22 days ago

People

(Reporter: kats, Assigned: kats)

Tracking

(Depends on 1 bug)

Other Branch
mozilla68
Points:
---

Firefox Tracking Flags

(firefox68 fixed)

Details

Attachments

(3 attachments)

For some reason we're doing a size.ToUnkownSize() when we probably should just leave it as a LayoutDeviceIntSize all the way through.

Doug's document-splitting patches in bug 1441308 change this size to a rect but the underlying problem of using it untyped remains. After his patches land we should fix this.

Marking as dependency so I remember to do this once document-splitting lands.

Depends on: document-splitting
Assignee: nobody → kats

The receiver of this parameter treats it as a layout size, so it doesn't
make sense for the argument to be a LayerSize partway through the call
chain. Also the callers originally get this from a LayoutDevice rect;
so there's even less reason for this to be turned into a LayerSize. The
next patch will propagate this cleanup more.

We use a strongly typed LayoutDevice rect because that's the correct
type for this rect. And we defer the rounding to the parent side for
more precise hit-testing (see next patch).

Depends on D25238

The main change here is removing some rounding so that we can do more
accurate hit-testing in APZ. Instead of rounding both the rect and the
point, we just store both as unrounded values. mRenderRootRects is also
changed to be of a Screen type as that better reflects what it's being
used for, and there is a legitimate justification for converting it from
LayoutDevice.

Depends on D25239

Comment 5

22 days ago
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9c1155d2e268
Change the viewport size passed to TransactionBuilder::SetDisplayList to a wr::LayoutSize. r=dthayer
https://hg.mozilla.org/integration/autoland/rev/9e98c0c308ef
Pass the render root rect over as an unrounded LayoutDeviceRect. r=dthayer
https://hg.mozilla.org/integration/autoland/rev/30d3c155c27e
Store the render root rect as a ScreenRect. r=dthayer

Comment 6

22 days ago
bugherder
Status: NEW → RESOLVED
Last Resolved: 22 days ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
You need to log in before you can comment on or make changes to this bug.