mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
More CanGc fixes: Range, Event, gpu error, Header (#33774)
* Propagate CanGc parameter in Range Signed-off-by: webbeef <me@webbeef.org> * Propagate CanGc parameter in gpu code and dependencies Signed-off-by: webbeef <me@webbeef.org> * Propagate CanGc parameter in Header and dependencies Signed-off-by: webbeef <me@webbeef.org> * Propagate CanGc parameter in Event and dependencies Signed-off-by: webbeef <me@webbeef.org> * Propagate CanGc parameter in rtcdatachannel Signed-off-by: webbeef <me@webbeef.org> * Propagate CanGc parameter in servoparser Signed-off-by: webbeef <me@webbeef.org> --------- Signed-off-by: webbeef <me@webbeef.org>
This commit is contained in:
parent
8c56cbdab2
commit
f9a06d62a2
17 changed files with 92 additions and 85 deletions
|
@ -602,7 +602,7 @@ impl RangeMethods for Range {
|
|||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
} else {
|
||||
// Step 14.1.
|
||||
let clone = child.CloneNode(/* deep */ false, CanGc::note())?;
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 14.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
// Step 14.3.
|
||||
|
@ -615,7 +615,7 @@ impl RangeMethods for Range {
|
|||
can_gc,
|
||||
);
|
||||
// Step 14.4.
|
||||
let subfragment = subrange.CloneContents(CanGc::note())?;
|
||||
let subfragment = subrange.CloneContents(can_gc)?;
|
||||
// Step 14.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
}
|
||||
|
@ -624,7 +624,7 @@ impl RangeMethods for Range {
|
|||
// Step 15.
|
||||
for child in contained_children {
|
||||
// Step 15.1.
|
||||
let clone = child.CloneNode(/* deep */ true, CanGc::note())?;
|
||||
let clone = child.CloneNode(/* deep */ true, can_gc)?;
|
||||
// Step 15.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
}
|
||||
|
@ -640,20 +640,14 @@ impl RangeMethods for Range {
|
|||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
} else {
|
||||
// Step 17.1.
|
||||
let clone = child.CloneNode(/* deep */ false, CanGc::note())?;
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 17.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
// Step 17.3.
|
||||
let subrange = Range::new(
|
||||
&clone.owner_doc(),
|
||||
&child,
|
||||
0,
|
||||
&end_node,
|
||||
end_offset,
|
||||
CanGc::note(),
|
||||
);
|
||||
let subrange =
|
||||
Range::new(&clone.owner_doc(), &child, 0, &end_node, end_offset, can_gc);
|
||||
// Step 17.4.
|
||||
let subfragment = subrange.CloneContents(CanGc::note())?;
|
||||
let subfragment = subrange.CloneContents(can_gc)?;
|
||||
// Step 17.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
}
|
||||
|
@ -683,7 +677,7 @@ impl RangeMethods for Range {
|
|||
if end_node == start_node {
|
||||
if let Some(end_data) = end_node.downcast::<CharacterData>() {
|
||||
// Step 4.1.
|
||||
let clone = end_node.CloneNode(/* deep */ true, CanGc::note())?;
|
||||
let clone = end_node.CloneNode(/* deep */ true, can_gc)?;
|
||||
// Step 4.2.
|
||||
let text = end_data.SubstringData(start_offset, end_offset - start_offset);
|
||||
clone
|
||||
|
@ -727,7 +721,7 @@ impl RangeMethods for Range {
|
|||
if let Some(start_data) = child.downcast::<CharacterData>() {
|
||||
assert!(child == start_node);
|
||||
// Step 15.1.
|
||||
let clone = start_node.CloneNode(/* deep */ true, CanGc::note())?;
|
||||
let clone = start_node.CloneNode(/* deep */ true, can_gc)?;
|
||||
// Step 15.2.
|
||||
let text = start_data.SubstringData(start_offset, start_node.len() - start_offset);
|
||||
clone
|
||||
|
@ -744,7 +738,7 @@ impl RangeMethods for Range {
|
|||
)?;
|
||||
} else {
|
||||
// Step 16.1.
|
||||
let clone = child.CloneNode(/* deep */ false, CanGc::note())?;
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 16.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
// Step 16.3.
|
||||
|
@ -757,7 +751,7 @@ impl RangeMethods for Range {
|
|||
can_gc,
|
||||
);
|
||||
// Step 16.4.
|
||||
let subfragment = subrange.ExtractContents(CanGc::note())?;
|
||||
let subfragment = subrange.ExtractContents(can_gc)?;
|
||||
// Step 16.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
}
|
||||
|
@ -772,7 +766,7 @@ impl RangeMethods for Range {
|
|||
if let Some(end_data) = child.downcast::<CharacterData>() {
|
||||
assert!(child == end_node);
|
||||
// Step 18.1.
|
||||
let clone = end_node.CloneNode(/* deep */ true, CanGc::note())?;
|
||||
let clone = end_node.CloneNode(/* deep */ true, can_gc)?;
|
||||
// Step 18.2.
|
||||
let text = end_data.SubstringData(0, end_offset);
|
||||
clone
|
||||
|
@ -785,20 +779,14 @@ impl RangeMethods for Range {
|
|||
end_data.ReplaceData(0, end_offset, DOMString::new())?;
|
||||
} else {
|
||||
// Step 19.1.
|
||||
let clone = child.CloneNode(/* deep */ false, CanGc::note())?;
|
||||
let clone = child.CloneNode(/* deep */ false, can_gc)?;
|
||||
// Step 19.2.
|
||||
fragment.upcast::<Node>().AppendChild(&clone)?;
|
||||
// Step 19.3.
|
||||
let subrange = Range::new(
|
||||
&clone.owner_doc(),
|
||||
&child,
|
||||
0,
|
||||
&end_node,
|
||||
end_offset,
|
||||
CanGc::note(),
|
||||
);
|
||||
let subrange =
|
||||
Range::new(&clone.owner_doc(), &child, 0, &end_node, end_offset, can_gc);
|
||||
// Step 19.4.
|
||||
let subfragment = subrange.ExtractContents(CanGc::note())?;
|
||||
let subfragment = subrange.ExtractContents(can_gc)?;
|
||||
// Step 19.5.
|
||||
clone.AppendChild(subfragment.upcast())?;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue