layout: Add support for object-fit and object-position (#33479)

This also makes a couple small improvements:
 - Rename `IntrinsicSizes` to `NaturalSizes` which reflects more
   modern spec language.
 - Move the conversion of Stylo's `ImageRendering` to WebRender's
   version to a `ToWebRender` trait implementation.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Martin Robinson 2024-09-18 08:20:28 +02:00 committed by GitHub
parent 632d832704
commit bd632fc814
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
58 changed files with 169 additions and 563 deletions

View file

@ -1,67 +1,4 @@
[object-position-interpolation.html]
[CSS Transitions: property <object-position> from neutral to [left top\] at (-0.25) should be [62.5% 62.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from neutral to [left top\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from neutral to [left top\] at (0.25) should be [37.5% 37.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from neutral to [left top\] at (0.5) should be [25% 25%\]]
expected: FAIL
[CSS Transitions: property <object-position> from neutral to [left top\] at (0.75) should be [12.5% 12.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from neutral to [left top\] at (1) should be [0% 0%\]]
expected: FAIL
[CSS Transitions: property <object-position> from neutral to [left top\] at (1.25) should be [-12.5% -12.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (-0.25) should be [62.5% 62.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (0.25) should be [37.5% 37.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (0.5) should be [25% 25%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (0.75) should be [12.5% 12.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (1) should be [0% 0%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from neutral to [left top\] at (1.25) should be [-12.5% -12.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (-0.25) should be [62.5% 62.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (0.25) should be [37.5% 37.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (0.5) should be [25% 25%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (0.75) should be [12.5% 12.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (1) should be [0% 0%\]]
expected: FAIL
[CSS Animations: property <object-position> from neutral to [left top\] at (1.25) should be [-12.5% -12.5%\]]
expected: FAIL
[Web Animations: property <object-position> from neutral to [left top\] at (-0.25) should be [62.5% 62.5%\]]
expected: FAIL
@ -83,69 +20,6 @@
[Web Animations: property <object-position> from neutral to [left top\] at (1.25) should be [-12.5% -12.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (-0.25) should be [50% 62.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (0.25) should be [50% 37.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (0.5) should be [50% 25%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (0.75) should be [50% 12.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (1) should be [50% 0%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [center top\] at (1.25) should be [50% -12.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (-0.25) should be [50% 62.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (0.25) should be [50% 37.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (0.5) should be [50% 25%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (0.75) should be [50% 12.5%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (1) should be [50% 0%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [center top\] at (1.25) should be [50% -12.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (-0.25) should be [50% 62.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (0.25) should be [50% 37.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (0.5) should be [50% 25%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (0.75) should be [50% 12.5%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (1) should be [50% 0%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [center top\] at (1.25) should be [50% -12.5%\]]
expected: FAIL
[Web Animations: property <object-position> from [initial\] to [center top\] at (-0.25) should be [50% 62.5%\]]
expected: FAIL
@ -167,69 +41,6 @@
[Web Animations: property <object-position> from [initial\] to [center top\] at (1.25) should be [50% -12.5%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (-0.25) should be [62.5% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (0.25) should be [37.5% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (0.5) should be [25% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (0.75) should be [12.5% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (1) should be [0% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [initial\] to [left center\] at (1.25) should be [-12.5% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (-0.25) should be [62.5% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (0.25) should be [37.5% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (0.5) should be [25% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (0.75) should be [12.5% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (1) should be [0% 50%\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [initial\] to [left center\] at (1.25) should be [-12.5% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (-0.25) should be [62.5% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (0) should be [50% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (0.25) should be [37.5% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (0.5) should be [25% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (0.75) should be [12.5% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (1) should be [0% 50%\]]
expected: FAIL
[CSS Animations: property <object-position> from [initial\] to [left center\] at (1.25) should be [-12.5% 50%\]]
expected: FAIL
[Web Animations: property <object-position> from [initial\] to [left center\] at (-0.25) should be [62.5% 50%\]]
expected: FAIL
@ -251,69 +62,6 @@
[Web Animations: property <object-position> from [initial\] to [left center\] at (1.25) should be [-12.5% 50%\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (-0.25) should be [0px 0px\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (0) should be [20px 20px\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (0.25) should be [40px 40px\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (0.5) should be [60px 60px\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (0.75) should be [80px 80px\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (1) should be [100px 100px\]]
expected: FAIL
[CSS Transitions: property <object-position> from [20px 20px\] to [100px 100px\] at (1.25) should be [120px 120px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (-0.25) should be [0px 0px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (0) should be [20px 20px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (0.25) should be [40px 40px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (0.5) should be [60px 60px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (0.75) should be [80px 80px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (1) should be [100px 100px\]]
expected: FAIL
[CSS Transitions with transition: all: property <object-position> from [20px 20px\] to [100px 100px\] at (1.25) should be [120px 120px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (-0.25) should be [0px 0px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (0) should be [20px 20px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (0.25) should be [40px 40px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (0.5) should be [60px 60px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (0.75) should be [80px 80px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (1) should be [100px 100px\]]
expected: FAIL
[CSS Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (1.25) should be [120px 120px\]]
expected: FAIL
[Web Animations: property <object-position> from [20px 20px\] to [100px 100px\] at (-0.25) should be [0px 0px\]]
expected: FAIL