mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Make CanGc derive Copy and Clone (#33407)
Signed-off-by: Taym <haddadi.taym@gmail.com>
This commit is contained in:
parent
637770600f
commit
747e562ff0
15 changed files with 61 additions and 72 deletions
|
@ -287,7 +287,7 @@ impl Tokenizer {
|
|||
pub fn feed(
|
||||
&self,
|
||||
input: &BufferQueue,
|
||||
_can_gc: CanGc,
|
||||
can_gc: CanGc,
|
||||
) -> TokenizerResult<DomRoot<HTMLScriptElement>> {
|
||||
let mut send_tendrils = VecDeque::new();
|
||||
while let Some(str) = input.pop_front() {
|
||||
|
@ -309,7 +309,7 @@ impl Tokenizer {
|
|||
.expect("Unexpected channel panic in main thread.")
|
||||
{
|
||||
ToTokenizerMsg::ProcessOperation(parse_op) => {
|
||||
self.process_operation(parse_op, CanGc::note())
|
||||
self.process_operation(parse_op, can_gc)
|
||||
},
|
||||
ToTokenizerMsg::TokenizerResultDone { updated_input } => {
|
||||
let buffer_queue = create_buffer_queue(updated_input);
|
||||
|
@ -330,7 +330,7 @@ impl Tokenizer {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn end(&self, _can_gc: CanGc) {
|
||||
pub fn end(&self, can_gc: CanGc) {
|
||||
self.html_tokenizer_sender
|
||||
.send(ToHtmlTokenizerMsg::End)
|
||||
.unwrap();
|
||||
|
@ -341,7 +341,7 @@ impl Tokenizer {
|
|||
.expect("Unexpected channel panic in main thread.")
|
||||
{
|
||||
ToTokenizerMsg::ProcessOperation(parse_op) => {
|
||||
self.process_operation(parse_op, CanGc::note())
|
||||
self.process_operation(parse_op, can_gc)
|
||||
},
|
||||
ToTokenizerMsg::TokenizerResultDone { updated_input: _ } |
|
||||
ToTokenizerMsg::TokenizerResultScript {
|
||||
|
|
|
@ -338,7 +338,7 @@ impl ServoParser {
|
|||
}
|
||||
|
||||
/// Steps 6-8 of <https://html.spec.whatwg.org/multipage/#document.write()>
|
||||
pub fn write(&self, text: Vec<DOMString>, _can_gc: CanGc) {
|
||||
pub fn write(&self, text: Vec<DOMString>, can_gc: CanGc) {
|
||||
assert!(self.can_write());
|
||||
|
||||
if self.document.has_pending_parsing_blocking_script() {
|
||||
|
@ -361,7 +361,7 @@ impl ServoParser {
|
|||
input.push_back(String::from(chunk).into());
|
||||
}
|
||||
|
||||
self.tokenize(|tokenizer| tokenizer.feed(&input, CanGc::note()));
|
||||
self.tokenize(|tokenizer| tokenizer.feed(&input, can_gc));
|
||||
|
||||
if self.suspended.get() {
|
||||
// Parser got suspended, insert remaining input at end of
|
||||
|
@ -532,7 +532,7 @@ impl ServoParser {
|
|||
)
|
||||
}
|
||||
|
||||
fn do_parse_sync(&self, _can_gc: CanGc) {
|
||||
fn do_parse_sync(&self, can_gc: CanGc) {
|
||||
assert!(self.script_input.is_empty());
|
||||
|
||||
// This parser will continue to parse while there is either pending input or
|
||||
|
@ -546,7 +546,7 @@ impl ServoParser {
|
|||
}
|
||||
}
|
||||
}
|
||||
self.tokenize(|tokenizer| tokenizer.feed(&self.network_input, CanGc::note()));
|
||||
self.tokenize(|tokenizer| tokenizer.feed(&self.network_input, can_gc));
|
||||
|
||||
if self.suspended.get() {
|
||||
return;
|
||||
|
@ -555,7 +555,7 @@ impl ServoParser {
|
|||
assert!(self.network_input.is_empty());
|
||||
|
||||
if self.last_chunk_received.get() {
|
||||
self.finish(CanGc::note());
|
||||
self.finish(can_gc);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1353,15 +1353,7 @@ fn create_element_for_token(
|
|||
CustomElementCreationMode::Asynchronous
|
||||
};
|
||||
|
||||
let element = Element::create(
|
||||
name,
|
||||
is,
|
||||
document,
|
||||
creator,
|
||||
creation_mode,
|
||||
None,
|
||||
CanGc::note(),
|
||||
);
|
||||
let element = Element::create(name, is, document, creator, creation_mode, None, can_gc);
|
||||
|
||||
// https://html.spec.whatwg.org/multipage#the-input-element:value-sanitization-algorithm-3
|
||||
// says to invoke sanitization "when an input element is first created";
|
||||
|
@ -1389,7 +1381,7 @@ fn create_element_for_token(
|
|||
// Step 9.
|
||||
if will_execute_script {
|
||||
// Steps 9.1 - 9.2.
|
||||
ScriptThread::pop_current_element_queue(CanGc::note());
|
||||
ScriptThread::pop_current_element_queue(can_gc);
|
||||
// Step 9.3.
|
||||
document.decrement_throw_on_dynamic_markup_insertion_counter();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue