DescriptionFix SurfaceLayerImpl scale under impl-side painting
With impl-side painting turned on (which is really property trees),
Layer::CalculateContentsScale isn't run and Layer::PushPropertiesTo
clobbers contents scale to 1.f, and content bounds to bounds.
The problem was that the renderer would submit quads at scale=2 and the
browser SurfaceLayerImpl would also see that it had a DSF would then
scale its surface quad. To fix this, the SurfaceLayerImpl needs to
apply the inverse scale of its surface when generating quads.
Ideally, SurfaceAggregator could be changed in the future to just always
unapply the DSF of the frame and reduce plumbing, but in the short term,
this is a minimal change to ship impl-side painting.
This change is similar to https://codereview.chromium.org/913243003.
BUG=495142
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Committed: https://crrev.com/c09eb94e92c8ca3698059eb471f71bb64acdf7b9
Cr-Commit-Position: refs/heads/master@{#333004}
Patch Set 1 #
Total comments: 1
Patch Set 2 : Fix borders #Patch Set 3 : Fix SLI test to set scale; remove SL test about content scale #
Total comments: 1
Patch Set 4 : Windows compile fix OOPS #
Messages
Total messages: 26 (13 generated)
|