mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Add CanGc as arguments in methods in Attr and Node (#36371)
Add CanGc as argument to methods in `Attr` and `Node`. Addressed part of https://github.com/servo/servo/issues/34573. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they are a refactor. Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
This commit is contained in:
parent
bd43b78735
commit
6898eae61e
20 changed files with 137 additions and 111 deletions
|
@ -596,7 +596,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
.unwrap();
|
||||
let clone = cdata.clone_with_data(data, &start_node.owner_doc(), can_gc);
|
||||
// Step 4.3.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 4.4
|
||||
return Ok(fragment);
|
||||
}
|
||||
|
@ -619,12 +619,12 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
.unwrap();
|
||||
let clone = cdata.clone_with_data(data, &start_node.owner_doc(), can_gc);
|
||||
// Step 13.3.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
} else {
|
||||
// Step 14.1.
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 14.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 14.3.
|
||||
let subrange = Range::new(
|
||||
&clone.owner_doc(),
|
||||
|
@ -637,7 +637,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
// Step 14.4.
|
||||
let subfragment = subrange.CloneContents(can_gc)?;
|
||||
// Step 14.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
clone.AppendChild(subfragment.upcast(), can_gc)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -646,7 +646,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
// Step 15.1.
|
||||
let clone = child.CloneNode(/* deep */ true, can_gc)?;
|
||||
// Step 15.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
}
|
||||
|
||||
if let Some(child) = last_partially_contained_child {
|
||||
|
@ -657,19 +657,19 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
let data = cdata.SubstringData(0, end_offset).unwrap();
|
||||
let clone = cdata.clone_with_data(data, &start_node.owner_doc(), can_gc);
|
||||
// Step 16.3.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
} else {
|
||||
// Step 17.1.
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 17.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 17.3.
|
||||
let subrange =
|
||||
Range::new(&clone.owner_doc(), &child, 0, &end_node, end_offset, can_gc);
|
||||
// Step 17.4.
|
||||
let subfragment = subrange.CloneContents(can_gc)?;
|
||||
// Step 17.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
clone.AppendChild(subfragment.upcast(), can_gc)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -705,7 +705,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
.unwrap()
|
||||
.SetData(text.unwrap());
|
||||
// Step 4.3.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 4.4.
|
||||
end_data.ReplaceData(start_offset, end_offset - start_offset, DOMString::new())?;
|
||||
// Step 4.5.
|
||||
|
@ -749,7 +749,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
.unwrap()
|
||||
.SetData(text.unwrap());
|
||||
// Step 15.3.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 15.4.
|
||||
start_data.ReplaceData(
|
||||
start_offset,
|
||||
|
@ -760,7 +760,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
// Step 16.1.
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 16.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 16.3.
|
||||
let subrange = Range::new(
|
||||
&clone.owner_doc(),
|
||||
|
@ -773,13 +773,13 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
// Step 16.4.
|
||||
let subfragment = subrange.ExtractContents(can_gc)?;
|
||||
// Step 16.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
clone.AppendChild(subfragment.upcast(), can_gc)?;
|
||||
}
|
||||
}
|
||||
|
||||
// Step 17.
|
||||
for child in contained_children {
|
||||
fragment.upcast::<Node>().AppendChild(&child)?;
|
||||
fragment.upcast::<Node>().AppendChild(&child, can_gc)?;
|
||||
}
|
||||
|
||||
if let Some(child) = last_partially_contained_child {
|
||||
|
@ -794,21 +794,21 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
.unwrap()
|
||||
.SetData(text.unwrap());
|
||||
// Step 18.3.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 18.4.
|
||||
end_data.ReplaceData(0, end_offset, DOMString::new())?;
|
||||
} else {
|
||||
// Step 19.1.
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 19.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
fragment.upcast::<Node>().AppendChild(&clone, can_gc)?;
|
||||
// Step 19.3.
|
||||
let subrange =
|
||||
Range::new(&clone.owner_doc(), &child, 0, &end_node, end_offset, can_gc);
|
||||
// Step 19.4.
|
||||
let subfragment = subrange.ExtractContents(can_gc)?;
|
||||
// Step 19.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
clone.AppendChild(subfragment.upcast(), can_gc)?;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -856,7 +856,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
},
|
||||
_ => {
|
||||
// Steps 4-5.
|
||||
let child = start_node.ChildNodes().Item(start_offset);
|
||||
let child = start_node.ChildNodes(can_gc).Item(start_offset);
|
||||
(child, DomRoot::from_ref(&*start_node))
|
||||
},
|
||||
};
|
||||
|
@ -1029,7 +1029,7 @@ impl RangeMethods<crate::DomTypeHolder> for Range {
|
|||
self.InsertNode(new_parent, can_gc)?;
|
||||
|
||||
// Step 6.
|
||||
new_parent.AppendChild(fragment.upcast())?;
|
||||
new_parent.AppendChild(fragment.upcast(), can_gc)?;
|
||||
|
||||
// Step 7.
|
||||
self.SelectNode(new_parent)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue