Closed Bug 2052033 Opened 16 days ago Closed 8 days ago

When a box-shadow "fake border" has an animated thickness, the sides thicken at different times

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

VERIFIED FIXED
154 Branch
Tracking Status
firefox-esr140 --- unaffected
firefox-esr153 --- affected
firefox152 --- unaffected
firefox153 --- wontfix
firefox154 --- verified

People

(Reporter: dholbert, Assigned: gw, NeedInfo)

References

(Regression)

Details

(Keywords: regression, webcompat:platform-bug)

User Story

user-impact-score:600

Attachments

(1 file)

STR:

  1. Have 100% pixel scaling in your OS (no HiDPI) -- that's my config at least, and that makes this most-obvious.
  2. View this testcase: https://bugzilla.mozilla.org/attachment.cgi?id=9603521
  3. Hover any of the three bordered elements (note: technically the border here is a box-shadow) and watch the border-thickening animation.

ACTUAL RESULTS:
The thickening animation progresses at different times for different sides of the box. So e.g. the right side gets 1px thicker, then the top/bottom, then the left side, then the right side gets another 1px thicker, then top/bottom again, then left side.

EXPECTED RESULTS:
Thickening should happen at consistent time for all sides.

This is a regression from bug 2042044. Regresssion range:
https://hg-edge.mozilla.org/integration/autoland/pushloghtml?fromchange=39074437650a319b78daa6c74fe5feb9e3c70f15&tochange=cd6f7923ddaeca342e64f1e450152dbc3a4ea80c

I noticed this impacting the LinkedIn website and filed bug 2052008, and I'm spinning this off as a platform-bug.

No longer blocks: 2052008
Blocks: 2052008
Assignee: nobody → mozilla
Severity: -- → S3

[Tracking Requested - why for this release]: visual regression in 153, causing perception of jankiness on some buttons on e.g. linkedin.com. Would be nice to fix before 153 ships to release if possible.

(I see Glenn picked this up already -- thanks, Glenn!)

Set release status flags based on info from the regressing bug 2042044

User Story: (updated)
User Story: (updated)

The bug is marked as tracked for firefox153 (beta). However, the bug still has low severity.

:bhood, could you please increase the severity for this tracked bug? If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit BugBot documentation.

Flags: needinfo?(bhood)

A zero-blur box-shadow is drawn as a rect plus a ClipOut for the inner
hole. Since bug 2042044 moved clip snapping to frame build, that inner
ClipOut edge was rounded to the device grid independently of the element.
For a fake border whose element sits at a fractional position, each side
then crosses its pixel threshold at a different spread, so the sides
thicken at different times as the spread animates; and the ring width
breathes as the element re-snaps under motion.

Give clips an optional snap "outset": inflate the clip out by the outset
to recover its source rect, snap that, then inset again. The box-shadow
fast path sets the outset to the spread, so the inner edge is always a
constant spread from the snapped element (moving in lockstep with the
outer edge) instead of being snapped on its own. This matches what the
blurred box-shadow path already does, keeps integer-spread borders crisp,
and stays smooth and uniform for fractional/animated spreads.

Adds two discriminating wrench reftests: inset-fake-border-snap (!=)
catches the independent-snap regression, and inset-fake-border-anchor (==)
catches a regression to an unanchored inner edge.

Pushed by gwatson@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/dfab9dd2b754 https://hg.mozilla.org/integration/autoland/rev/bcaaa172d733 Anchor a zero-blur box-shadow's inner clip to the snapped element r=gfx-reviewers,lsalzman
Status: NEW → RESOLVED
Closed: 8 days ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch

Verified fixed in mozregression --launch bcaaa172d733

Status: RESOLVED → VERIFIED

The patch landed in nightly and beta is affected.
:gw, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(mozilla)

I think this will be too difficult/risky to uplift as it's reliant on a number of other recent fractional scroll related patches.

Flags: needinfo?(mozilla)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: