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,18 +1,3 @@
[object-fit-computed.html]
[Property object-fit value 'contain']
expected: FAIL
[Property object-fit value 'cover']
expected: FAIL
[Property object-fit value 'cover scale-down']
expected: FAIL
[Property object-fit value 'fill']
expected: FAIL
[Property object-fit value 'none']
expected: FAIL
[Property object-fit value 'scale-down']
expected: FAIL

View file

@ -1,25 +1,10 @@
[object-fit-valid.html]
[e.style['object-fit'\] = "contain" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "contain scale-down" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "cover" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "cover scale-down" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "fill" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "none" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "scale-down" should set the property value]
expected: FAIL
[e.style['object-fit'\] = "scale-down contain" should set the property value]
expected: FAIL

View file

@ -1,48 +0,0 @@
[object-position-computed.html]
[Property object-position value '10% center']
expected: FAIL
[Property object-position value 'right 30% top 60px']
expected: FAIL
[Property object-position value '-20% -30px']
expected: FAIL
[Property object-position value '30px center']
expected: FAIL
[Property object-position value '40px top']
expected: FAIL
[Property object-position value 'right 20% bottom 10%']
expected: FAIL
[Property object-position value 'right bottom']
expected: FAIL
[Property object-position value 'center 50px']
expected: FAIL
[Property object-position value 'center bottom']
expected: FAIL
[Property object-position value 'left center']
expected: FAIL
[Property object-position value 'left bottom']
expected: FAIL
[Property object-position value 'right 40%']
expected: FAIL
[Property object-position value 'center top']
expected: FAIL
[Property object-position value 'center']
expected: FAIL
[Property object-position value 'center center']
expected: FAIL
[Property object-position value 'right 20px bottom 10px']
expected: FAIL

View file

@ -1,54 +0,0 @@
[object-position-valid.html]
[e.style['object-position'\] = "10%" should set the property value]
expected: FAIL
[e.style['object-position'\] = "right 30% top 60px" should set the property value]
expected: FAIL
[e.style['object-position'\] = "-20% -30px" should set the property value]
expected: FAIL
[e.style['object-position'\] = "30px center" should set the property value]
expected: FAIL
[e.style['object-position'\] = "40px top" should set the property value]
expected: FAIL
[e.style['object-position'\] = "bottom 10% right 20%" should set the property value]
expected: FAIL
[e.style['object-position'\] = "bottom right" should set the property value]
expected: FAIL
[e.style['object-position'\] = "center 50px" should set the property value]
expected: FAIL
[e.style['object-position'\] = "center bottom" should set the property value]
expected: FAIL
[e.style['object-position'\] = "center left" should set the property value]
expected: FAIL
[e.style['object-position'\] = "left" should set the property value]
expected: FAIL
[e.style['object-position'\] = "left bottom" should set the property value]
expected: FAIL
[e.style['object-position'\] = "left center" should set the property value]
expected: FAIL
[e.style['object-position'\] = "right 40%" should set the property value]
expected: FAIL
[e.style['object-position'\] = "top" should set the property value]
expected: FAIL
[e.style['object-position'\] = "top center" should set the property value]
expected: FAIL
[e.style['object-position'\] = "center" should set the property value]
expected: FAIL
[e.style['object-position'\] = "center center" should set the property value]
expected: FAIL