Open Bug 1901497 Opened 5 months ago Updated 25 days ago

fairfaxmedia.pressreader.com - Zooming in and out presents issues

Categories

(Web Compatibility :: Site Reports, defect, P1)

Tracking

(firefox130 fixed)

REOPENED
Tracking Status
firefox130 --- fixed

People

(Reporter: rbucata, Assigned: emilio)

References

(Regression, )

Details

(Keywords: regression, webcompat:platform-bug, webcompat:site-report)

User Story

platform:windows,mac,linux,android
impact:feature-broken
configuration:general
affects:all
branch:release

Attachments

(3 files)

Environment:
Operating system: Windows 10
Firefox version: Firefox 126.0/Firefox 128.0a1

Steps to reproduce:

  1. Navigate to: https://fairfaxmedia.pressreader.com/the-dominion-post
  2. Zoom in and out inside the article using the mouse wheel
  3. Observe

Expected Behavior:
Zooming is smooth

Actual Behavior:
Zooming presents issues

Notes:

  • Reproduces regardless of the status of ETP
  • Reproduces in Firefox Nightly, Firefox Release
  • Does not reproduce in Chrome
  • Performance profile: https://share.firefox.dev/3yPrvq2
  • About:memory report and troubleshooting info are attached

Created from https://github.com/webcompat/web-bugs/issues/137959

Attached file memory-report.json.gz
Severity: -- → S2
User Story: (updated)
Priority: -- → P1
Duplicate of this bug: 1905121

This is fixed by setting layout.css.prefixes.transforms to false.

Keywords: regression
Regressed by: 1855763

pressreader.com detects the existence of -moz-transform using e.style["MozTransform"] with code that looks like:

            for (var n = 0; n < c.p.length; n++) {
              var i,
              r = c.p[n].prop,
              s = c.p[n].css,
              u = c.p[n].fun;
              i = t(r, 'Transform'),
              null != e.style[i] &&
              (
                o.support.transform = !0,
                o.props.transform = i,
                o.props.transformOrigin = t(r, 'TransformOrigin'),
                o.props.cssTransform = s + 'transform',
                o.support.transform3d = !(
                  a.X.msie ||
                  o.browser.iOS &&
                  (window.navigator.userAgent || '').indexOf('OS 11_') >= 0 ||
                  (
                    e.style[o.props.transform] = '',
                    e.style[o.props.transform] = 'rotateY(90deg)',
                    '' === e.style[o.props.transform]
                  )
                )
              ),
              i = t(r, 'Transition'),
              null != e.style[i] &&
              (
                o.support.transition = !0,
                o.props.transition = i,
                o.props.transitionProperty = t(r, 'TransitionProperty'),
                o.props.transitionDuration = t(r, 'TransitionDuration'),
                o.props.transitionTimingFunction = t(r, 'TransitionTimingFunction'),
                o.props.transitionEndEvents = 'ms' == r ? 'MSTransitionEnd' : t(u, 'TransitionEnd')
              )
            }

This page wants different behaviour than those affected by bug 1865332. Maybe we could make MozTransform [[IsHTMLDDA]]`` so that behaves likedocument.all`?

Flags: needinfo?(emilio)
Regressed by: 1865332

Also, FWIW, what I believe is going wrong on this page is that it's using transition-property: -moz-transform and then not getting a transition and the corresponding transition events.

(In reply to Jeff Muizelaar [:jrmuizel] from comment #5)

This page wants different behaviour than those affected by bug 1865332. Maybe we could make MozTransform [[IsHTMLDDA]]`` so that behaves likedocument.all`?

That probably breaks a bunch of other stuff tho...

Should we try to switch the whack-a-mole around, and ship both -moz-transform and zoom, and fixing sites that double-zoom by intervention? It seems more easily fixable than these kinds of "site reads one property from JS but uses another"...

We could disable CSS zoom by site or so too...

Let's try that on nightly now that CSS zoom has shipped? It's clear that the current state of affairs is delicate, and that we can't unship the MozTransform attribute completely...

Flags: needinfo?(emilio)

This changes the approach of zoom+moz-transform compat on Nightly, on
the basis that its easier to site-patch stuff that uses both
-moz-transform and zoom (to disable either of them via CSS) than working
around bogus UA sniffing or feature detection that is sorta-reasonable
(like assuming that if "MozTransform" is in the CSSStyleDeclaration
object, then -moz-transform works).

If breakage from this is too severe, or the hypothesis above doesn't
hold, then we need to re-evaluate this in some other way.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

The document.all approach wouldn't work anyways because this property is a string, not an interface

Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c35050f1941c Enable -moz- transform prefixes on nightly again. r=webcompat-reviewers,twisniewski
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Duplicate of this bug: 1910607
Duplicate of this bug: 1903001
Depends on: 1886134
No longer duplicate of this bug: 1910607

Let's re-open this. The original change was Nightly-only, so this was broken in Release all along. However, in bug 1886134, we now enabled the pref in all channels - so this should be fixed in Release 133, but let's actually wait until that's out and confirm it.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: