Firefox screws up if there are too many transform properties in use (hit-testing of preserve-3d items)
Categories
(Core :: Web Painting, defect, P3)
Tracking
()
People
(Reporter: kaesbertrichson, Unassigned)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files)
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.15.2 Chrome/83.0.4103.122 Safari/537.36
Steps to reproduce:
It seems that as soon as you are using too many transform properties, firefox does not display them properly.
Build Id:
20220811191823 Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Additional Builds and Platforms:
Doesn't occur on Chromium Version 105.0.5195.102 (Official Build) built on Debian 11.4
Doesn't occur on Falkon Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Falkon/3.1.0 Chrome/83.0.4103.122 Safari/537.36, QtWebEngine-Version 5.15.2
Doesn't occur on Konqueror Version 20.12.0, KDE Frameworks 5.78.0, Qt 5.15.2 (kompiliert gegen 5.15.2)
Steps to Reproduce:
https://stackoverflow.com/questions/73706765/firefox-screws-up-if-there-are-too-many-transformation-properties
Just use the two sample files from Stackoverlow (to compare) and try to flip through the book from front to back and then from back to front. The first version still works fine. But after a certain number of pages, Firefox fails to display the pages correctly. The first code of Stackoverflow is still working in all browsers, the example directly below is only not working in Firefox (although only one more page was added).
Below the first two examples I have added another example that uses a completely different code construction but where the same problem occurs. And this again only starting from a certain number of pages (and also again only in Firefox).
Actual results:
The pages are not displayed in a chronological order.
Expected results:
The pages should actually be displayed in a chronological order. Both when flipping forward and when flipping back.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•3 years ago
|
||
Perhaps layout code but definitely not widget one.
Reporter | ||
Comment 3•3 years ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #2)
Perhaps layout code but definitely not widget one.
Did you really tested/reproduced the issue? Because that sounds like pure skepticism, and not that you've tried it yourself and witnessed the bug occurring only in Firefox. In my stackoverflow article are even 2 different layouts for testing.
Because in the last 3 days I have tested many different layouts that I have found on Codepen, Yotube or other sites and with all layouts the same problem occurred at a certain number of pages. In my Stackoverflow article both examples have a very different layout.
And it doesn't necessarily have to be related to the transform property, it could also be the perspective or the backface-visibility. But also the Z-index could be the cause.
I did a lot of research and testing before I wrote this bug report because I also thought the problem was with my layout. But after I have tested 8 or 10 different layouts and every time the (always the same) error occurred only with Firefox the issue must be with the browser.
Or can you explain what I need to change in my code to make it work in all browsers? Because the issue is only in Firefox, everything works fine in other browsers. Please test and reproduce the issue and then you will see that only FF displays the layout wrong (and that always only when more pages are added).
Thank you in advance for the effort and understanding and have a great day.
Comment 4•3 years ago
|
||
I mean internal Firefox component. Widget code is related to system integration, I doubt it's related.
But can you please attach a screencast of the issue?
https://fedoraproject.org/wiki/How_to_debug_Firefox_problems#Collect_information_for_a_bug_report
Thanks.
Reporter | ||
Comment 5•3 years ago
|
||
Ok, here is a screencast of the issue.
Reporter | ||
Comment 6•3 years ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #4)
I mean internal Firefox component. Widget code is related to system integration, I doubt it's related.
But can you please attach a screencast of the issue?
https://fedoraproject.org/wiki/How_to_debug_Firefox_problems#Collect_information_for_a_bug_report
Thanks.
Oh well, then I have misunderstood you, I am sorry! I thought you mean my layout...
Ok, here is a screencast of the issue.
Description of the screen capture and what can be seen:
Until second 11 you see the working version where the total number of pages is 12 (including cover and spine). From second 12 on, you see the problem version where it should have 14 pages (including cover and spine) but where Firefox displays the pages completely wrong.
I hope the problem is now detailed enough documented so that something can change in the near future. Have a great evening!
Comment 7•3 years ago
|
||
Updated•3 years ago
|
Comment 8•3 years ago
|
||
Comment 9•3 years ago
|
||
Ah, I see what's going on. This seems about which of the stacked transformed element we're targetting...
Comment 10•3 years ago
|
||
This is the regression range I came up with: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=2306e153fba9ca55726ffcce889eaca7a479c29f&tochange=2f0b519d13e9dd945b37b235db1981d5ffb2199f
bug 1387059 looks extremely suspicious.
Comment 11•3 years ago
|
||
Clicking inside the border should alert "0", it alerts "3" instead.
Comment 12•3 years ago
|
||
This reminds me strongly of bug 1738017 but there is a different regression range here.
Comment 13•3 years ago
|
||
Set release status flags based on info from the regressing bug 1387059
Updated•3 years ago
|
Comment 14•3 years ago
|
||
Moving to Core:Web Painting based on the regressor bug. Setting P3:S3 since it's not a recent regression.
Updated•2 years ago
|
Description
•