Implement parsing for cross-fade() from CSS Image Values and Replaced Content Module Level 4
Categories
(Core :: CSS Parsing and Computation, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: Dolske, Assigned: zekemedley)
References
(Depends on 2 open bugs, Blocks 3 open bugs, )
Details
Attachments
(1 file)
Comment 7•13 years ago
|
||
Comment 10•9 years ago
|
||
Comment 12•8 years ago
|
||
Updated•8 years ago
|
Updated•8 years ago
|
Comment 13•7 years ago
|
||
Updated•6 years ago
|
Comment 14•5 years ago
|
||
Assigning to Zeke and updating title since this got moved to level 4 a while ago.
Assignee | ||
Comment 15•5 years ago
|
||
This is the first of what will likely be two patches for cross-fade's
implementation. Bug 546052 tracks it's complete implementation.
Assignee | ||
Comment 16•5 years ago
|
||
The cross-fade
implementation in Safari and -webkit-cross-fade
in Chromium currently implement a different syntax than the one that is specified by the CSSWG. You can read more about it on MDN here but in summary, it only allows for two images to be faded together and the percentages for the images are specified together at the end rather than with each image.
I'm of the opinion that we should go ahead and implement the newer syntax that is specified by the CSSWG. According to Can I Use and a couple of my own queries on httparchive's data this older syntax has very little usage. Additionally, the newer syntax is incompatible with the older implemented syntax so for the few webpages that do currently use cross-fade
the status quo will persist as their cross-fade
will continue to not work on Firefox.
If anyone has any input on that, I'd love to hear your thoughts. If not I'll carry on implementing the newer syntax only :)
Updated•5 years ago
|
Comment 18•5 years ago
|
||
Comment 20•5 years ago
|
||
Looks like this made us fail a build-time check of some sort:
---- size_of::test_size_of_computed_image stdout ----
[task 2020-07-28T23:07:00.661Z] 23:07:00 INFO - thread 'size_of::test_size_of_computed_image' panicked at 'Your changes have increased the stack size of computed::image::Image from 16 to 24. Please consider choosing a design which avoids this increase. If you feel that the increase is necessary, update the size in servo/ports/geckolib/tests/size_of.rs.', servo/ports/geckolib/tests/size_of.rs:69:1
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=311325559&repo=autoland&lineNumber=14411
I suspect a backout is incoming, and then you can sort out how best to deal with that ^ with emilio.
Comment 21•5 years ago
|
||
Backed out changeset 9e9c50bbb2f3 (bug 546052) for build bustage on Linux. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=311325559&repo=autoland&lineNumber=14411
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&selectedTaskRun=UYr-c5J8S_us9b54XQ4AIQ.0&revision=9e9c50bbb2f33a569e05daed2bf1236385a0f8e4
Backout:
https://hg.mozilla.org/integration/autoland/rev/b33d7cff301d89fa988c7447ef059685347690fc
Comment 23•5 years ago
|
||
![]() |
||
Comment 24•5 years ago
|
||
bugherder |
Assignee | ||
Comment 25•5 years ago
|
||
whoops.. That linked patch just implemented the parsing for cross-fade
. The final implementation for cross-fade
is still coming along. Reopening this pending some more work on the layout and drawing for cross-fade
.
Updated•5 years ago
|
Comment 26•5 years ago
|
||
I have this crash ( https://crash-stats.mozilla.org/report/index/70e90b6b-731a-4b13-81bc-376ce0200803 ) on this page ( https://developer.mozilla.org/fr/docs/Web/CSS/cross-fade )
Comment 27•5 years ago
|
||
(In reply to Zéfling from comment #26)
I assume you turned on the pref manually? (even with that I cannot reproduce but just checking...)
Given there's implementation work still needed I wouldn't recommend turning on the switch just yet.
Comment 28•5 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #27)
(In reply to Zéfling from comment #26)
I assume you turned on the pref manually? (even with that I cannot reproduce but just checking...)Given there's implementation work still needed I wouldn't recommend turning on the switch just yet.
Yes, I just wanted to test the rendering of this CSS property and see on css3test.com if it was enabled. ;)
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 29•5 years ago
|
||
I'm going to morph this bug to cover just the CSS parsing stuff for cross-fade
and spin off a separate bug for the graphics implementation. Bug 1657516 will track the actual shipping of the feature.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 30•5 years ago
|
||
(In reply to Zéfling from comment #28)
(In reply to Emilio Cobos Álvarez (:emilio) from comment #27)
(In reply to Zéfling from comment #26)
I assume you turned on the pref manually? (even with that I cannot reproduce but just checking...)Given there's implementation work still needed I wouldn't recommend turning on the switch just yet.
Yes, I just wanted to test the rendering of this CSS property and see on css3test.com if it was enabled. ;)
If you have any more information about that crash I'd love to look into it. I'm also not able to reproduce it just by toggling the pref and visiting the page, but if there really is a problem there we should make sure its fixed by the time we have a final implementation :)
My only guess based in the crash report: If you modified the example on the page to use the newer cross fade syntax and weren't using webrenderer its possible that somehow the code made it into nsImageRenderer::Draw
and StyleImage::IsOpaque
where you saw the crash because our implementation isn't complete.
Comment 31•5 years ago
|
||
With an empty profile and just switch the preference : https://crash-stats.mozilla.org/report/index/ad7136fb-c966-4d12-a9ea-861810200806
Again for this page : https://developer.mozilla.org/fr/docs/Web/CSS/cross-fade
Updated•5 years ago
|
Updated•5 years ago
|
Comment 32•5 years ago
|
||
Removing dev-doc-needed from here; we'll track the documentation of this in https://bugzilla.mozilla.org/show_bug.cgi?id=1657516 instead.
Description
•