mirror of
https://github.com/servo/servo.git
synced 2025-09-10 15:08:21 +01:00
script: Calculate proper border box for resizeobserver (#38988)
Implements more of calculate_box_size, ensuring that the proper rectangle is returned when the border box is requested. Testing: WPT Fixes: Partially #38811 --------- Signed-off-by: Ashwin Naren <arihant2math@gmail.com> Co-authored-by: Jo Steven Novaryo <65610990+stevennovaryo@users.noreply.github.com>
This commit is contained in:
parent
433a461044
commit
4ea714e6d2
2 changed files with 34 additions and 7 deletions
|
@ -311,11 +311,18 @@ fn calculate_box_size(target: &Element, observed_box: &ResizeObserverBoxOptions)
|
|||
// but the spec will expand to cover all fragments.
|
||||
target
|
||||
.upcast::<Node>()
|
||||
.border_boxes()
|
||||
.pop()
|
||||
.content_box()
|
||||
.unwrap_or_else(Rect::zero)
|
||||
},
|
||||
// TODO(#31182): add support for border box, and device pixel size, calculations.
|
||||
ResizeObserverBoxOptions::Border_box => {
|
||||
// Note: only taking first fragment,
|
||||
// but the spec will expand to cover all fragments.
|
||||
target
|
||||
.upcast::<Node>()
|
||||
.border_box()
|
||||
.unwrap_or_else(Rect::zero)
|
||||
},
|
||||
// TODO(#31182): add support for device pixel size calculations.
|
||||
_ => Rect::zero(),
|
||||
}
|
||||
}
|
||||
|
|
28
tests/wpt/meta/resize-observer/observe.html.ini
vendored
28
tests/wpt/meta/resize-observer/observe.html.ini
vendored
|
@ -1,8 +1,4 @@
|
|||
[observe.html]
|
||||
expected: TIMEOUT
|
||||
[guard]
|
||||
expected: NOTRUN
|
||||
|
||||
[test8: simple content-box observation]
|
||||
expected: [PASS, FAIL]
|
||||
|
||||
|
@ -11,3 +7,27 @@
|
|||
|
||||
[test10: simple border-box observation]
|
||||
expected: [PASS, FAIL]
|
||||
|
||||
[test11: simple observation with vertical writing mode]
|
||||
expected: FAIL
|
||||
|
||||
[test12: no observation is fired after the change of writing mode when box's specified size comes from logical size properties.]
|
||||
expected: FAIL
|
||||
|
||||
[test13: an observation is fired after the change of writing mode when box's specified size comes from physical size properties.]
|
||||
expected: FAIL
|
||||
|
||||
[test14: observe the same target but using a different box should override the previous one]
|
||||
expected: FAIL
|
||||
|
||||
[test15: an observation is fired with box dimensions 0 when element's display property is set to inline]
|
||||
expected: FAIL
|
||||
|
||||
[test16: observations fire once with 0x0 size for non-replaced inline elements]
|
||||
expected: FAIL
|
||||
|
||||
[test17: Box sizing snd Resize Observer notifications]
|
||||
expected: FAIL
|
||||
|
||||
[test18: an observation is fired when device-pixel-content-box is being observed]
|
||||
expected: FAIL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue