Closed Bug 1204824 Opened 4 years ago Closed 4 years ago

Transform perspective is dependent on devicePixelRatio

Categories

(Core :: Layout, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox42 + fixed
firefox43 --- fixed

People

(Reporter: cers, Assigned: tnikkel)

References

Details

(Keywords: regression)

Attachments

(2 files)

In Firefox (but not in Chrome or Safari) the transform perspective is dependent on devicePixelRatio.

Steps to reproduce:
1) load attached test case on non-retina screen
2) compare rendering to reference included in test case
3) move tab/window to retina screen
4) repeat 2)

Result:
In Firefox on a retina screen, elements to not line up. They do on non-retina screen.

Expected result:
Rendering should be the same on both screens.

Note: for elements to line up on retina in Firefox (but only Firefox), the perspective needs to be doubled (in this case to 500px) which matches the devicePixelRatio of 2 on a retina screen.
Timothy, is this something you'd know about, or someone else?
Flags: needinfo?(tnikkel)
This was caused by bug 1181240 exposing a bug in Matrix4x4. Specifically Matrix4x4::PreScale should be scaling all values in the first three rows, not just the first three columns. That code came from bug 825928 (the layers refactoring). Patch coming up.
Flags: needinfo?(tnikkel)
Attached patch PatchSplinter Review
Assignee: nobody → tnikkel
Attachment #8661957 - Flags: review?(bas)
Attachment #8661957 - Flags: review?(bas) → review+
https://hg.mozilla.org/mozilla-central/rev/e14ce8302fd7
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
[Tracking Requested - why for this release]:
A regression in 42, effecting matrix computation on devices with different than 1 pixel ratio.  This is across the board on CSS computations and would have far reaching effects.
Comment on attachment 8661957 [details] [diff] [review]
Patch

Approval Request Comment
[Feature/regressing bug #]: 1181240
[User impact if declined]: Wrong CSS transformations.
[Describe test coverage new/current, TreeHerder]: none
[Risks and why]: low, there was a bug in the matrix computation.
[String/UUID change made/needed]:

The Aurora request is assuming 42 is still in Aurora
Attachment #8661957 - Flags: approval-mozilla-aurora?
No longer blocks: 1197972
Duplicate of this bug: 1197972
Comment on attachment 8661957 [details] [diff] [review]
Patch

This missed aurora 42. Moving the flag for beta approval instead.
Attachment #8661957 - Flags: approval-mozilla-aurora? → approval-mozilla-beta?
Regression, tracking.
Comment on attachment 8661957 [details] [diff] [review]
Patch

Regression, taking it. Should be in 42 beta 2.
Attachment #8661957 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.