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

RESOLVED FIXED in Firefox 68



a month ago
22 days ago


(Reporter: kats, Assigned: kats)


(Depends on 1 bug)

Other Branch

Firefox Tracking Flags

(firefox68 fixed)



(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

Depends on D25239

Comment 5

22 days ago
Pushed by
Change the viewport size passed to TransactionBuilder::SetDisplayList to a wr::LayoutSize. r=dthayer
Pass the render root rect over as an unrounded LayoutDeviceRect. r=dthayer
Store the render root rect as a ScreenRect. r=dthayer

Comment 6

22 days ago
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.