Closed Bug 1554790 Opened 5 years ago Closed 5 years ago

Add a reftest-resolution attribute for painting with a specified resolution

Categories

(Testing :: Reftest, enhancement)

Version 3
enhancement
Not set
normal

Tracking

(firefox69 fixed)

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: botond, Assigned: botond)

References

Details

Attachments

(3 files)

We have two reftest attributes currently related to zooming:

  • reftest-zoom sets a full-zoom on the page
  • reftest-async-zoom set a resolution, but only in the compositor, thus exercising the codepath where the user has pinch-zoomed and we've reacted to that in the compostor, but have not yet repainted at the new resolution

We also want to be able to test page rendering after the page has been repainted at the new resolution after a pinch-zoom. We currently test this by using <meta name="viewport" content="initial-scale=..."> which causes us to paint the page at the specified scale.

However, processing a meta viewport tag has side effects beyond setting a resolution: it triggers the mobile viewport sizing logic added in bug 1423013 and relatives.

For desktop zooming, we'd like to be able to test painting with a resolution without triggering the mobile viewport sizing logic. (For at least two reasons: (1) we want to be testing configurations that are as close as possible to what happens in production; and (2) the mobile viewport sizing logic has interactions with layout scrollbars and I'd rather not support the combination if I don't have to.)

To this end, I'd like to add a reftest-resolution attribute that's similar to reftest-async-zoom but applies the resolution during painting rather than just during composition.

With this change, the tests in question pass on desktop, except for
scrollbar-zoom-resolution-2.html which is annotated as failing.

Depends on D32774

Blocks: 1554813

Bugbug thinks this bug is a enhancement, but please change it back in case of error.

Type: defect → enhancement
Attachment #9067903 - Attachment description: Bug 1554790 - Add a reftest-resolution attribute. r=kats → Bug 1554790 - Add a reftest-resolution attribute. r=kats!,hiro!
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3a41c4ed8bf3
Add a reftest-resolution attribute. r=kats,hiro
https://hg.mozilla.org/integration/autoland/rev/01f72d6cc13b
Use reftest-resolution where appropriate in APZ scrollbar rendering reftests. r=kats
Flags: needinfo?(botond)

(In reply to Noemi Erli[:noemi_erli] from comment #6)

Another relevant fail example in the above backout:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=250215217&repo=autoland&lineNumber=35621

That Wr4 failure seems to be pre-existing, as it occurs without these patches too: https://treeherder.mozilla.org/#/jobs?repo=try&revision=94bc43eeb4b013286ad07e2c3a5bbdd84970927e

After a lot of debugging I tracked down the cause of Windows reftest failure. It's related to advanced layers: a codepath implemented for ContainerLayerComposite needed to be put in place for ContainerLayerMLGPU as well.

New Try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=b10e0f52b91e0bbddb8ba2df077f081da4e341c6

Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b418fcf242aa
Include the pres shell resolution in the post-scale for advanced layers as well. r=kats
https://hg.mozilla.org/integration/autoland/rev/421c96010e67
Add a reftest-resolution attribute. r=kats,hiro
https://hg.mozilla.org/integration/autoland/rev/4a1c99839cec
Use reftest-resolution where appropriate in APZ scrollbar rendering reftests. r=kats

I didn't realize this until now, but these patches (specifically D34422) also fixed a bug that made pinch-zooming on Windows basically unusable because the resolution at which the content is rendered would jump back and forth. \o/

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: