CSS decorative images should respect EXIF-orientation by default
Categories
(Core :: Layout: Images, Video, and HTML Frames, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox77 | --- | fixed |
People
(Reporter: mozilla-apprentice, Assigned: heycam)
References
(Regression)
Details
(Keywords: regression, site-compat)
Attachments
(9 files, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
A resolution was made for csswg-drafts/#4165.
[css-images] Should CSS decorative images respect EXIF-orientation by default
- RESOLVED: default behavior for all images to respect exif orientation
Assignee | ||
Comment 1•5 years ago
|
||
It's difficult to tell from the meeting minutes whether image-orientation should apply to CSS images (and so provide the option of opting out of re-orienting), or if the EXIF orientation data must always be used.
Comment 2•5 years ago
|
||
My reading from the sidelines is that image-orientation
ought to go away and intrinsic orientation (i.e., EXIF) ought to always be respected. That doesn't seem terrible to me, but I'm not sure how compatible that is and if that's everyone's understanding at this point.
Assignee | ||
Comment 3•5 years ago
|
||
Assignee | ||
Comment 4•5 years ago
|
||
Assignee | ||
Comment 5•5 years ago
|
||
RasterImage will make use of them.
Note that there is one bug fix in this patch, which is that
OrientedImage::OrientSurface now creates a surface of the correct size.
(Previously this code was creating a surface with the underlying
image's size, rather than the correctly oriented size. But we must
not have been calling into that code with our current uses of
OrientedImage.)
Assignee | ||
Comment 6•5 years ago
|
||
We can get the size from the surface directly.
Assignee | ||
Comment 7•5 years ago
|
||
This makes EXIF orientation metadata honored by default.
Introduce OrientedPixel and UnorientedPixel typed rects and sizes and
use them throughout RasterImage so that we don't confuse which we want.
The reason for doing this rather than having the imgLoader wrap every
RasterImage it creates with an OrientedImage is that returning the
wrapper messes with various notifications, as OrientedImage is not an
ImageResource.
(It would be even better if the JPEG decoder could decode to imgFrames
handling the EXIF orientation itself, but that's a more complicated
change.)
Assignee | ||
Comment 8•5 years ago
|
||
Assignee | ||
Comment 9•5 years ago
|
||
Assignee | ||
Comment 10•5 years ago
|
||
Assignee | ||
Comment 11•5 years ago
|
||
Updated•5 years ago
|
Comment 12•5 years ago
|
||
I posted a patch for bug 1628532. Let me know if you'd prefer I hold off landing it.
Assignee | ||
Comment 13•5 years ago
|
||
Happy to rebase my patches on top of yours if you land first. (It's the long weekend for me here now so I may not get to landing mine until next week.)
Assignee | ||
Comment 14•5 years ago
|
||
Comment hidden (obsolete) |
Assignee | ||
Comment 16•5 years ago
|
||
Comment 17•5 years ago
|
||
Comment 20•5 years ago
|
||
Backed out for failures on test_2_conformance__textures__misc__texture-upload-size.html and test_conformance__textures__misc__texture-upload-size.html
backout: https://hg.mozilla.org/integration/autoland/rev/8e04043f85c28028d96f929ca6d315292723aa9f
failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=297858517&repo=autoland&lineNumber=5266
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - TEST-UNEXPECTED-FAIL | dom/canvas/test/webgl-conf/generated/test_conformance__textures__misc__texture-upload-size.html | Texture was smaller than the expected size 4x4
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - SimpleTest.ok@SimpleTest/SimpleTest.js:299:16
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - reportResults@dom/canvas/test/webgl-conf/mochi-single.html?checkout/conformance/textures/misc/texture-upload-size.html:22:14
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - reportTestResultsToHarness@dom/canvas/test/webgl-conf/checkout/js/js-test-pre.js:94:36
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - testFailed@dom/canvas/test/webgl-conf/checkout/js/js-test-pre.js:224:31
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - checkTextureSize@dom/canvas/test/webgl-conf/checkout/js/webgl-test-utils.js:1458:15
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - testUpload@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:34:7
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - testImage@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:50:15
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - runNextTest/img<@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:115:18
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - EventHandlerNonNullmakeImage@dom/canvas/test/webgl-conf/checkout/js/webgl-test-utils.js:2568:5
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - runNextTest@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:114:21
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - setTimeout handlerrunNextTest/img<@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:116:19
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - EventHandlerNonNullmakeImage@dom/canvas/test/webgl-conf/checkout/js/webgl-test-utils.js:2568:5
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - runNextTest@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:114:21
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - setTimeout handlerrunNextTest@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:140:17
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - setTimeout handler*runNextTest@dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:136:17
[task 2020-04-16T02:35:40.110Z] 02:35:40 INFO - @dom/canvas/test/webgl-conf/checkout/conformance/textures/misc/texture-upload-size.html:147:1
[task 2020-04-16T02:35:40.111Z] 02:35:40 INFO - GECKO(2003) | JavaScript warning: http://mochi.test:8888/tests/dom/canvas/test/webgl-conf/checkout/js/webgl-test-utils.js, line 1461: WebGL warning: texSubImage: Offset+size must be <= the size of the existing specified image.
[task 2020-04-16T02:35:40.111Z] 02:35:40 INFO - GECKO(2003) | JavaScript warning: http://mochi.test:8888/tests/dom/canvas/test/webgl-conf/checkout/js/webgl-test-utils.js, line 1466: WebGL warning: texSubImage: Offset+size must be <= the size of the existing specified image.
[task 2020-04-16T02:35:40.111Z] 02:35:40 INFO - TEST-PASS | dom/canvas/test/webgl-conf/generated/test_conformance__textures__misc__texture-upload-size.html | getError was expected value: NO_ERROR : when calling texSubImage2D with the same texture upload
Comment 22•5 years ago
|
||
Other failure: TEST-UNEXPECTED-FAIL | /css/css-images/image-orientation/image-orientation-list-style-image.html | Testing http://web-platform.test:8000/css/css-images/image-orientation/image-orientation-list-style-image.html == http://web-platform.test:8000/css/css-images/image-orientation/reference/image-orientation-list-style-image-ref.html with failure log https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=297856035&repo=autoland&lineNumber=10126
Assignee | ||
Comment 23•5 years ago
|
||
We need this since nsLayoutUtils::SurfaceFromElement expects the
returned frame size to be correct, and we are now wrapping a source
element's image with an OrientedImage.
Assignee | ||
Comment 24•5 years ago
|
||
Comment 25•5 years ago
|
||
Comment 27•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a31395761d3b
https://hg.mozilla.org/mozilla-central/rev/e2221bf76463
https://hg.mozilla.org/mozilla-central/rev/747bdbeee667
https://hg.mozilla.org/mozilla-central/rev/215c7a1c9945
https://hg.mozilla.org/mozilla-central/rev/7e0db19e88cf
https://hg.mozilla.org/mozilla-central/rev/65aaf1efc60c
https://hg.mozilla.org/mozilla-central/rev/35f6bf00a95e
https://hg.mozilla.org/mozilla-central/rev/c30a54ef15b5
https://hg.mozilla.org/mozilla-central/rev/325e655b6024
Updated•5 years ago
|
Comment hidden (obsolete) |
Description
•