Closed Bug 1633276 Opened 3 years ago Closed 3 years ago

Transition of opacity not smooth

Categories

(Core :: Web Painting, defect)

75 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox-esr68 --- wontfix
firefox75 --- wontfix
firefox76 --- wontfix
firefox77 --- wontfix
firefox78 --- fixed

People

(Reporter: alexander.fleischer, Assigned: tnikkel)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:75.0) Gecko/20100101 Firefox/75.0

Steps to reproduce:

Hi created a jsbin:
https://jsbin.com/nimujucugo/edit?html,css,js,output

There is a link "Open Layer". By reducing the output window (400px or smaller) the transition is no longer smooth. I could reproduce this also on many examples on codepen.

Actual results:

The background appears / disappears immediately.

Expected results:

The background should appear smooth and by cklicking on the background it should disappear smooth.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Web Painting
Product: Firefox → Core

It only reproduces for me in jsbin, if I copy the contents into a standalone html file it seems to work fine.

regression range
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=1c235a552c32ba6c97e6030c497c49f72c7d48a8&tochange=f8acdf0185d786809bfbe8cabab081400dc47c68

verified by commenting out the lines from https://hg.mozilla.org/mozilla-central/rev/41dabd41e63e that this is from bug 1471174.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(hikezoe.birchill)
Regressed by: 1471174
Has Regression Range: --- → yes

I think I've figured this out.

Flags: needinfo?(hikezoe.birchill)

The SCROLLABLE_FIXEDPOS_FINDS_ROOT flag makes GetNearestScrollableFrame return the root scroll frame for fixed pos frames. Fixed pos frames are direct children of the root frame, which means that the frame we pass to TransformFrameRectToAncestor are not ancestors of each other in either direction.

So we treat fixed pos frames specially and don't pass that flag.

Assignee: nobody → tnikkel
Status: NEW → ASSIGNED
Blocks: 1608194
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d578f391630a
Ensure that when IsFrameScrolledOutOfView calls nsLayoutUtils::TransformFrameRectToAncestor the ancestor frame is actually an ancestor. r=hiro
Flags: needinfo?(tnikkel)
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e2d84b2e5a7e
Ensure that when IsFrameScrolledOutOfView calls nsLayoutUtils::TransformFrameRectToAncestor the ancestor frame is actually an ancestor. r=hiro
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.