CanGc fixes (#33852)

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
This commit is contained in:
chickenleaf 2024-10-16 08:20:28 +05:30 committed by GitHub
parent 5b8fbb023d
commit a2f81d69c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 92 additions and 63 deletions

View file

@ -79,39 +79,40 @@ impl DOMQuadMethods for DOMQuad {
Ok(DOMQuad::new_with_proto(
global,
proto,
&DOMPoint::new_from_init(global, p1),
&DOMPoint::new_from_init(global, p2),
&DOMPoint::new_from_init(global, p3),
&DOMPoint::new_from_init(global, p4),
&DOMPoint::new_from_init(global, p1, can_gc),
&DOMPoint::new_from_init(global, p2, can_gc),
&DOMPoint::new_from_init(global, p3, can_gc),
&DOMPoint::new_from_init(global, p4, can_gc),
can_gc,
))
}
// https://drafts.fxtf.org/geometry/#dom-domquad-fromrect
fn FromRect(global: &GlobalScope, other: &DOMRectInit) -> DomRoot<DOMQuad> {
fn FromRect(global: &GlobalScope, other: &DOMRectInit, can_gc: CanGc) -> DomRoot<DOMQuad> {
DOMQuad::new(
global,
&DOMPoint::new(global, other.x, other.y, 0f64, 1f64),
&DOMPoint::new(global, other.x + other.width, other.y, 0f64, 1f64),
&DOMPoint::new(global, other.x, other.y, 0f64, 1f64, can_gc),
&DOMPoint::new(global, other.x + other.width, other.y, 0f64, 1f64, can_gc),
&DOMPoint::new(
global,
other.x + other.width,
other.y + other.height,
0f64,
1f64,
can_gc,
),
&DOMPoint::new(global, other.x, other.y + other.height, 0f64, 1f64),
&DOMPoint::new(global, other.x, other.y + other.height, 0f64, 1f64, can_gc),
)
}
// https://drafts.fxtf.org/geometry/#dom-domquad-fromquad
fn FromQuad(global: &GlobalScope, other: &DOMQuadInit) -> DomRoot<DOMQuad> {
fn FromQuad(global: &GlobalScope, other: &DOMQuadInit, can_gc: CanGc) -> DomRoot<DOMQuad> {
DOMQuad::new(
global,
&DOMPoint::new_from_init(global, &other.p1),
&DOMPoint::new_from_init(global, &other.p2),
&DOMPoint::new_from_init(global, &other.p3),
&DOMPoint::new_from_init(global, &other.p4),
&DOMPoint::new_from_init(global, &other.p1, can_gc),
&DOMPoint::new_from_init(global, &other.p2, can_gc),
&DOMPoint::new_from_init(global, &other.p3, can_gc),
&DOMPoint::new_from_init(global, &other.p4, can_gc),
)
}