servo/components
Andrei Volykhin 4ee348a202
imagebitmap: Add 'none' image orientation option (#37634)
The 'none' image orientation option was temporarily deprecated (in 2022)
according to HTML specification with the remark about going to be reused
with
a different meaning in future as the same semantics as CSS 'none'
image-orientation.

https://html.spec.whatwg.org/multipage/#dom-imagebitmapoptions-imageorientation-none
https://www.w3.org/TR/css-images-3/#valdef-image-orientation-none

Official MDN documentation added it back with new meaning (in 2024),
but it wasn't added back to HTML specification (still pending).

https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap#none

At current moment this option is poor supported on all major browsers,
but there are some
existed WPT tests (ImageBitmap/WebGL) which are actively use it in
createImageBitmap() options.

Chromium (supported):
- stable: same as 'from-image' (but with deprecation warning)
- experimental: ignoring any orientation metadata

Firefox (supported as default option):
- stable: ignoring any orientation metadata ('from-image' do the same)

Testing: Improvements and fails (expects 'from-image' behaviour from
'none' option) in the following tests
-
html/canvas/element/manual/imagebitmap/createImageBitmap-exif-orientation_none.html
- webgl/tests/conformance/textures/misc/exif-orientation.html

Fixes (partialy): #34112

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-06-25 07:20:12 +00:00
..
allocator Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
background_hang_monitor Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
bluetooth Replace bluetooth Readme with corrected version from devices repository (#36429) 2025-04-10 18:02:45 +00:00
canvas canvas: Remove rect -> line handling (#37664) 2025-06-24 14:13:58 +00:00
compositing libservo: Remove TouchEventType argument from WebView::notify_scroll_event (#37588) 2025-06-20 13:59:01 +00:00
config Fix indexeddb threadpool (#37649) 2025-06-23 22:06:16 +00:00
constellation [WebDriver] Grant top_level_script_command and browsing_context_script_command freedom to not verify existence of pipeline (#37632) 2025-06-24 06:42:34 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools DevTools: sources for HTML files should be the whole HTML file (#37456) 2025-06-21 18:46:35 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
fonts Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
malloc_size_of Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
media compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
metrics Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00
net [IndexedDB] Reduce heed related panics (#37652) 2025-06-25 00:22:19 +00:00
pixels pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
profile Profile: Resident Segments was not correctly parsing /proc/self/smaps as the regexp did not work anymore. (#37549) 2025-06-19 09:19:31 +00:00
rand Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script Use FnvHashmap for LiveDOMReferences (#37673) 2025-06-25 06:47:20 +00:00
script_bindings imagebitmap: Add 'none' image orientation option (#37634) 2025-06-25 07:20:12 +00:00
servo Rename script_layout_interface to layout_api (#37591) 2025-06-20 17:13:05 +00:00
servo_tracing [tracing] Add convenience macro for function tracing (#36573) 2025-04-22 19:58:20 +00:00
shared canvas: Use strum::{Display, EnumString} for canvas enums (#37670) 2025-06-24 13:03:41 +00:00
timers script: Allow reflows that do not produce display lists (#37186) 2025-06-12 19:25:04 +00:00
url script: complete resolve_module_specifier (#37552) 2025-06-21 06:17:27 +00:00
webdriver_server [WebDriver] Grant top_level_script_command and browsing_context_script_command freedom to not verify existence of pipeline (#37632) 2025-06-24 06:42:34 +00:00
webgl pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
webgpu pixels: Move Snapshot and related data structures to pixels (#37590) 2025-06-20 14:47:06 +00:00
webxr Removing unused dependencies in crates. (#37096) 2025-05-23 12:58:00 +00:00